上一篇 下一篇 分享链接 返回 返回顶部

多网卡路由优先级调整实战指南

发布人: 发布时间:23小时前 阅读量:3

背景与问题

在IDC或企业数据中心中,服务器常部署多块网卡以分离管理、业务、备份等流量。当多个网卡配置了不同网关时,操作系统默认会依据路由表Metric(跃点数)决定优先级。若Metric值设置不当,会导致数据包经由非最优链路转发,引发延迟升高、链路拥塞甚至网络中断。

路由优先级核心机制

Metric值的作用

Linux/Windows系统中,每一条静态路由或默认网关都关联一个Metric数值。数值越小,优先级越高。数据包匹配路由表时,优先选择Metric最小的条目。例如:

  • eth0网关192.168.1.1 Metric 100
  • eth1网关10.0.0.1 Metric 200

此时默认流量将走eth0。若eth0故障,系统自动切换到Metric较大的eth1。

多网关冲突场景

当两个网卡属于不同子网但都配置了默认网关时,除非显式指定Metric,否则操作系统可能使用随机或默认Metric,造成优先级混乱。常见表现:

  • 外网访问时延不稳定
  • 内网流量意外路由至公网网关
  • 管理网段无法连通

调整方法(Linux为例)

1. 临时调整(立即生效,重启失效)

使用ip route命令修改默认网关的Metric:

ip route del default
ip route add default via 192.168.1.1 dev eth0 metric 50
ip route add default via 10.0.0.1 dev eth1 metric 100

注意:删除默认路由后再添加,避免多默认路由冲突。

2. 永久调整(重启后保留)

/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS/Red Hat)或/etc/network/interfaces(Debian/Ubuntu)中添加:

对于CentOS/RHEL:

METRIC=50

配置文件保存后重启网络服务:systemctl restart network

3. 使用策略路由(复杂场景)

当需要基于源IP、协议、端口等条件选择不同出口时,策略路由更为灵活。创建自定义路由表:

echo "100 eth0_table" >> /etc/iproute2/rt_tables
ip rule add from 192.168.1.0/24 table eth0_table
ip route add default via 192.168.1.1 table eth0_table

这种方式可精确控制流量走向,避免全局Metric冲突。

Windows系统调整方法

通过route命令或图形界面修改接口跃点数:

  1. 打开“网络和共享中心” → 更改适配器设置
  2. 右键网卡 → 属性 → 双击“Internet协议版本4”
  3. 点击“高级” → 取消“自动跃点” → 手动输入跃点数(数值越小优先级越高)

也可用命令行:route -p change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 50

注意事项

  • 避免冲突:确保不同网卡配置的网关地址不重复,否则需删除冗余默认路由。
  • 链路监测:结合心跳检测或双机热备脚本,当高优先级链路中断时自动降级。
  • IPv6场景:IPv6路由优先级同样依赖Metric,调整方法类似。
  • 容器/虚拟化环境:需注意宿主机与虚拟机路由表隔离,调整策略在宿主机侧进行。

总结

合理调整服务器多网卡路由优先级是保障IDC网络高可用性的关键手段。建议运维人员根据业务流量模型,结合Metric调整或策略路由,实现精细化的流量调度。定期审计路由表配置,避免因错误配置导致业务中断。

目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com