用过虚拟机的人都知道,有时候虚拟机上不了网特别闹心。比如你在公司用 VMware 装了个 Ubuntu 做测试,结果发现 ping 不通外网,传个文件还得靠共享文件夹来回倒腾,效率低得不行。其实问题很可能出在网络模式上——默认的 NAT 模式虽然简单,但虚拟机没法被外部直接访问。这时候,换成网桥(Bridge)模式就顺手多了。
什么是网桥模式?
打个比方,你的物理主机就像一栋楼,原本只有一根网线接进来,所有设备都通过路由器“分着用”。而网桥模式相当于给这栋楼多拉了一个接口,让虚拟机像另一台真实电脑一样,直接插在同一个局域网里。它能拿到独立 IP,能被其他设备访问,也能直接上网,完全不受主机 NAT 的限制。
怎么配置网桥?以 VMware Workstation 为例
打开你装好的虚拟机设置界面,在“网络适配器”那里选择“桥接模式”。注意有个细节:下方有个“复制物理网络连接状态”的选项,如果你的主机是用 Wi-Fi 上网,建议勾上它,这样主机切换网络时,虚拟机也能及时刷新连接状态。
保存设置后启动虚拟机,进入系统终端,运行:
ip addr show
看看有没有拿到和主机同网段的 IP。比如主机是 192.168.1.100,那虚拟机最好也是 192.168.1.x。如果没拿到,可能是 DHCP 没生效,手动配一个试试:
sudo ip addr add 192.168.1.105/24 dev ens33
sudo ip link set ens33 up
sudo ip route add default via 192.168.1.1
遇到连不上怎么办?
常见问题之一是无线网卡不支持混杂模式,导致桥接失败。这种情况其实在 Windows 主机上挺普遍的。解决办法不是没有:可以尝试在 VMware 的虚拟网络编辑器里手动指定网卡,选中你要桥接的无线网卡,别让它自动选。
另一个坑是防火墙。比如你在虚拟机里跑了个 Web 服务,默认监听 80 端口,以为局域网都能访问,结果手机连不上。查一圈才发现是 Linux 的 firewalld 把端口挡了。记得开一下:
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --reload
VirtualBox 用户也一样能用
打开虚拟机设置 → 网络 → 连接方式选“桥接网卡”,然后从下拉菜单里选你的物理网卡(有线或无线)。启动系统后同样检查 IP 分配情况。如果还是拿不到地址,确认一下路由器的 DHCP 是否正常,或者干脆静态分配一个。
有些人担心桥接会影响主机网络,其实大可不必。虚拟机只是“蹭”了一个 MAC 地址和 IP,流量走的是同一物理链路,只要不跑大文件传输,几乎感觉不到影响。
实际工作中,开发调试服务接口、搭建本地测试服务器、做网络安全实验,网桥模式都更方便。比如你在虚拟机搭了个 API 服务,同事在隔壁电脑直接浏览器就能调,不用绕一堆代理规则。
关键点就两个:一是正确选择桥接网卡,二是确保 IP 在同一子网。只要这两步对了,基本一次成功。