VirtualBox桥接模式下Ubuntu无法ping通Windows 10问题排查求助
解决Ubuntu虚拟机无法Ping通Windows 10的问题
先给你吃个定心丸:设置两个静态IP完全没问题,只要它们在同一网段(比如你们都是192.168.0.x),就不会冲突,所以这个不是问题根源。根据你的描述,Windows能Ping通Ubuntu、Ubuntu能Ping通网关,说明网络连通性的基础是好的,问题大概率出在Windows的防火墙或者路由器的WiFi设置上,下面一步步排查:
1. 优先检查Windows Defender防火墙(最常见原因)
Windows默认的防火墙会拦截来自局域网设备的ICMP请求(也就是Ping),尤其是当你的WiFi网络被设为“公共网络”时,限制会更严格。
临时测试(快速验证)
- 打开Windows的「控制面板」,找到「Windows Defender防火墙」
- 点击左侧的「启用或关闭Windows Defender防火墙」
- 把「专用网络设置」和「公共网络设置」都改成「关闭Windows Defender防火墙(不推荐)」
- 回到Ubuntu虚拟机,再Ping一次
192.168.0.200,如果能通,就确定是防火墙的问题了。
永久解决(安全起见,别一直关防火墙)
- 回到Windows防火墙界面,点击左侧的「高级设置」
- 右键「入站规则」,选择「新建规则」
- 规则类型选「自定义」,点击下一步
- 程序选「所有程序」,下一步
- 协议类型选「ICMPv4」,点击「自定义」,勾选「特定类型的ICMP消息」,然后选「回显请求(Ping)」,确定后下一步
- 作用域里,本地IP选「任何IP地址」,远程IP选「下列IP地址」,添加
192.168.0.0/24(你的局域网网段),下一步 - 操作选「允许连接」,下一步
- 配置文件勾选「专用」和「域」(如果不需要公共网络访问,就别勾公共),下一步
- 给规则起个名字,比如「允许局域网Ping请求」,完成。
2. 检查路由器的WiFi AP隔离功能
有些路由器默认开启了「AP隔离」(也叫客户端隔离),这个功能会让同一WiFi下的设备只能访问网关,不能互相访问。因为你的Windows是连WiFi,Ubuntu桥接的也是WiFi网卡,所以两者属于同一WiFi客户端,会被隔离。
- 打开浏览器,输入路由器后台地址
192.168.0.1,登录你的路由器管理界面 - 找到「无线设置」或者「WiFi设置」选项,找有没有「AP隔离」「客户端隔离」这类开关
- 如果是开启状态,把它关掉,保存设置后重启路由器,再测试Ping连通性。
3. 确认VirtualBox的桥接网卡选对了
有时候VirtualBox的桥接模式可能选错了网卡(比如选了有线网卡,但你实际用的是WiFi),导致Ubuntu虽然能连网关,但和Windows不在同一个网络接口上。
- 打开VirtualBox,选中你的Ubuntu虚拟机,点击「设置」
- 切换到「网络」标签页,确认「桥接适配器」的下拉菜单里,选的是Windows当前正在使用的WiFi网卡(比如名称里带有「WiFi」或者你WiFi的SSID字样)
- 如果选错了,改成正确的网卡,重启虚拟机后再测试。
4. 检查Windows的网络位置设置
如果Windows把当前WiFi网络设为「公共网络」,防火墙会默认拒绝大部分局域网请求,改成「专用网络」会宽松很多:
- 右键任务栏上的网络图标,选择「网络和Internet设置」
- 点击当前连接的WiFi名称,进入WiFi详情页
- 找到「网络配置文件」,把它改成「专用」
按照上面的顺序排查,基本上就能解决双向Ping的问题了。
内容的提问来源于stack exchange,提问作者Damian Sośnicki
相关产品推荐
相关产品推荐

