网络配置是 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 reload4. 验证配置
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-ens33、ifcfg-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 # 备用DNS3. DHCP 自动获取配置
TYPE=Ethernet
BOOTPROTO=dhcp # DHCP 自动获取
NAME=ens33
DEVICE=ens33
ONBOOT=yes4. 重新加载配置
nmcli c reload # 重新加载所有配置
nmcli c up ens33 # 重启指定网卡常见问题排查
Q:修改配置后网络没生效?
先检查 nmcli con reload 是否执行,然后 nmcli con up 重启连接。如果还不行,重启 NetworkManager 服务:
systemctl restart NetworkManagerQ: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,更现代化也更方便脚本化管理。
评论 (0)