CentOS 8 网络配置指南:nmcli 命令行与 ifcfg 配置文件详解

CentOS 8 网络配置指南:nmcli 命令行与 ifcfg 配置文件详解

李忠衍
2025-03-31 / 0 评论 / 168 阅读 / 正在检测是否收录...
网络配置是 Linux 运维的基本功。本文详细介绍 CentOS 8 的两种网络配置方式,并解释每一步的原理,让你不仅会配,还懂为什么这么配。

前置知识:NetworkManager

CentOS 8 默认使用 NetworkManager 管理网络连接,它提供统一的管理接口:

  • nmcli — 命令行工具(推荐)
  • nmtui — 文本界面工具(适合不熟命令行的人)
  • 配置文件存放在 /etc/sysconfig/network-scripts/

方法一:通过 nmcli 命令行配置(推荐)

1. 查看当前网络状态

nmcli dev status              # 查看所有网络设备状态
nmcli con show                # 查看所有连接配置
nmcli con show --active       # 查看当前活跃连接

输出解读:

  • DEVICE — 网卡名称(如 ens33、eth0)
  • TYPE — 连接类型(ethernet 以太网)
  • STATE — connected 已连接 / disconnected 未连接

2. 配置静态 IP 地址

# 修改连接名为 ens33 的网卡为静态 IP
nmcli con mod ens33   ipv4.addresses 192.168.1.100/24   ipv4.gateway 192.168.1.1   ipv4.dns "8.8.8.8 114.114.114.114"   ipv4.method manual

# 如果想用 DHCP(自动获取IP)
nmcli con mod ens33 ipv4.method auto

参数说明:

  • ipv4.addresses — IP 地址 + 子网掩码前缀长度(CIDR 格式)
  • ipv4.gateway — 默认网关
  • ipv4.dns — DNS 服务器,多个用空格隔开
  • ipv4.method manual — 手动配置(auto=DHCP)

3. 重启网络连接使配置生效

nmcli con down ens33          # 关闭连接
nmcli con up ens33            # 开启连接(配置生效)

# 或者直接 reload
nmcli con reload

4. 验证配置

ip addr show ens33            # 查看 IP 地址配置
ip route show                 # 查看路由表
ping -c 4 8.8.8.8             # 测试外网连通性
ping -c 4 baidu.com           # 测试 DNS 解析

方法二:通过 ifcfg 配置文件修改(传统方式)

1. 找到对应的配置文件

ls /etc/sysconfig/network-scripts/ifcfg-*

通常文件名格式为 ifcfg-ens33ifcfg-eth0 等。

2. 静态 IP 配置示例

# /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static              # 静态IP(dhcp=自动获取)
NAME=ens33
DEVICE=ens33
ONBOOT=yes                    # 开机自动启用

IPADDR=192.168.1.100          # IP 地址
NETMASK=255.255.255.0         # 子网掩码
GATEWAY=192.168.1.1           # 默认网关
DNS1=8.8.8.8                  # 首选DNS
DNS2=114.114.114.114          # 备用DNS

3. DHCP 自动获取配置

TYPE=Ethernet
BOOTPROTO=dhcp                # DHCP 自动获取
NAME=ens33
DEVICE=ens33
ONBOOT=yes

4. 重新加载配置

nmcli c reload                # 重新加载所有配置
nmcli c up ens33              # 重启指定网卡

常见问题排查

Q:修改配置后网络没生效?

先检查 nmcli con reload 是否执行,然后 nmcli con up 重启连接。如果还不行,重启 NetworkManager 服务:

systemctl restart NetworkManager

Q:ip addr 看到 IP 了但 ping 不通网关?

检查子网掩码是否配置正确,以及网关 IP 是否在同一网段。例如 IP 是 192.168.1.100/24,网关必须是 192.168.1.x。

Q:能 ping IP 但 ping 不通域名?

DNS 配置问题。检查 /etc/resolv.conf 是否包含正确的 DNS 服务器,或者用 nslookup baidu.com 测试解析。


💡 nmcli 是 CentOS/RHEL 8/9 推荐的方式,ifcfg 是传统方式但依然可用。建议熟悉 nmcli,更现代化也更方便脚本化管理。

2

评论 (0)

取消