第一步:理解 VMware 的三种网络模式
在配置 CentOS 之前,你必须先理解 VMware 提供的三种虚拟网络模式,因为这是网络配置的基石,你可以在 VMware Workstation/Player 的 "编辑" -> "虚拟网络编辑器" 中查看和修改这些设置。

桥接模式
- 工作原理:你的虚拟机就像一台物理上独立的计算机,直接连接到你的物理网络中,VMware 会创建一个虚拟网卡,它直接“桥接”到你物理主机的真实网卡上。
- IP 地址:虚拟机将从你的物理路由器获取一个 IP 地址(通过 DHCP),或者你可以手动为它设置一个与你的物理网络在同一网段的静态 IP。
- 优点:
- 虚拟机可以和局域网内任何其他设备(如其他电脑、打印机、NAS)互相通信。
- 可以从局域网内任何一台电脑直接访问你的虚拟机。
- 缺点:
- 如果物理网络环境改变(从公司网络换到家里网络),虚拟机的 IP 可能会失效。
- 需要网络管理员的支持,如果物理网络设置了严格的访问控制,虚拟机可能无法接入。
- 适用场景:需要将虚拟机作为局域网内一个完全独立的节点时,例如搭建一个文件服务器、Web 服务器,或者需要被局域网内其他设备访问的测试环境。
NAT 模式
- 工作原理:这是最常用的模式,VMware 会创建一个私有的内部网络,虚拟机通过 VMware 提供的虚拟 NAT 服务(就像一个路由器)来访问外部网络,你的物理主机充当一个“网关”。
- IP 地址:虚拟机从 VMware 的内部 DHCP 服务器获取一个私有 IP 地址(通常是
168.x.x或0.x.x网段),物理主机可以访问虚拟机,但局域网内的其他设备默认无法直接访问虚拟机。 - 优点:
- 配置简单,虚拟机可以轻松访问互联网。
- 不需要修改物理网络任何设置,即插即用。
- 虚拟机处于一个隔离的网络中,相对安全。
- 缺点:
默认情况下,局域网内的其他设备无法直接访问虚拟机,需要手动进行端口转发。
- 适用场景:日常开发、测试,需要上网但又不希望影响物理网络,或者网络环境复杂时。
仅主机模式
- 工作原理:创建一个完全隔离的私有网络,只有你的物理主机和虚拟机可以在这个网络里通信,无法访问外部互联网。
- IP 地址:同样从 VMware 的内部 DHCP 服务器获取私有 IP 地址。
- 优点:
- 最高的安全性,完全隔离,无任何外部网络风险。
- 缺点:
无法访问互联网。
- 适用场景:进行高危操作测试、处理敏感数据、或者创建一个完全隔离的测试环境。
第二步:配置 CentOS 系统的网络
选择好网络模式后,我们开始在 CentOS 系统内部进行配置,CentOS 7/8/9 推荐使用 NetworkManager 和 nmcli 命令行工具进行管理,它比传统的 ifcfg 文件方式更现代、更简单。
获取动态 IP 地址 (DHCP)
如果你的网络环境有 DHCP 服务器(无论是物理路由器还是 VMware 的 NAT 服务),这是最简单的配置。

