睿诚科技协会

VMware CentOS网络配置IP不生效怎么办?

第一部分:VMware 网络模式选择与基础设置

在配置 CentOS 系统内部的网络之前,必须先正确配置 VMware 虚拟机的网络连接模式,这决定了你的虚拟机如何与外部网络(包括你的主机和互联网)通信。

vmware centos网络配置
(图片来源网络,侵删)

VMware 主要提供三种网络连接模式:

  1. NAT (网络地址转换)

    • 工作原理:这是最常用的模式,VMware 会创建一个私有网络(如 192.168.x.0),虚拟机通过虚拟的 NAT 服务访问外部网络,从外部看,所有虚拟机的网络请求都来自于你的主机 IP。
    • 优点:配置简单,虚拟机可以自动获取 IP 地址,无需额外设置即可访问互联网。
    • 适用场景:个人开发、测试,快速搭建环境。
  2. 桥接

    • 工作原理:虚拟机的虚拟网卡直接连接到你主机的物理网卡,相当于在局域网中增加了一台独立的物理计算机。
    • 优点:虚拟机在局域网中拥有独立的 IP,和你的主机地位平等,可以被其他设备直接访问。
    • 适用场景:需要将虚拟机作为局域网中的一台独立服务器,例如搭建 Web 服务器、文件服务器等,需要被局域网内其他机器访问。
  3. 仅主机模式

    vmware centos网络配置
    (图片来源网络,侵删)
    • 工作原理:创建一个完全隔离的私有网络,只有你的主机和虚拟机可以互相通信,无法访问外部网络。
    • 优点:安全性高,网络环境隔离。
    • 适用场景:进行安全测试、模拟隔离的网络环境。

VMware 端口组设置(以 NAT 模式为例)

  1. 在 VMware Workstation/Fusion 中,点击顶部菜单栏的“编辑” -> “虚拟网络编辑器”。
  2. 选择你正在使用的 VMnet(VMnet8,通常是 NAT 模式的默认选择),确保其模式为“NAT 模式”。
  3. 记下下方的“子网 IP”(168.10.0)和“NAT 设置”中的“网关”(168.10.2),这些信息在后续配置静态 IP 时会用到。
  4. 点击“NAT 设置”,可以检查或修改 DHCP 服务器的地址池范围,虚拟机默认会从这个池中获取 IP。
  5. 点击“确定”保存设置。

第二部分:CentOS 系统内部网络配置

我们进入 CentOS 系统内部进行配置,这里主要介绍两种方法:命令行(推荐)图形界面

命令行配置(推荐,更稳定、可控)

在 CentOS 7 及更高版本中,网络配置主要通过 NetworkManagernmcli 命令行工具来完成。

查看当前网络连接状态

查看系统中有哪些网络连接。

nmcli connection show

你会看到一个名为 ens33(或 ens160 等,取决于你的虚拟机硬件版本)的连接,这就是你的虚拟网卡。

配置为静态 IP 地址

这是服务器环境最常用的配置方式,确保 IP 地址固定不变。

步骤:

  1. 编辑连接配置 使用 nmcli 命令来修改 ens33 的配置,这里我们假设:

    • IP 地址: 168.10.100
    • 子网掩码: 255.255.0
    • 网关: 168.10.2 (这个网关是你在 VMware NAT 设置中看到的)
    • DNS 服务器: 8.8.8 (Google DNS) 和 114.114.114 (国内 DNS)
    # 连接到 ens33,并设置 IP、网关、DNS
    sudo nmcli connection modify 'ens33' \
         ipv4.method manual \
         ipv4.addresses 192.168.10.100/24 \
         ipv4.gateway 192.168.10.2 \
         ipv4.dns "8.8.8.8 114.114.114.114"
    • ipv4.method manual: 指定使用静态 IP 配置。
    • ipv4.addresses 192.168.10.100/24: 设置 IP 地址和子网掩码(/24 等同于 255.255.0)。
    • ipv4.gateway: 设置网关。
    • ipv4.dns: 设置 DNS 服务器,多个 DNS 用空格隔开。
  2. 重启网络连接使配置生效

    sudo nmcli connection down 'ens33' && sudo nmcli connection up 'ens33'

    或者更简单的命令:

    sudo nmcli connection reload
    sudo nmcli connection up 'ens33'
  3. 验证配置

    • 检查 IP 信息

      ip a show ens33
      # 或者使用 ifconfig ens33

      你应该能看到 inet 192.168.10.100/24 等信息。

    • 检查网关和路由

      ip route

      你应该能看到 default via 192.168.10.2 dev ens33 这条默认路由。

    • 检查 DNS 和测试网络连通性

      # 查看 DNS 解析配置
      cat /etc/resolv.conf
      # 测试是否能解析域名
      nslookup www.baidu.com
      # 测试是否能访问外网
      ping www.baidu.com

配置为 DHCP (自动获取 IP)

如果你想让虚拟机自动获取 IP,比如在 NAT 模式下,可以执行以下命令:

# 设置为自动获取 IP
sudo nmcli connection modify 'ens33' ipv4.method auto
# 重启网络连接
sudo nmcli connection down 'ens33' && sudo nmcli connection up 'ens33'

图形界面配置

如果你安装了 CentOS 的图形桌面环境(GNOME),可以通过图形界面进行配置。

  1. 打开设置 点击桌面右上角的网络图标,选择“有线设置” (Wired Settings)。

  2. 进入网络详情 在打开的设置窗口中,点击你当前的连接(Wired 1ens33),然后点击齿轮图标“齿轮”进入“网络详情”。

  3. 配置 IPv4 在“网络详情”页面,找到“IPv4”选项卡,将其设置为“手动”。

    • 地址:输入你想要的静态 IP,168.10.100
    • 前缀长度:输入 24 (代表子网掩码 255.255.0)。
    • 网关:输入 VMware NAT 的网关,168.10.2
    • DNS:点击右侧的“+”号,添加 DNS 服务器,8.8.8114.114.114
  4. 应用并关闭 点击右上角的“应用”按钮,系统会提示你需要一个根密码来应用这些更改,输入密码后,网络连接会短暂中断,然后应用新配置。

  5. 验证 同样可以通过在终端运行 ip aping www.baidu.com 来验证配置是否成功。


第三部分:常见问题排查

如果配置后无法上网,请按以下步骤排查:

  1. 确认 VMware 网络模式

    • 确保虚拟机的网络连接设置是 NAT桥接VMware NAT 服务 (VMware Workstation) 或 VMnetDHCP 服务正在运行。
    • 在 Windows 主机上,可以打开“服务”,找到 VMware DHCP ServiceVMware NAT Service,确保它们的状态是“正在运行”。
  2. 检查防火墙 CentOS 自带的 firewalld 防火墙可能会阻止网络连接。

    • 临时关闭防火墙(用于测试)
      sudo systemctl stop firewalld
    • 永久关闭(不推荐生产环境使用)
      sudo systemctl disable firewalld
    • 开放必要的端口(推荐做法) 如果只是外部无法访问虚拟机提供的服务(如 HTTP),可以开放相应端口。
      sudo firewall-cmd --permanent --
分享:
扫描分享到社交APP