在Red Hat系统中,网络配置是系统管理的基础操作之一,正确的网络配置确保服务器能够稳定连接到网络并提供服务,Red Hat Enterprise Linux(RHEL)作为企业级操作系统,提供了多种网络配置方式,包括传统的NetworkManager命令行工具(如nmcli)和图形界面工具,以及基于配置文件的直接编辑方式,本文将详细介绍这些方法,并涵盖静态IP配置、DNS设置、网络接口管理、Bonding和VLAN配置等常见场景,最后附上相关FAQs。

使用nmcli命令行工具配置网络
nmcli是NetworkManager的命令行接口,适用于自动化脚本和远程管理,通过nmcli connection show命令查看当前网络连接列表,例如显示"ens33"这一以太网连接,若要配置静态IP,需先修改该连接的配置,假设IP地址为192.168.1.100,子网掩码为24,网关为192.168.1.1,DNS为8.8.8.8和8.8.4.4,执行以下命令:
nmcli con mod ens33 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 8.8.4.4"
配置完成后,启用连接并重启网络服务:
nmcli con up ens33 systemctl restart NetworkManager
若要切换为DHCP自动获取IP,只需将ipv4.method设置为"auto"并重新启用连接。
编辑网络配置文件
对于习惯直接修改配置文件的用户,RHEL的网络配置文件位于/etc/sysconfig/network-scripts/目录下,每个接口对应一个ifcfg文件,如ifcfg-ens33,以下是静态IP配置的文件示例:
TYPE=Ethernet BOOTPROTO=none NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4
BOOTPROTO=none表示静态IP,ONBOOT=yes确保开机自启,修改文件后,使用ifdown ens33 && ifup ens33命令重启接口,或执行nmcli con reload && nmcli con up ens33使配置生效。
网络接口高级配置
Bonding(链路聚合)
Bonding通过将多个物理接口绑定为一个逻辑接口,提高带宽和冗余性,编辑ifcfg-bond0文件:
DEVICE=bond0 TYPE=Bond BONDING_OPTS="mode=6 miimon=100" BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.101 PREFIX=24
然后为每个 slave 接口(如ens33、ens34)配置:
MASTER=bond0 SLAVE=yes ONBOOT=yes
重启网络服务后,bond0接口将实现负载均衡和故障转移。
VLAN配置
VLAN用于划分虚拟局域网,创建VLAN接口vlan100,配置文件如下:
DEVICE=vlan100 TYPE=Vlan VLAN_ID=100 PHYSDEV=ens33 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.100.10 PREFIX=24
重启接口后,该VLAN即可独立通信。
DNS与主机名配置
DNS配置可通过修改/etc/resolv.conf文件,但更推荐使用nmcli或NetworkManager管理,添加DNS服务器:
nmcli con mod ens33 ipv4.dns "114.114.114.114 8.8.8.8"
主机名配置使用hostnamectl命令:
sudo hostnamectl set-hostname rhel-server
网络服务管理
NetworkManager服务是网络配置的核心,可通过systemctl status NetworkManager查看状态,若禁用NetworkManager,需直接编辑ifcfg文件并使用ifup/ifdown管理接口,但此方式不推荐,因为会失去动态配置和热插拔支持。
常见网络问题排查
使用ip a查看接口状态,ping测试网络连通性,ss -tuln检查端口监听情况,journalctl -u NetworkManager查看日志排查错误。
相关FAQs
Q1: 修改网络配置后无法连接网络,如何排查?
A1: 首先检查配置文件语法是否正确,使用nmcli con show ens33 | grep ipv4确认IP、网关等参数,查看接口状态ip a | ens33,确认是否有IP地址,检查NetworkManager服务状态及日志journalctl -u NetworkManager -f,常见问题包括ONBOOT=no、IP冲突或DNS配置错误。
Q2: 如何配置双网卡冗余(Bonding)并实现负载均衡?
A2: 确保两块网卡(如ens33、ens34)物理正常,创建bond0接口并配置mode=6(平衡负载模式),设置miimon=100(毫秒级链路检测),将两块网卡作为slave绑定到bond0,并配置同一IP地址,重启网络后,通过cat /proc/net/bonding/bond0验证状态,若显示两块网卡均为"active",则配置成功。
