在CentOS系统中配置多个网卡是一项常见的管理任务,通常用于实现网络负载均衡、高可用性或隔离不同类型的网络流量,正确配置多网卡不仅能提升网络的稳定性和性能,还能满足复杂的业务需求,本文将详细介绍CentOS多网卡配置的步骤、注意事项及相关技巧。

网卡识别与命名规则
在开始配置前,首先需要确认系统是否已正确识别所有物理网卡,使用ip addr或ifconfig命令可以查看当前系统中存在的网络接口,CentOS 7及更高版本默认采用ethX(如eth0、eth1)或ensX(如ens33、ens34)的命名方式,具体取决于硬件类型和BIOS设置,对于虚拟化环境,网卡名称可能以enpXsY的形式出现,确保每个网卡都有独立的配置文件,通常位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-网卡名。
配置文件的基本结构
每个网卡的配置文件包含关键参数,如DEVICE(网卡设备名)、BOOTPROTO(启动协议,通常为static或dhcp)、IPADDR(IP地址)、NETMASK(子网掩码)、GATEWAY(网关)等,为第一块网卡配置静态IP时,文件内容可能如下:
DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes
对于第二块网卡,只需修改DEVICE、IPADDR等参数即可,如果需要从DHCP服务器获取IP,将BOOTPROTO设置为dhcp,并注释掉IPADDR和NETMASK。
多网卡的绑定与聚合
为了提高网络吞吐量和冗余性,可以使用Linux的 bonding 技术将多个网卡绑定为一个逻辑接口,常见的绑定模式包括mode=0(平衡轮询)、mode=1(主备模式)和mode=6(平衡负载),配置 bonding 需要创建ifcfg-bond0文件,并在每个物理网卡的配置文件中指定MASTER=bond0和SLAVE=yes。
# ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=192.168.1.101 NETMASK=255.255.255.0 ONBOOT=yes BONDING_OPTS="mode=6 miimon=100" # ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes MASTER=bond0 SLAVE=yes
重启网络服务后,bond0接口将自动管理物理网卡的流量分配。

路由策略与多网关配置
当多个网卡连接到不同的网络时,可能需要配置策略路由或静态路由以实现流量分流,使用ip route命令可以添加特定网段的路由,
ip route add 192.168.2.0/24 via 192.168.2.1 dev eth1
若需默认路由从不同网卡出口,可通过修改/etc/sysconfig/network文件中的GATEWAY或使用policy-based routing(PBR)实现更灵活的路由控制。
防火墙与SELinux的影响
配置多网卡时,需确保防火墙(如firewalld)和SELinux的策略允许跨网卡的流量转发,可通过以下命令检查和调整:
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 accept' setsebool -P httpd_can_network_connect 1
重启防火墙和SELinux服务后,配置将生效。
故障排查技巧
若多网卡配置后无法通信,可按以下步骤排查:

- 检查
ifcfg文件中的参数是否正确,特别是ONBOOT和BOOTPROTO。 - 使用
ping和traceroute测试网络连通性。 - 查看系统日志
/var/log/messages或journalctl -u network,确认是否有驱动或服务报错。 - 验证 bonding 或聚合状态:
cat /proc/net/bonding/bond0。
FAQs
Q1: 如何在CentOS中为不同网卡配置不同的DNS服务器?
A1: 在/etc/resolv.conf中直接添加DNS配置可能被网络服务覆盖,建议在对应网卡的ifcfg文件中添加DNS1和DNS2参数(如DNS1=8.8.8.8),然后重启网络服务,若需全局DNS,可在/etc/resolv.conf中写入,并设置PEERDNS=no以避免被覆盖。
Q2: 多网卡配置后出现IP冲突怎么办?
A2: 首先使用arp -a检查局域网内是否有重复IP,确认配置文件中的IPADDR和NETMASK是否唯一,且与网络规划一致,若为动态IP,检查DHCP服务器分配范围;若为静态IP,手动修改冲突地址并重启网络服务。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复