RHEL7系统网卡配置文件主要位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-(如ifcfg-eth0、ifcfg-enp0s3),配置文件包含BOOTPROTO(静态IP/DHCP)、IPADDR、NETMASK、GATEWAY、DNS等关键参数,用于设置IP地址、子网掩码、网关及DNS服务器,系统通过NetworkManager服务管理网卡配置,修改文件后需执行"systemctl restart network"或"nmcli connection reload"使配置生效。
在RHEL7(Red Hat Enterprise Linux 7)及后续版本中,网络配置是系统管理的重要环节,与早期版本相比,RHEL7引入了NetworkManager作为默认的网络管理服务,它提供了动态网络配置和连接管理功能,尽管网络管理方式有所优化,网卡配置文件仍保留在传统目录中,本文将详细说明其具体位置及相关注意事项。
网卡配置文件所在目录
RHEL7系统的网卡配置文件主要存储在 /etc/sysconfig/network-scripts/ 目录下,该目录是RHEL/CentOS系统中网络配置的核心目录,包含了系统中每个网络接口(物理网卡、虚拟网卡、bond网卡等)的独立配置文件。
目录结构说明
进入/etc/sysconfig/network-scripts/目录后,可以看到以ifcfg-开头的文件,每个文件对应一个网络接口。

ifcfg-eth0:对应第一个物理网卡(传统命名方式);ifcfg-enp0s3:对应基于UEFI的硬件命名规则(如virtio网卡,常见于虚拟机);ifcfg-bond0:对应网卡绑定(bonding)的虚拟接口;ifcfg-virbr0:对应默认的虚拟网桥(如KVM虚拟机网桥)。
目录中还可能包含其他网络相关文件,如:
ifup/ifdown:脚本文件,用于启用或禁用网络接口;network-scripts目录下的其他辅助脚本(如ifcfg-rh、route-*等)。
网卡配置文件命名规则
RHEL7支持多种网卡命名方式,具体取决于系统启动时的硬件识别顺序和命名策略,常见的命名规则包括:
传统命名(ethX)
如eth0、eth1,基于网卡在系统中的发现顺序命名,在较老的硬件或BIOS启动模式下可能使用。
固定命名(ensX、enpXsY)
RHEL7默认使用Predictable Network Interface Names(可预测网络接口名),命名规则为:
en:以太网(Ethernet);X:主板板载网卡(如o表示onboard,p表示PCIe插槽);Y:物理插槽或端口编号;sZ:子设备编号(如网卡的子接口)。
enp0s3:PCIe插槽0上的第3个端口(常见于虚拟机);ens1:主板板载的第一个网卡。
可通过ip a命令查看当前系统的网卡名称,确认对应的配置文件。
配置文件核心参数解析
以ifcfg-eth0为例,配置文件中的关键参数及其作用如下:
| 参数名 | 说明 | 示例值 |
|---|---|---|
TYPE |
网络类型,通常为Ethernet(以太网) |
TYPE=Ethernet |
BOOTPROTO |
配置协议:none(静态IP)、dhcp(动态获取)、static(静态IP,同none) |
BOOTPROTO=static |
NAME |
网络接口名称(需与文件名一致) | NAME=eth0 |
DEVICE |
网络设备名称(与NAME一致) |
DEVICE=eth0 |
ONBOOT |
是否开机启动:yes(启动)、no(不启动) |
ONBOOT=yes |
IPADDR |
静态IP地址 | IPADDR=192.168.1.100 |
NETMASK |
子网掩码 | NETMASK=255.255.255.0 |
GATEWAY |
默认网关 | GATEWAY=192.168.1.1 |
DNS1/DNS2 |
DNS服务器地址 | DNS1=8.8.8.8 |
USERCTL |
是否允许非root用户控制网卡:yes/no |
USERCTL=no |
PEERDNS |
是否从DHCP服务器获取DNS信息:yes/no(静态IP时通常设为no) |
PEERDNS=no |
配置文件的生效与管理
编辑配置文件后生效
修改/etc/sysconfig/network-scripts/下的配置文件后,需重启网络服务或重新加载连接使配置生效:
# 重启网络服务(传统方式) systemctl restart network # 或使用NetworkManager命令重新加载连接 nmcli connection reload nmcli connection up <接口名> # nmcli connection up eth0
备份配置文件
修改前建议备份原配置文件,避免配置错误导致网络异常:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
注意事项
-
NetworkManager与配置文件的关系:
RHEL7默认使用NetworkManager管理网络,它支持动态配置(如通过nmcli命令修改),直接编辑ifcfg-*文件后,NetworkManager会自动识别并应用,但建议通过nmcli或图形化工具(nmtui)修改,避免因格式错误导致配置失效。 -
虚拟网卡与bonding配置:
- 虚拟网卡(如VLAN、bonding)的配置文件命名规则与物理网卡一致,例如
ifcfg-bond0(bonding)、ifcfg-eth0.100(VLAN子接口)。 - bonding配置需额外指定
MASTER和SLAVE参数,例如MASTER=bond0、SLAVE=yes。
- 虚拟网卡(如VLAN、bonding)的配置文件命名规则与物理网卡一致,例如
-
文件权限:
配置文件通常为root所有,权限为644(-rw-r--r--),避免普通用户随意修改。
RHEL7系统的网卡配置文件统一存储在 /etc/sysconfig/network-scripts/ 目录下,每个网络接口对应一个ifcfg-*文件,通过理解文件位置、命名规则及核心参数,管理员可以灵活配置静态IP、DHCP、bonding等网络场景,在实际操作中,结合nmcli命令和nmtui工具,可更高效地管理网络连接,确保系统网络稳定运行。

