红帽网卡配置的核心在于编辑ifcfg文件或使用nmcli命令,并确保NetworkManager服务正确管理网络接口。
红帽网卡配置基础:文件路径与核心参数
红帽系Linux的网卡配置文件存放在/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<接口名>,比如ifcfg-eth0或ifcfg-enp0s3,每个文件对应一个网络接口,通过修改文件内的参数即可完成IP地址、网关、DNS等核心设置。
必知必会的ifcfg参数
DEVICE:物理设备名,必须与文件名中的接口名一致。BOOTPROTO:地址获取方式,可选static、dhcp、none,静态IP用static或none(通常static更直观)。ONBOOT:开机是否启动,yes或no。IPADDR:IP地址。PREFIX或NETMASK:子网掩码,推荐用PREFIX(如PREFIX=24)。GATEWAY:默认网关。DNS1、DNS2:DNS服务器地址。
传统配置 vs nmcli现代管理
过去,管理员直接编辑ifcfg文件,然后重启network服务,但红帽从RHEL 7开始默认使用NetworkManager,它也会读取ifcfg文件,但更推荐通过nmcli命令管理,行业共识认为,直接编辑ifcfg文件仍然有效,但若配置与NetworkManager不一致,可能引发冲突,多数情况下,使用nmcli配置更稳定,特别是在桌面环境或需要动态切换网络时。
红帽网卡配置命令:nmcli与systemctl实操
长尾词“红帽网卡配置命令”对应的核心操作就是nmcli和systemctl。nmcli是NetworkManager的命令行工具,几乎能完成所有网卡配置任务,而systemctl用于控制网络服务状态。
使用nmcli配置静态IP(实操步骤)

假设我们要将接口enp0s3配置为静态IP168.1.100/24,网关168.1.1,DNS8.8.8。
# 创建连接,命名并指定接口 nmcli connection add type ethernet con-name "static-enp0s3" ifname enp0s3 # 设置IP地址和网关 nmcli connection modify static-enp0s3 ipv4.method manual ipv4.address 192.168.1.100/24 ipv4.gateway 192.168.1.1 # 设置DNS nmcli connection modify static-enp0s3 ipv4.dns 8.8.8.8 # 激活连接 nmcli connection up static-enp0s3
con-name自定义,ifname对应物理接口。- 若已有DHCP连接,建议先删除或修改现有连接,避免冲突。
获取当前网卡信息
nmcli device status:查看所有设备状态。nmcli connection show:列出所有连接配置。ip addr或ifconfig:查看IP地址(需安装net-tools)。
重启网络服务
配置完成后,执行以下命令使改动生效:
systemctl restart NetworkManager
若你仍使用传统network服务(需先停止NetworkManager),则:
systemctl stop NetworkManager systemctl disable NetworkManager systemctl restart network
但红帽官方文档指出,长期运行建议只启用一个网络管理服务,避免冲突。
红帽网卡配置步骤:从单网卡到bonding
长尾词“红帽网卡配置步骤”是搜索高频词,这里分为单网卡常规配置和多网卡绑定(bonding)两种场景。
单网卡配置步骤(纯手工编辑)
- 使用
nmcli或vi打开ifcfg文件:vi /etc/sysconfig/network-scripts/ifcfg-enp0s3,示例:DEVICE=enp0s3 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8
- 保存文件,重启网络服务:
。
systemctl restart NetworkManager
- 验证:
ip addr show enp0s3。
红帽网卡配置bonding(绑定)
bonding将多个物理网卡虚拟成一个逻辑网卡,提供冗余或负载均衡,常见模式有mode=1(主备)、mode=0(轮询)、mode=4(802.3ad动态聚合)。
快速配置步骤(以mode=1为例):
- 创建bond接口:
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup - 将物理网卡
enp0s3和enp0s4加入bond:nmcli connection add type ethernet con-name bond0-port1 ifname enp0s3 master bond0 nmcli connection add type ethernet con-name bond0-port2 ifname enp0s4 master bond0
- 配置bond0的IP:
nmcli connection modify bond0 ipv4.method manual ipv4.address 192.168.1.200/24 ipv4.gateway 192.168.1.1 - 激活:
nmcli connection up bond0
注意: 物理网卡原配置需清空,否则可能干扰。nmcli会自动处理,但若手动编辑ifcfg,需将MASTER=bond0和SLAVE=yes写入从属网卡文件。
红帽网卡配置常见问题与排查
即使步骤正确,仍可能遇到配置不生效的情况,以下是根据业内专家经验总结的常见问题及解决方法。
问题1:配置后网络未生效
- 检查
ONBOOT=yes是否遗漏。 - 确认
BOOTPROTO与设置一致(static vs dhcp)。 - 查看错误日志:
journalctl -u NetworkManager -n 50或cat /var/log/messages | grep network。 - 使用
nmcli device connect <接口>强制激活。
问题2:NetworkManager与network服务冲突
- 若同时启用两个服务,可能导致配置混乱,建议禁用其中之一,多数服务器环境可关闭NetworkManager,保留
network服务;但现代红帽版本(如RHEL 8/9)完全依赖NetworkManager,禁用后可能影响网络管理工具。 - 解决方案:
systemctl disable network(若使用NetworkManager)或systemctl disable NetworkManager(若使用传统服务)。

问题3:bonding配置后ping不通
- 检查底层物理链路是否正常(
ethtool <接口>)。 - 确保bonding模式与交换机匹配(例如mode=4需交换机启用LACP)。
- 查看bond状态:
cat /proc/net/bonding/bond0。
红帽网卡配置Q&A常见问题
红帽网卡配置后重启丢失,如何持久化?
使用nmcli配置时,连接默认是持久化的,除非添加--temporary选项,若手动编辑ifcfg文件,确保ONBOOT=yes,并重启NetworkManager或network服务,还可以用nmcli connection modify <连接名> autoconnect yes强制自动连接。
红帽网卡配置与Ubuntu的主要区别是什么?
红帽使用ifcfg文件和NetworkManager,而Ubuntu则使用/etc/netplan/下的YAML配置(18.04后),红帽的传统风格更接近SysV,Ubuntu的netplan更声明式,但两者底层都依赖系统网络栈,多网卡绑定等高级功能配置思路类似,只是命令和文件格式不同,红帽的nmcli功能更完整,Netplan也支持通过networkd或NetworkManager渲染。
如何在红帽网卡配置中同时设置多个IP地址?
编辑ifcfg文件时,添加IPADDR0=192.168.1.100、IPADDR1=192.168.1.101,并对应PREFIX0和PREFIX1,用nmcli则使用ipv4.address参数,可以指定多个地址,逗号分隔:ipv4.address "192.168.1.100/24,192.168.1.101/24",第二个IP的网关可以不设,默认使用第一个IP的网关。
红帽网卡配置并不复杂,关键是理解NetworkManager与ifcfg文件的关系,以及掌握nmcli这一核心工具,无论是静态IP、DHCP还是bonding,遵循上述步骤都能快速稳定地完成配置。
