想让虚拟机里的RedHat系统成功上网,最快的方式是:在虚拟机软件中选择NAT模式,然后将RedHat系统内的网络连接方式设为DHCP自动获取IP,此方案无需手动配置,只要宿主机能联网,虚拟机即可直接访问外网。
虚拟机网络模式的选择:哪种适合你?
RedHat虚拟机能否上网,七成取决于你在虚拟机软件中选的网络模式,VMware Workstation和VirtualBox都提供了三种常见模式,它们的工作原理和适用场景差异很大。
NAT模式:最省心的默认选择
模式特点:虚拟机通过宿主机共享IP访问外网,宿主机相当于一台路由器。
适用场景:多数情况下,普通用户只想让虚拟机能正常访问互联网、下载软件包、更新系统,NAT模式完全够用,它在VMware和VirtualBox中都是默认选项,安装完系统后往往直接就能联网。
行业共识认为,NAT模式是初学者上手RedHat虚拟机的最佳起点,因为它不需要任何物理网络知识就能工作。
桥接模式:需要局域网独立身份
模式特点:虚拟机直接接入宿主机所在的物理局域网,获得一个与宿主机同网段的独立IP,相当于局域网中的一台真实电脑。
适用场景:假如你在做网络服务实验,需要让其他设备(比如手机、同事的电脑)直接访问虚拟机里的Web服务或数据库,就必须用桥接模式,NAT模式下宿主机以外的设备无法直接访问虚拟机。
桥接模式需要额外注意:虚拟机IP必须与宿主机在同一网段,网关指向路由器地址,DNS填写正确,否则会陷入“能ping通网关但上不了网”的尴尬局面。
仅主机模式:纯隔离实验环境
模式特点:虚拟机与宿主机之间构成一个私有网络,不提供外网访问能力。
适用场景:做安全测试、恶意软件分析或纯粹练习系统管理时,不想让虚拟机接触外部网络,仅主机模式是妥善选择,此模式下虚拟机默认无法上网,如果实验中需要联网,可以配合宿主机开启Internet连接共享来实现。
VMware与VirtualBox下RedHat联网的实操步骤
无论你使用哪款虚拟化软件,RedHat系统内的配置思路大致相同,但在虚拟机软件层面的操作稍微有差别。
VMware Workstation中的配置路径
- 打开VMware Workstation,选中目标RedHat虚拟机,点击“编辑虚拟机设置”。
- 进入“网络适配器”选项,勾选“NAT模式”或“桥接模式”。
- 如果是桥接模式,点击“配置”按钮,在弹窗中准确选择宿主机正在使用的物理网卡(无线网卡选Wi-Fi对应的适配器,有线选以太网)。
- 确认后启动虚拟机。
部分用户会遇到的坑是:桥接模式下勾选了“复制物理网络连接状态”,导致虚拟机在宿主机切换Wi-Fi后无法重新获取IP,此选项建议仅在笔记本电脑经常移动网络环境时勾选,固定台式机不勾选反而更稳定。
VirtualBox中的配置路径
- 选择RedHat虚拟机,点击“设置”->“网络”。
- 在“连接方式”下拉菜单中,选择“网络地址转换(NAT)”或“桥接网卡”。
- 若选桥接模式,在“界面名称”中选择宿主机实际使用的网卡,注意不要选VirtualBox自带的虚拟网卡。
- 启动虚拟机系统。
VirtualBox的NAT模式在默认情况下自带端口转发功能,适合需要在NAT模式下从宿主机访问虚拟机服务的用户,VMware的NAT则依赖VMnet8虚拟网卡实现同样的能力。
RedHat系统内部的网络配置:命令行与图形化
虚拟机软件搞定后,RedHat系统内的配置决定最终成败,RedHat 8及以后版本默认使用NetworkManager管理网络,提供了两种主流配置方式。
使用nmcli命令行工具快速配置
这是效率最高的方式,适合需要在多台虚拟机上重复配置的场景,打开终端,依次执行:
# 查看当前网络连接名称和状态 nmcli connection show # 将网络连接设为自动获取IP(DHCP) nmcli connection modify ens160 ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns "" # 重启网络连接使其生效 nmcli connection up ens160
注意:ens160是RedHat 8/9中常见的网卡名称,你的虚拟机中可能是ens33或ens5,以nmcli connection show实际输出为准。
如果想设置静态IP,命令如下:
nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 223.5.5.5,119.29.29.29
关键在于:修改IP后必须执行nmcli connection up ens160激活配置,许多用户漏了这一步,导致配置不生效。
使用nmtui图形化配置工具
对于不熟悉命令行的用户,nmtui提供了清晰的操作界面,在终端输入nmtui,回车进入交互界面:
- 选择“编辑连接”,回车。
- 选中当前有线连接(名字通常类似ens160),按回车编辑。
- 在“IPv4配置”处,将“自动”改为“手动”或保持自动,根据需要填写地址、网关和DNS。
- 在“IPv6配置”处,如果不需要IPv6,可选择“忽略”或“自动”避免干扰。
- 选择“确定”保存,然后回到主菜单选择“启用连接”,重启一次连接。
对比两者的适用性:nmcli适合批量修改和脚本自动化,nmtui适合快速手动排查问题,无论哪种方式,修改后建议执行systemctl restart NetworkManager确保全部配置加载。
排查联网失败的常见障碍
按照上述步骤配置后仍有问题,多数情况出在以下几个容易被忽略的环节。
IP地址获取异常
在RedHat终端中运行ip addr查看网卡是否获得有效IP,如果显示169.254.x.x段地址,说明DHCP请求失败,排查顺序如下:
- 检查宿主机网络是否正常,断开再重连一次Wi-Fi。
- 在虚拟机软件中,将网络适配器移除并重新添加。
- 重启NetworkManager服务:
systemctl restart NetworkManager。
路由表缺失
虚拟机拿到IP但上不了网,执行ip route查看默认网关是否存在,如果输出中没有任何default条目,说明路由配置缺失,用
nmcli connection modify重新指定网关,或直接删除连接后重新建立。
DNS解析失败
能ping通IP但不能打开网页,属于DNS设置问题,在RedHat的/etc/resolv.conf中确认nameserver记录,如果这个文件被NetworkManager覆盖为空白,使用以下方式之一解决:
- 用nmcli设置DNS后重启连接。
- 在
/etc/NetworkManager/NetworkManager.conf的[main]段中加入dns=none,然后手工编辑resolv.conf写入nameserver 223.5.5.5。
防火墙拦截
RedHat默认启用firewalld,对某些端口有严格限制,排查时先临时关闭防火墙测试:
systemctl stop firewalld
如果能上网则说明是出站规则问题,将所需服务加入白名单,然后重启防火墙,日常使用中不建议长期关闭防火墙,合理放行端口才是稳妥方案。
关于虚拟机RedHat联网的常见疑问解答
静态IP与DHCP在RedHat虚拟机中如何选择?
大多数学习与开发场景推荐DHCP自动获取,省心省力,重启虚拟机或切换宿主机网络后无需手动调整,静态IP适合搭建服务器、部署K8s集群或需要局域网内固定访问地址的场景,但静态IP容易与局域网内其他设备冲突,配置前最好先ping一下目标IP确认未被占用。
RedHat虚拟机无法连接Wi-Fi只能插网线吗?
虚拟机不能直接连接无线网卡,它只能通过宿主机物理网卡间接联网,宿主机连接Wi-Fi时,虚拟机的NAT模式或桥接模式均可以正常访问互联网,桥接模式下需正确选择无线网卡作为虚拟机的桥接接口,如果选择错误就会导致虚拟机无法获取同一网段的IP。
桥接模式为什么有时网速比NAT模式慢?
桥接模式下虚拟机数据直接暴露在物理局域网中,可能受到局域网内广播风暴、同段IP冲突等因素干扰,NAT模式通过宿主机转发数据,反而更稳定,常见解决经验是:桥接模式网速慢时,优先检查局域网内是否有IP地址冲突,其次检查宿主机无线网卡是否开启了节能模式。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/632672.html





