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 是否生效。


相关推荐
keson要进步几秒前
CICD实战(一) -----Jenkins的下载与安装
运维·ci/cd·centos·自动化·jenkins
keson要进步1 分钟前
CICD实战(二)-----gitlab的安装与配置
linux·运维·gitlab
藥瓿亭15 分钟前
K8S认证|CKS题库+答案| 4. RBAC - RoleBinding
linux·运维·服务器·云原生·容器·kubernetes·cks
吐泡泡_31 分钟前
Linux(线程控制)
linux
云计算-Security1 小时前
如何理解 IP 数据报中的 TTL?
网络协议·tcp/ip
tasselyue1 小时前
Macbook M3 使用 VMware Fusion 安装 openEuler24.03LTS
linux
行止62 小时前
MySQL主从复制与读写分离
linux·数据库·mysql
HEX9CF2 小时前
【Linux】awk 命令详解及使用示例:结构化文本数据处理工具
linux·chrome·算法
labuladuo5202 小时前
Linux命令基础(2)
linux
yi个名字2 小时前
Linux文件系统详解:从入门到精通
linux·运维·服务器