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


相关推荐
AlfredZhao12 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346618 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪19 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
treesforest2 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈2 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫2 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++