-
检查网络连接状态
# 查看所有网络接口及其状态 nmcli connection show
你会看到一个名为
ens33(或eth0,eno1等,具体名称可能不同) 的连接,类型是Ethernet。 -
启用 DHCP 默认情况下,网络接口通常是启用了 DHCP 的,如果没有,可以执行以下命令:
# 修改指定连接的配置,将 ipv4.method 设置为 auto (即DHCP) sudo nmcli connection modify "ens33" ipv4.method auto
-
重启网络连接使配置生效
(图片来源网络,侵删)sudo nmcli connection down "ens33" && sudo nmcli connection up "ens33"
或者直接重启 NetworkManager 服务:
sudo systemctl restart NetworkManager
-
验证 IP 地址
ip a show ens33
你应该能看到从 DHCP 服务器获取到的 IP 地址、子网掩码、网关和 DNS 服务器信息。
配置静态 IP 地址
当你需要为虚拟机设置一个固定的、永久的 IP 地址时(用于搭建服务器),就需要配置静态 IP。
-
查看当前连接信息
nmcli connection show
假设我们的连接名称是
ens33。 -
修改连接配置,设置静态 IP 你需要知道你的网络信息,包括:
- IP 地址:
168.1.100 - 子网掩码:
255.255.0(可以用前缀长度24代替) - 网关:
168.1.1 - DNS 服务器:
8.8.8和8.4.4
执行以下命令:
# 1. 设置 ipv4.method 为 manual (静态) sudo nmcli connection modify "ens33" ipv4.method manual # 2. 设置静态 IP 地址和前缀长度 sudo nmcli connection modify "ens33" ipv4.addresses 192.168.1.100/24 # 3. 设置网关 sudo nmcli connection modify "ens33" ipv4.gateway 192.168.1.1 # 4. 设置 DNS 服务器 sudo nmcli connection modify "ens33" ipv4.dns "8.8.8.8 8.8.4.4"
- IP 地址:
-
重启网络连接使配置生效
sudo nmcli connection down "ens33" && sudo nmcli connection up "ens33"
-
验证配置
# 查看IP地址信息 ip a show ens33 # 查看路由表,确认网关已设置 ip r # 测试网络连通性 (ping 一个公网地址) ping 8.8.8.8 # 测试 DNS 解析 (ping 一个域名) ping www.baidu.com
第三步:常见问题排查
如果网络不通,可以按照以下步骤排查:
-
检查 VMware 虚拟网络设置
- 打开 "虚拟网络编辑器"。
- 确认你选择的网络模式(如 NAT/Bridged)对应的 VMnet 是否被勾选并启用。
- NAT 模式:检查 "NAT 设置" 中的网关地址是否正确,虚拟机的 DHCP 设置是否启用。
- Bridged 模式:确保桥接到了正确的物理网卡上。
-
检查 CentOS 防火墙 CentOS 默认有
firewalld防火墙,可能会阻止外部访问。# 查看防火墙状态 sudo firewall-cmd --state # 如果是 running (运行中),可以临时关闭来测试 sudo systemctl stop firewalld # 或者添加一个规则允许 ICMP (ping) 和特定端口 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload
-
检查 SELinux SELinux 在极少数情况下也可能影响网络服务,但通常不是主要原因,如果怀疑,可以临时设置为宽松模式测试:
# 查看当前模式 sestatus # 临时设置为 Permissive (不会阻止操作,但会记录日志) sudo setenforce 0
注意:这只是排查手段,生产环境不建议关闭 SELinux。
-
检查网卡驱动 确保系统正确识别并加载了网卡驱动,对于 VMware 虚拟机,通常使用
vmxnet3驱动,这是默认且性能最好的。lspci | grep -i ethernet
输出中应该包含
VMware字样。
| 步骤 | 操作 | 命令/工具 |
|---|---|---|
| 选择模式 | 在 VMware 中为虚拟机选择网络模式 (Bridged/NAT/Host-only) | VMware Workstation/Player 设置 |
| 进入系统 | 登录 CentOS 系统 | 终端 |
| 查看连接 | 查看网络连接名称 | nmcli connection show |
| 配置 DHCP | 设置为自动获取 IP | sudo nmcli connection modify <连接名> ipv4.method auto |
| 配置 Static IP | 设置为手动配置 IP | sudo nmcli connection modify <连接名> ipv4.method manual sudo nmcli connection modify <连接名> ipv4.addresses <IP/前缀> sudo nmcli connection modify <连接名> ipv4.gateway <网关> sudo nmcli connection modify <连接名> ipv4.dns "<DNS1 DNS2>" |
| 应用配置 | 重启网络连接 | sudo nmcli connection down <连接名> && sudo nmcli connection up <连接名> |
| 验证 | 检查 IP 和网络连通性 | ip a, ping 8.8.8.8 |
遵循以上步骤,你就可以成功地在 VMware 中为你的 CentOS 虚拟机配置网络了,对于初学者,NAT 模式 + DHCP 是最简单易用的组合;对于需要固定地址的场景,NAT/Bridged 模式 + Static IP 则是最佳选择。
