双网关的工作原理
双网关配置通过为服务器分配两个独立的默认网关(Default Gateway),利用路由策略实现流量分流或备份,常见应用场景包括:
# 查看当前网络接口索引号
Get-NetIPConfiguration
# 添加主网关(跃点数低优先级高)
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 10 if <接口索引号>
# 添加备用网关(跃点数高优先级低)
route add 0.0.0.0 mask 0.0.0.0 192.168.1.2 metric 20 if <接口索引号>
Linux服务器双网关设置步骤
通过iproute2工具配置策略路由
-
编辑网络配置文件(以CentOS为例):
vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加以下内容:
GATEWAY=192.168.1.1 # 主网关
-
创建路由策略规则文件:
vi /etc/iproute2/rt_tables
添加自定义路由表:
200 backup_gateway # 名称可自定义
-
配置备用网关的路由表:
ip route add default via 192.168.1.2 dev eth0 table backup_gateway ip rule add from 192.168.1.100 lookup backup_gateway # 指定源IP使用备用网关
-
保存配置并重启网络服务:
systemctl restart network
关键注意事项
-
避免IP冲突
两个网关的IP必须属于同一子网,且与服务器IP在同一网段。
-
路由优先级设置
跃点数(Metric)越小,优先级越高,Windows默认自动分配,Linux需手动指定。
route print -4 # 查看路由表中是否存在两个默认网关
tracert 8.8.8.8 # 观察流量路径是否按预期切换 -
Linux验证方法
ip route show # 查看主路由表 ip route show table backup_gateway # 查看备用路由表
常见问题排查
- 无法切换网关:检查跃点数或路由规则优先级。
- 部分应用无法访问:可能是策略路由未覆盖所有源IP,建议使用
ip rule
添加多规则。 - 网络延迟高:启用负载均衡时需确保两个网关带宽一致。
引用说明
本文参考了微软官方文档《Windows Server网络配置指南》及Linux内核社区《iproute2高级路由管理》,实操前建议备份原有配置,并在测试环境中验证。