修改网络配置

一、修改网络配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33

2. 处理 NetworkManager 冲突

CentOS 7 中 NetworkManager 服务可能与传统网络服务冲突,执行以下命令关闭它:

1
2
systemctl stop NetworkManager
systemctl disable NetworkManager

重新启动一下就好了

systemctl restart network

验证网络连通性

  • 检查 IP 配置:ip addr
  • 测试内网连通性:ping 192.168.200.2(网关地址)
  • 测试外网连通性:ping www.baidu.com

如果仍有问题,可检查虚拟机网络模式(如 NAT 模式的网关是否与配置文件一致),或查看错误日志 journalctl -xe 进一步排查。

一、 前置准备:VMware 虚拟网络编辑器设置

在修改 CentOS 内部配置之前,必须先确认 VMware 的外部网络设置。 这是一切配置的基础。

  1. 打开 VMware Workstation -> 编辑 (Edit) -> 虚拟网络编辑器 (Virtual Network Editor)
  2. 选择 VMnet8 (NAT模式)(这是最常用的模式)。
  3. 点击 NAT 设置 (NAT Settings),记录下 网关 IP (Gateway IP)(例如:192.168.200.2)。
  4. 返回主界面,记录下 子网 IP (Subnet IP)(例如:192.168.200.0)。

注意:你在 CentOS 中设置的 IP 地址必须在“子网 IP”段内,且“网关”必须与 VMware 的 NAT 设置一致。


二、 核心配置:设置静态 IP(永久生效)

这是服务器最标准的配置方式,确保重启后 IP 不变。

1. 编辑网卡配置文件

使用 vivim 编辑默认网卡(通常是 ens33):

1
vi /etc/sysconfig/network-scripts/ifcfg-ens33

2. 修改与新增内容(关键)

请参照以下模板修改,重点关注注释部分

Properties

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
# 关键修改 1: 将 dhcp 改为 static (静态IP)
BOOTPROTO="static"  
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="<保持原有的UUID不变>"
DEVICE="ens33"
# 关键修改 2: 开机自启,必须为 yes
ONBOOT="yes"        

# --- 以下为新增/修改的网络参数 ---
# 设置具体的 IP 地址 (需在 VMnet8 子网段内)
IPADDR="192.168.200.10"  
# 子网掩码 (通常是 255.255.255.0)
NETMASK="255.255.255.0"  
# 网关 (必须与 VMware NAT 设置一致)
GATEWAY="192.168.200.2"  
# DNS 解析服务器 (建议配置,否则无法 ping 通域名)
DNS1="114.114.114.114"   
DNS2="8.8.8.8"

3. 重启网络服务

修改完成后保存退出(:wq),并重启网络:

1
systemctl restart network

三、 常见问题处理:NetworkManager 冲突

在 CentOS 7 中,NetworkManager 有时会覆盖手动修改的配置文件,导致配置不生效或报错。

推荐方案:如果是服务器环境,建议永久关闭 NetworkManager。

1
2
3
4
5
6
# 1. 停止服务
systemctl stop NetworkManager
# 2. 禁止开机自启
systemctl disable NetworkManager
# 3. 重新启动 network 服务以确保接管网络
systemctl restart network

四、 进阶配置:主机名与 Hosts 映射

1. 永久修改主机名 (推荐 Systemd 方式)

你提到的修改 /etc/hostname 是对的,但使用 hostnamectl 命令更规范,它会自动同步相关文件:

1
2
3
4
5
# 设置主机名为 node1
hostnamectl set-hostname node1

# 验证
hostname

2. 配置 Hosts 映射 (本地 DNS)

为了方便通过名字访问其他机器,编辑 /etc/hosts

1
vi /etc/hosts

添加如下内容:

1
2
192.168.200.10  node1
192.168.200.11  node2

五、 高级网络:路由与子接口 (修正与补充)

你原文档中的路由配置部分有一些命令拼写错误,以下是修正后的版本:

1. 永久配置路由 (推荐方法)

修改 /etc/sysconfig/static-routes 文件(如果不存在则新建),这种方式比写在 rc.local 更稳定。

1
vi /etc/sysconfig/static-routes

格式any net 目标网段 netmask 子网掩码 gw 下一跳网关

示例

1
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.200.2

2. 配置网卡子接口 (单网卡多 IP)

场景:一个网卡需要绑定两个不同的 IP 地址。

步骤

  1. 复制物理网卡配置文件:

    1
    2
    
    cd /etc/sysconfig/network-scripts/
    cp ifcfg-ens33 ifcfg-ens33:0
    
  2. 编辑子接口文件 vi ifcfg-ens33:0

    Properties

    1
    2
    3
    4
    5
    6
    
    DEVICE="ens33:0"   # 修改设备名
    ONBOOT="yes"
    BOOTPROTO="static"
    IPADDR="192.168.200.20"  # 新的 IP
    NETMASK="255.255.255.0"
    # UUID 行建议删除,避免冲突
    
  3. 重启网络:systemctl restart network


六、 故障排查流程 (Troubleshooting)

如果配置后无法上网,请按以下顺序执行命令排查:

  1. 检查 IP 是否生效

    1
    
    ip addr  # 此时应能看到你设置的静态IP
    

    如果看不到 IP,通常是 ONBOOT=no 没改成 yes

  2. 检查网关连通性

    1
    
    ping 192.168.200.2
    

    如果不通,检查 VMware 的“虚拟网络编辑器”设置是否正确,或者 Windows 宿主机的防火墙。

  3. 检查外网连通性 (IP)

    1
    
    ping 8.8.8.8
    

    如果不通,说明网关配置错误或 NAT 服务异常。

  4. 检查域名解析 (DNS)

    1
    
    ping www.baidu.com
    

    如果能 ping 通 8.8.8.8 但 ping 不通百度,说明 DNS1 参数未配置或配置错误。


下一步建议:

如果您在执行 systemctl restart network 时遇到具体报错(例如 Job for network.service failed),可以查看详细日志:

1
journalctl -xe

或者查看 /var/log/messages

本文采用 CC BY-NC-SA 4.0 许可协议
使用 Hugo 构建
主题 StackJimmy 设计