配置VM在Linux上的网络:桥接、NAT、仅主机模式详解
1. 引言
本文旨在为Linux新手提供一份快速、直接、可操作的VM网络配置指南。通过整理VMware三种网络模式的配置方案,帮助你快速解决"为什么其他机器无法访问VM"、"为什么VM无法上网"等常见问题。文章不涉及广告推广,只提供可直接复制粘贴的配置命令,让你少走弯路,专注于技术本身。
2. VMware基础介绍
2.1 基本信息
表格
| 项目 | 详情 |
|---|---|
| 软件名称 | VMware Workstation Pro |
| 最新版本 | 17.5.0 (截至2023年) |
| 官网地址 | www.vmware.com/products/wo… |
| 下载地址 | 官网下载页面 |
| 适用系统 | Windows 10/11, Linux |
2.2 安装步骤(以Windows 10为例)
- 下载安装包后双击运行
- 接受许可协议 → 选择"典型安装"
- 安装完成后重启电脑
- 首次启动时会提示激活(免费试用30天,企业版需购买)
💡 注意:安装过程中无需额外安装VMware Tools(Linux VM安装后可单独安装)
2.3 VMware三种网络模式对比
表格
| 模式 | 网络拓扑 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|
| 桥接模式 | VM直接接入物理网络 | 需要被局域网其他设备访问(如服务器测试) | • 与宿主机同网段 • 其他设备可直接访问 | • 占用IP资源 • 需手动配置IP |
| NAT模式 | VM通过宿主机NAT上网 | 日常开发/办公(VM需上网但无需被访问) | • 自动获取IP • 无需额外配置 | • 无法被其他设备访问 • 需端口映射 |
| 仅主机模式 | VM与宿主机独立虚拟网络 | 安全测试/内网隔离环境 | • 完全隔离外部网络 • 无安全风险 | • 无法访问外网 • 仅限宿主机通信 |
3. 三种网络模式配置示例
环境说明
- 宿主机:Windows 10 (IP:
192.168.110.172)- VM:CentOS 7.9 (Linux)
- 物理网卡:
Realtek PCIe GbE Family Controller- 局域网网关:
192.168.110.1- 子网掩码:
255.255.255.0
3.1 桥接模式:让VM与宿主机同网段(其他设备可访问)
场景:需要让192.168.110.0/24网段的其他设备(如手机、其他电脑)直接访问VM
步骤 1:配置VMware虚拟网络
- 打开VMware → 点击"编辑" → "虚拟网络编辑器"
- 选择
VMnet0→ 选择"桥接模式" → 桥接到Realtek PCIe GbE Family Controller - 取消勾选 "复制物理网络连接状态"(避免主机断网时VM也断网)
- 点击"应用" → "确定"
步骤 2:配置VM的Linux网络
bash
编辑
# 覆盖网络配置文件
cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="3e653f1d-f955-4d4e-82e7-259b0b5399cd"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.110.100
GATEWAY=192.168.110.1
NETMASK=255.255.255.0
DNS1=192.168.110.1
EOF
# 重启网络服务
systemctl restart network
步骤 3:验证
bash
编辑
# 查看IP
ip addr show ens33
# 测试连通性
ping 192.168.110.172 # 宿主机
ping 192.168.110.1 # 网关
ping 8.8.8.8 # 外网
✅ 结果:VM的IP为
192.168.110.100,同网段其他设备可直接通过ping 192.168.110.100访问
3.2 NAT模式:VM通过宿主机上网(无需被其他设备访问)
场景:VM只需上网(如安装软件),无需被局域网设备访问
步骤 1:配置VMware虚拟网络
- 打开VMware → 点击"编辑" → "虚拟网络编辑器"
- 选择
VMnet8→ 保持"NAT模式"(默认已设置) - 点击"应用" → "确定"
步骤 2:配置VM的Linux网络(自动获取IP)
bash
编辑
# 确保配置为DHCP
cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="3e653f1d-f955-4d4e-82e7-259b0b5399cd"
DEVICE="ens33"
ONBOOT="yes"
EOF
# 重启网络服务
systemctl restart network
步骤 3:验证
bash
编辑
# 查看IP(应为192.168.80.x)
ip addr show ens33
# 测试外网
ping 8.8.8.8
✅ 结果:VM通过宿主机NAT上网,但无法被其他设备访问(需端口映射才可被访问)
3.3 仅主机模式:VM与宿主机隔离(无法访问外网)
场景:需要安全测试环境(如渗透测试),VM与外部网络完全隔离
步骤 1:配置VMware虚拟网络
- 打开VMware → 点击"编辑" → "虚拟网络编辑器"
- 选择
VMnet1→ 选择"仅主机模式" - 点击"应用" → "确定"
步骤 2:配置VM的Linux网络
bash
编辑
# 设置仅主机模式IP
cat > /etc/sysconfig/network-scripts/ifcfg-ens33 << EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="3e653f1d-f955-4d4e-82e7-259b0b5399cd"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.213.10
NETMASK=255.255.255.0
EOF
# 重启网络服务
systemctl restart network
步骤 3:验证
bash
编辑
# 查看IP(应为192.168.213.x)
ip addr show ens33
# 测试宿主机连通性
ping 192.168.213.1 # 宿主机VMnet1 IP
# 测试外网(应失败)
ping 8.8.8.8
✅ 结果:VM与宿主机互通(IP
192.168.213.10),但无法访问外网
4. 总结与建议
4.1 三种模式选择指南
表格
| 需求 | 推荐模式 | 关键配置 |
|---|---|---|
| 需要被局域网其他设备访问 | 桥接模式 | 静态IP + 桥接到物理网卡 |
| VM只需上网(无需被访问) | NAT模式 | 保持DHCP(默认) |
| 需要安全隔离环境 | 仅主机模式 | 设置静态IP(192.168.213.x) |
4.2 常见问题解决
- "VM无法上网" → 检查NAT模式是否启用(VMnet8)
- "其他机器无法访问VM" → 确认是否为桥接模式 + 同网段IP
- "IP冲突" → 选择未被占用的IP(如
192.168.110.100) - "防火墙拦截" → 临时关闭防火墙测试:
systemctl stop firewalld
4.3 最佳实践
- 桥接模式:使用
192.168.110.100-200范围IP,避免与现有设备冲突 - NAT模式:无需手动配置,除非需要固定IP
- 仅主机模式:IP范围固定为
192.168.213.0/24 - 所有模式:配置后务必执行
systemctl restart network
💡 技术提示:
- VMware的
VMnet0(桥接)、VMnet8(NAT)、VMnet1(仅主机)是固定名称,不要随意修改- Linux的
ens33是网卡名,若为eth0需替换为对应名称(ip addr查看)
本文无任何广告,仅为技术交流。通过本指南,你已掌握VM网络配置的核心方法。如需进一步验证,可使用traceroute或nmap扫描网络。网络配置是基础但关键的技能,希望这份指南能为你节省大量调试时间。