虚拟机联网最省心的方案是NAT模式,它靠主机共享IP上网,不需要任何额外配置;想要虚拟机被局域网其他设备访问,才需要改桥接模式。 大多数人折腾虚拟机网络失败,不是设置不对,而是没搞懂这两种模式的本质区别,跟着下面的步骤走,五分钟内让虚拟机正常上网。
先搞懂三种模式的底层逻辑,再动手配置
很多人上来就改配置,结果越改越乱,虚拟机网络配置这事儿,先花两分钟搞清楚原理,比瞎试半小时管用得多,VMware和VirtualBox的核心逻辑一致,但具体按钮位置有差异,下面分开讲。
NAT模式:虚拟机躲在主机身后上网
NAT(网络地址转换)模式下,你的物理主机扮演路由器角色,虚拟机的流量先发给主机,再由主机转发到外网,对外部网络来说,只看到主机的IP,看不到虚拟机。
- 优点:完全不需要局域网环境,只要有网就能用,不怕IP冲突
- 适用:日常开发、测试软件、搭建实验环境,绝大多数单机场景
- 速度感知:多了一层转发,跑满千兆宽带会打点折扣,日常使用感知不强
桥接模式:虚拟机变成局域网里的独立设备
桥接模式把虚拟机的网卡直接“插”到你家的路由器上,虚拟机向路由器单独要一个IP,和主机是平级关系,处于同一个网段。
- 优点:虚拟机可以被局域网内其他设备直接访问,适合搭服务器、联机调试
- 缺点:需要路由器有多余IP可分,遇到严格绑定MAC地址的Wi-Fi环境(比如校园网)会连不上
- 行业共识认为:追求极限传输性能的场景优先选桥接,文件拷贝吞吐量明显更高
仅主机模式:虚拟机与世隔绝的孤岛
这种模式只允许虚拟机和主机通信,虚拟机访问不了外网,外网也找不到它,除非你想搞一个完全隔离的病毒分析环境,否则日常用不上。
虚拟机NAT模式怎么设置:一步一步照做
以VMware Workstation为例,这是最主流的虚拟机软件,如果你用的VirtualBox,后面也会给到对应操作路径。
第一步:检查虚拟机的网络适配器设置
- 在虚拟机列表界面,右键点击你的虚拟机名称,选择“设置”
- 在弹出的窗口中找到“网络适配器”,选中“NAT模式”,点击确定
- 如果你在配置的时候虚拟机是开着的,需要重启虚拟机才能生效
第二步:确认虚拟机的虚拟网络编辑器是默认状态
有人在网上看到“优化NAT”教程,把虚拟网络编辑器改得乱七八糟,反而上不了网,绝大多数情况下,默认设置就是最稳的。
- 在VMware顶部菜单栏点击“编辑”,选择“虚拟网络编辑器”
- 看右下角“更改设置”,点它,会弹出管理员权限确认
- 找到VMnet8这一行,它就是NAT模式专用虚拟网卡,确认类型是“NAT模式”,子网IP保持默认(通常是192.168.x.0),记住这个网段,后面排查要用
第三步:虚拟机内部开启DHCP自动获取IP
如果你装的是Windows虚拟机,进入系统后,右键网络图标→打开“网络和Internet设置”→更改适配器选项→双击“以太网”→属性→双击“Internet协议版本4(TCP/IPv4)”→确保选中“自动获取IP地址”和“自动获取DNS服务器地址”。
如果是Linux虚拟机(以Ubuntu为例),检查配置文件:
sudo nano /etc/netplan/00-installer-config.yaml
确保里面的网络配置为:
network:
ethernets:
ens33:
dhcp4: true
version: 2
保存后执行 sudo netplan apply 让配置生效。
第四步:验证连通性
打开虚拟机的命令提示符(或终端),依次执行以下命令:
- 执行
ping 192.168.x.1,能通说明虚拟机到自己网关没问题 - 执行
ping 8.8.8.8,能通说明NAT转发正常 - 执行
ping www.baidu.com,能通说明DNS解析正常
哪一步断了,就去排查对应的环节,第二步断了查VMnet8网卡,第三步断了查DNS设置。
虚拟机桥接模式连不上网?故障排查三板斧
桥接模式是出问题最多的,尤其是用无线网的笔记本,如果你切换桥接后虚拟机无法上网,按下面顺序排查,解决90%的问题。
排查网卡选错的问题
这是笔记本用户最常见的坑,VMware桥接模式需要明确指定桥接到哪块物理网卡,你的机器如果同时有有线网卡和无线网卡,桥接错了就不通。
- 打开“虚拟网络编辑器”,点击“更改设置”
- 选中VMnet0,在“桥接到”下拉菜单中选择你当前正在使用的那块网卡
- 连着Wi-Fi就选“Intel Wireless”开头或带“Wireless”的选项,插着网线就选“Realtek”“Intel I219”这类有线网卡
排查主机防火墙拦截
Windows自带的防火墙有时会拦截虚拟机流量,这里不建议直接关防火墙裸奔,而是放行特定规则:
- 控制面板→Windows Defender防火墙→高级设置
- 点击“入站规则”,找到所有前缀带“VMware”的规则,确认状态为“允许”
- 如果之前修改过规则,点击右键“还原默认设置”更省事
排查路由器AP隔离设置
部分无线路由器默认开启“AP隔离”功能,导致设备之间无法互相访问,登录路由器后台(一般是192.168.1.1),找到“无线设置”或“访客网络”,关掉“AP隔离”,这个设置对网线连接不生效,所以经常有人插网线能通、用Wi-Fi就不通。
特殊场景:虚拟机连接网络怎么设置才能兼顾内外网
搞定基本联网后,你会遇到一些进阶需求,这里讲两个最常见的:固定IP和双网卡。
给NAT模式配置固定IP
DHCP虽然省事,但每次重启IP可能变,连SSH工具、配数据库连接会很难受。
Windows虚拟机固定IP方法:
在IPv4设置里,手动填写:
- IP地址:192.168.x.100(这里x写你刚才记下的VMnet8网段号,100随便填一个没被占用的数)
- 子网掩码:255.255.255.0
- 默认网关:192.168.x.1(也就是VMware虚拟路由器的地址,这个固定不变)
Linux虚拟机固定IP方法: 修改NetworkManager或netplan配置同理,gateway4写192.168.x.1,重点要配一个和主机同网段的DNS,比如114.114.114.114。
虚拟机NAT模式上不了网的真实案例:双网卡冲突
我在实际运维中遇到过一种情况:服务器装了两块网卡,一块连内网,一块连外网,虚拟机设好后有时能上外网,有时突然就断了。
排查思路是看路由表,打开命令行执行 route print,看是不是系统把默认流量路由到了内网网卡上,解决办法是在虚拟机里手动写一条静态路由,强制外网流量走VMnet8那个网关,命令如下:
route add 0.0.0.0 mask 0.0.0.0 192.168.x.1 metric 10
执行后重启虚拟机网络服务,问题马上解决。
笔记本电脑用Wi-Fi时的NAT模式特殊配置
笔记本连着公司Wi-Fi或校园网,这种网络环境往往限制一台设备只能登录一个账号,虚拟机如果用桥接,会被当成新设备踢下线。
这时候NAT模式就是唯一解,但有个坑:部分无线网卡驱动会对NAT流量做特殊过滤,导致VMnet8收不到数据。
- 打开“网络连接”窗口(win+R输入ncpa.cpl)
- 找到你的Wi-Fi网卡,右键→属性→共享选项卡
- 勾选“允许其他网络用户通过此计算机的Internet连接来连接”,在“家庭网络连接”下拉框中选中“VMware Network Adapter VMnet8”
这个设置会让Windows自带的ICS服务接管虚拟机的网络共享,等于给NAT加了一道保险。
热门问答区域:虚拟机网络配置常见问题精讲
问:虚拟机和主机能互访,但虚拟机访问不了互联网,是什么原因?
大概率是DNS配置问题,而非网络不通,尝试在虚拟机内将DNS服务器改为公共DNS:IPv4设置里,手动填入114.114.114或5.5.5,若仍无效,检查主机的Internet连接共享是否将VMnet1误选为共享对象,正确对象应该是VMnet8,还有一种少见但存在的情况是校
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/628260.html





