VMware中CentOS 7虚拟机设置固定IP(NAT模式)完整教程


前言

在VMware中为CentOS 7虚拟机配置固定IP是搭建稳定服务环境的关键步骤。本文基于用户提供的最新配置文件 ,详细演示如何从DHCP自动获取IP调整为固定IP(192.168.89.129),并提供修改前后的配置对比及操作验证。


一、当前配置状态(修改前)

用户提供的配置文件路径为:

bash 复制代码
/etc/sysconfig/network-scripts/ifcfg-ens33

原始配置内容如下(已验证无语法错误):

bash 复制代码
TYPE="Ethernet"              # 网络类型为以太网
PROXY_METHOD="none"          # 不启用代理
BROWSER_ONLY="no"            # 非纯浏览器环境
BOOTPROTO="dhcp"             # 当前为DHCP自动获取IP(需修改为static)
DEFROUTE="yes"               # 启用默认路由
IPV4_FAILURE_FATAL="no"      # IPv4连接失败不影响系统启动
IPV6INIT="yes"               # 初始化IPv6
IPV6_AUTOCONF="yes"          # 自动配置IPv6
IPV6_DEFROUTE="yes"          # IPv6默认路由
IPV6_FAILURE_FATAL="no"      # IPv6连接失败不影响系统启动
IPV6_ADDR_GEN_MODE="stable-privacy"  # IPv6地址生成模式
NAME="ens33"                 # 网络接口名称
UUID="a737d1f3-a9a9-4607-bbdf-a37090445c7b"  # 设备唯一标识
DEVICE="ens33"               # 设备名称
ONBOOT="yes"                 # 开机自动启用该接口

关键问题

  1. BOOTPROTO值为dhcp,表示当前通过DHCP动态获取IP。
  2. 缺少固定IP所需参数(如IPADDRNETMASKGATEWAY等)。

二、目标配置(修改后)

需将IP设置为固定地址 192.168.89.129,并补充以下参数:

  • 子网掩码255.255.255.0
  • 网关 :需与VMware NAT模式的网关一致(一般为192.168.89.2,需验证)
  • DNS :推荐使用谷歌公共DNS 8.8.8.88.8.4.4

修改后的配置文件内容:

bash 复制代码
TYPE="Ethernet"              
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"           # 修改为静态IP模式
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="a737d1f3-a9a9-4607-bbdf-a37090445c7b"
DEVICE="ens33"
ONBOOT="yes"

# 新增静态IP参数
IPADDR=192.168.89.129       # 固定IP地址
NETMASK=255.255.255.0       # 子网掩码
GATEWAY=192.168.89.2        # 网关(需与VMware NAT网关一致)
DNS1=8.8.8.8                # 主DNS服务器
DNS2=8.8.4.4                # 备用DNS服务器

三、详细操作步骤

1. 确认VMware NAT网关

在宿主机上打开VMware:

  1. 进入 编辑虚拟网络编辑器
  2. 选择 VMnet8(NAT模式) → 点击 NAT设置
  3. 记录 网关IP (例如 192.168.89.2,需与配置中的GATEWAY一致)。

2. 修改网络配置文件

bash 复制代码
# 先备份
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens33.bak

# 使用vi编辑配置文件(需root权限)
sudo vi ifcfg-ens33

i 进入编辑模式,修改以下内容:

  • BOOTPROTO="dhcp" 改为 BOOTPROTO="static"

  • 在文件末尾添加以下参数:

    bash 复制代码
    IPADDR=192.168.89.129
    NETMASK=255.255.255.0
    GATEWAY=192.168.89.2
    DNS1=8.8.8.8
    DNS2=8.8.4.4

Esc 退出编辑模式,输入 :wq 保存并退出。

3. 重启网络服务

bash 复制代码
sudo systemctl restart network

4. 验证配置

检查IP地址
bash 复制代码
ip addr show ens33

输出中应包含 inet 192.168.89.129/24,表示固定IP生效。

测试网络连通性
bash 复制代码
ping www.baidu.com

若显示类似以下结果,说明网络配置成功:

bash 复制代码
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=128 time=45.2 ms
验证DNS解析
bash 复制代码
nslookup www.google.com

若返回IP地址,说明DNS配置正确。


四、注意事项

  1. 网关一致性

    • 必须确保 GATEWAY 与VMware中VMnet8的网关完全一致。
    • 若网关为 192.168.89.2,配置中不可写为 192.168.89.1 或其他值。
  2. IP冲突规避

    • 在VMware的虚拟网络编辑器中,检查NAT模式的DHCP范围(如 192.168.89.128-254),确保 192.168.89.129 不在该范围内。
  3. 配置文件格式

    • 键值对无需引号(如 IPADDR=192.168.89.129),但需确保无空格或拼写错误。

五、故障排查

1. 网络服务重启失败

bash 复制代码
# 查看错误日志
journalctl -xe | grep network

常见原因:

  • 配置文件语法错误(如拼写错误、参数缺失)。
  • 网关或子网掩码格式错误。

2. 能ping通IP但无法解析域名

bash 复制代码
# 临时添加DNS(测试用)
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

若问题解决,需检查配置文件中 DNS1DNS2 是否生效。


相关推荐
jieliangzi2 分钟前
Ubuntu 环境下控制蓝牙适配器
linux
徐凤年_5 分钟前
Ubuntu20.04下GraspNet复现流程中的问题
linux·python·ubuntu·ai
Stuomasi_xiaoxin5 分钟前
如何Ubuntu 22.04.5 LTS 64 位 操作系统部署运行SLAM3! 详细流程
linux·运维·ubuntu·ros·slam3
love530love7 分钟前
PyCharm 链接 Podman Desktop 的 podman-machine-default Linux 虚拟环境
linux·运维·windows·pycharm·podman
亚力山大抵1 小时前
实验2 python的TCP群聊系统实现
服务器·python·tcp/ip
李菠菜1 小时前
Linux系统分区最佳实践
linux
学术小八1 小时前
穿越链路的旅程:深入理解计算机网络中的数据链路层
linux·服务器·网络
三体世界2 小时前
Linux 管道理解
linux·c语言·开发语言·c++·git·vscode·visual studio
茉莉玫瑰花茶2 小时前
socket编程基础
linux·服务器·网络
LouisCanBe2 小时前
Python 环境管理工具选择与安装实践:Conda 与 uv
linux·python