简介:本文详细讲解CentOS7系统下配置双网卡双网关的完整流程,涵盖网络拓扑设计、路由表配置、策略路由实现及故障排查方法,帮助运维人员构建高可用网络环境。
在数据中心和企业网络环境中,单网卡单网关配置存在单点故障风险。当主网关设备故障时,会导致整个网络通信中断。双网卡双网关架构通过物理隔离和逻辑路由控制,可实现以下核心价值:
典型应用场景包括:数据库服务器双活架构、混合云网络连接、安全合规要求的内外网隔离等。
yum install -y net-tools iproute bridge-utils
建议采用以下拓扑结构:
[Server]│── eth0 (192.168.1.10/24) → GW1 (192.168.1.1)│── eth1 (10.0.0.10/24) → GW2 (10.0.0.1)
关键设计原则:
编辑网卡配置文件(以eth0为例):
vi /etc/sysconfig/network-scripts/ifcfg-eth0
典型配置内容:
TYPE=EthernetBOOTPROTO=staticNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=192.168.1.10NETMASK=255.255.255.0GATEWAY=192.168.1.1 # 注意:此处先配置主网关
配置eth1(不指定GATEWAY):
vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=EthernetBOOTPROTO=staticNAME=eth1DEVICE=eth1ONBOOT=yesIPADDR=10.0.0.10NETMASK=255.255.255.0# 重要:此处不设置GATEWAY
systemctl restart network
验证网卡状态:
ip addr show
编辑/etc/iproute2/rt_tables,在文件末尾添加:
100 table1101 table2
为eth0对应子网添加路由:
ip route add 192.168.1.0/24 dev eth0 src 192.168.1.10 table table1ip route add default via 192.168.1.1 dev eth0 table table1
为eth1对应子网添加路由:
ip route add 10.0.0.0/24 dev eth1 src 10.0.0.10 table table2ip route add default via 10.0.0.1 dev eth1 table table2
根据源IP选择路由表:
ip rule add from 192.168.1.10 lookup table1ip rule add from 10.0.0.10 lookup table2
创建脚本/etc/sysconfig/network-scripts/route-eth0:
192.168.1.0/24 dev eth0 src 192.168.1.10 table table1default via 192.168.1.1 dev eth0 table table1
创建/etc/sysconfig/network-scripts/route-eth1:
10.0.0.0/24 dev eth1 src 10.0.0.10 table table2default via 10.0.0.1 dev eth1 table table2
在/etc/rc.local中添加持久化规则:
ip rule add from 192.168.1.10 lookup table1ip rule add from 10.0.0.10 lookup table2
ip route add default via 192.168.1.1 dev eth0 metric 100ip route add default via 10.0.0.1 dev eth1 metric 200
此方案缺点:无法精确控制特定流量路径,依赖metric值选择路由
编辑/etc/sysconfig/network-scripts/route-eth0:
default via 192.168.1.1 dev eth0 metric 100
编辑/etc/sysconfig/network-scripts/route-eth1:
default via 10.0.0.1 dev eth1 metric 200
ip route showip rule show
正常输出应包含自定义路由表和规则
# 测试主网关ping -c 4 192.168.1.1# 测试备用网关ping -c 4 10.0.0.1# 测试跨网段访问ping -c 4 8.8.8.8
问题1:配置后网络不通
cat /etc/resolv.conf DNS配置tcpdump -i eth0抓包分析问题2:路由切换失败
ip rule优先级顺序/etc/iproute2/rt_tables文件权限ip route flush table table1清除错误路由问题3:重启后配置丢失
/etc/rc.local有执行权限安全加固:
性能优化:
net.ipv4.ip_forward=1net.ipv4.neigh.default.gc_thresh1=4096对于需要更精细控制的场景,可通过iptables标记实现:
# 标记HTTP流量iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 1# 为标记流量添加路由ip rule add fwmark 1 lookup table2
CentOS7双网卡双网关配置是构建高可用网络环境的基础技术。通过策略路由实现流量隔离和冗余设计,可显著提升系统可靠性。实际部署时需结合具体业务需求选择配置方案,并建立完善的监控维护体系。建议先在测试环境验证配置,再逐步推广到生产环境。