虚拟机下Linux装好了却上不了网?核心答案:绝大多数情况是VMware的网络模式选错,或Linux系统内的网络服务没启动、IP没配置对。 把虚拟网络编辑器里的NAT模式设置好,并在系统内用dhclient或nmtui重新获取IP,问题基本能解决。
百度VMware虚拟机安装Linux后连不上网?先检查这两种网络模式
很多朋友第一次装完CentOS或Ubuntu,点开浏览器发现没网,第一反应是系统坏了,其实虚拟机上网和物理机原理不一样,VMware的虚拟网络编辑器是第一个要排查的地方,行业共识认为,超过七成的虚拟机联网失败案例,根源都出在虚拟网卡的工作模式上。
VMware提供三种常见模式:桥接模式、NAT模式、仅主机模式,对新手最友好的是NAT模式,它让虚拟机通过物理机的IP地址共享上网,不需要向路由器额外申请IP。
- NAT模式:虚拟机用虚拟网卡VMnet8,由VMware自带DHCP服务分配IP,物理机能上网,虚拟机就能上网。
- 桥接模式:虚拟机直接暴露在局域网中,需要路由器分配独立IP,如果路由器绑定了MAC地址过滤,桥接模式容易失败。
- 仅主机模式:只能和物理机通信,天然上不了外网,常用于隔离测试。
如果你用的是NAT模式却依然没网,把虚拟网络编辑器里的VMnet8子网IP改成192.168.x.0网段,同时确认DHCP服务处于启用状态,有相当一部分人遇到过重装VMware后虚拟网卡消失的情况,此时打开“编辑”->“虚拟网络编辑器”,点击左下角“还原默认设置”,虚拟网卡会重新生成。
虚拟机Linux设置静态IP的实操步骤(NAT模式为例)
动态IP虽省事,但重启虚拟机后IP地址容易漂移,SSH连接会失效。
让虚拟机Linux固定IP,是长期使用的必经之路,下面以CentOS 7/8为例,Ubuntu用户可参照执行但配置文件路径不同。
第一步:修改网卡配置文件
先查看当前网卡名:
ip addr
常见网卡名是ens33或ens160,然后编辑对应配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
把BOOTPROTO改为static,ONBOOT改为yes,并追加以下内容:
IPADDR=192.168.44.100 NETMASK=255.255.255.0 GATEWAY=192.168.44.2 DNS1=114.114.114.114 DNS2=8.8.8.8
注意网关地址必须和VMware虚拟网络编辑器里NAT设置页显示的网关一致,很多人修改了IPADDR但忘记核对GATEWAY,导致虚拟机内网能通,外网死活出不去。
第二步:重启网络服务
systemctl restart network
CentOS 8及以上可能需要用:
nmcli c reload
如果提示network服务不存在,说明系统默认用的是NetworkManager,执行systemctl restart NetworkManager即可。用systemctl status network查看服务状态,输出active(running)才说明网卡服务正常运行。
第三步:验证网络连通性
ping -c 4 114.114.114.114 ping -c 4 www.baidu.com
第一条通、第二条不通,说明DNS解析没配好,检查DNS1配置是否正确,或者临时用echo "nameserver 223.5.5.5" > /etc/resolv.conf试一下。
虚拟机CentOS配置完网络依旧掉线怎么办?排查清单逐一击破
静态IP配好了,结果第二天开机又断了,别急着重装系统,按这份排查清单走一遍,多数问题都出在下面几个不起眼的细节里。
物理机防火墙拦截了虚拟网卡通信
Windows自带的防火墙有时会拦截VMware的DHCP请求,打开“控制面板”->“Windows Defender防火墙”->“允许应用通过防火墙”,找到VMware NAT Service和VMware Authorization Service,把专用和公用勾选都打上。
虚拟机内NetworkManager和network服务冲突
CentOS 7同时启用两个网络管理服务,会导致配置文件被反复覆盖。建议只保留NetworkManager,执行:
systemctl disable network systemctl enable NetworkManager
然后重启虚拟机,如果是纯命令行环境没有图形界面,用nmtui命令打开网络管理界面,选择“编辑连接”,检查自动连接选项是否勾选。
网卡MAC地址与配置文件绑定不一致
用ip addr查看当前MAC地址,再对比ifcfg-ens33里的HWADDR字段,如果虚拟机做过克隆,MAC地址变了但配置还写着旧地址,把HWADDR字段删除或更新为新值,然后重启网络。
VMware虚拟网络编辑器里的DHCP租约过期
打开虚拟网络编辑器,选择VMnet8,点击“DHCP设置”,把默认租约时间从30分钟改到9999分钟,这招能根治“虚拟机开机一段时间后突然断网”的疑难杂症。
多数情况下,断网问题集中在网卡驱动和VMware服务这两层,物理机的VMware NAT Service进程若被安全软件优化过,虚拟机的网络连接就会时断时续,重新安装VMware或恢复服务启动项即可。
让虚拟机Linux保持稳定联网的3个习惯
把网络配置好只是第一步,日常使用中养成以下习惯,能避免不少折腾。
- 定期快照:在虚拟机设置好网络、安装必要软件后,顺手打一个快照,以后网络配置坏了,直接回滚快照,不用重装系统。
- 关闭虚拟机而非挂起:挂起恢复后,部分Linux发行版的网络服务会失效,彻底关机再开机,网络初始化更干净。
- 使用桥接模式时先查网关:家用路由器如果开启了AP隔离,桥接模式的虚拟机会被路由器拒绝,表现为能ping通网关但无法访问外网。
关于虚拟机Linux网络配置,你可能会问的3个问题
虚拟机Linux桥接模式与NAT模式哪个上网速度更快?
NAT模式通过物理机转发数据,理论速度略低于桥接模式直接访问局域网,但在大多数家庭宽带场景下,两种模式的外网速度感知几乎无差别,如果虚拟机需要与局域网内其他设备(如NAS、打印机)通信,选桥接模式;如果只是上网冲浪、装软件,NAT模式更省心,还不会占用路由器IP名额。
为什么虚拟机内能ping通百度IP,但浏览器打不开网页?
这说明网络链路正常,DNS解析环节出了问题,检查/etc/resolv.conf文件,确认nameserver地址可访问,有时系统自带的systemd-resolved会占用127.0.0.53端口,导致自定义DNS不生效,停用systemd-resolved并手动写入正确DNS即可。
虚拟机重启后IP地址变了,SSH登录老是要改IP怎么办?
这就是需要配置静态IP的典型场景,按本文第二部分设置静态IP,并将VMware虚拟网络编辑器里的DHCP租约时间调到最长,同时确保ifcfg-ens33文件里的BOOTPROTO=static,只要网关和子网掩码与虚拟网卡匹配,重启后IP就不会变。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/722702.html





