服务器多网卡配置路由,3步搞定网关冲突不丢包,三步轻松配置服务器多网卡路由,解决网关冲突与丢包问题

? ​​“某企业因双网卡网关冲突,1小时损失百万订单!”​​ 别让​​基础配置毁了业务​​!作为 ​​10年运维老兵​​,手拆多网卡 ​​5大生 *** 局​​,附 ​​命令模板+自检脚本​​,小白也能秒懂?️


⚠️ 一、90%故障的元凶:网关冲突!

✅ ​​核心矛盾​​:

系统默认​​只认1个默认网关​​ → 其他网卡流量“迷路” → 业务中断!

服务器多网卡配置路由,3步搞定网关冲突不丢包,三步轻松配置服务器多网卡路由,解决网关冲突与丢包问题  第1张

✅ ​​血泪现场​​:

bash复制
# 错误配置:两张网卡都设网关  ens33:gateway=192.168.1.1ens34:gateway=10.0.0.1→ 结果:ens34网段完全不通?  

✅ ​​自检三连​​:
1️⃣ route -n 查看默认网关(​​仅1条default路线有效​​)
2️⃣ ip route show table main 检查主路由表
3️⃣ traceroute 目标IP 追踪流量走向

​自问自答​​:能设多个默认网关吗?
​答​​:❌ ​​绝对不行!​​ 必须用策略路由分流


?️ 二、Linux策略路由四步法(附命令)

​▍ 步骤1:干掉多余网关​

bash复制
# 编辑网卡配置(仅主网卡保留网关!)  sudo vi /etc/sysconfig/network-scripts/ifcfg-ens34→ 删除GATEWAY=xxx行!?  

​▍ 步骤2:创建独立路由表​

bash复制
# 添加路由表编号(数字可自定义)  echo "101 net_route1" >> /etc/iproute2/rt_tablesecho "102 net_route2" >> /etc/iproute2/rt_tables  

​▍ 步骤3:绑定网卡与路由表​

bash复制
# 网卡1走表101  ip route add default via 192.168.1.1 dev ens33 table net_route1ip rule add from 192.168.1.100 table net_route1# 网卡2走表102  ip route add default via 10.0.0.1 dev ens34 table net_route2ip rule add from 10.0.0.100 table net_route2  

​▍ 步骤4:永久生效(关键!)​

bash复制
# 创建开机自启脚本  sudo vi /etc/rc.d/rc.local→ 粘贴步骤3命令 → chmod +x /etc/rc.d/rc.local  

→ ​​避坑​​:CentOS 7需启用rc-local服务:systemctl enable rc-local


? 三、Windows永久路由一招鲜

✅ ​​管理员CMD执行​​:

batch复制
route -p add 10.0.0.0 mask 255.255.255.0 10.0.0.1 metric 1route -p add 192.168.2.0 mask 255.255.255.0 192.168.1.1 metric 2  

→ ​​参数解析​​:

  • -p:永久生效(重启不丢)
  • metric:数值越小优先级越高⭐

✅ ​​验证命令​​:

batch复制
route print -4 | findstr 0.0.0.0→ 仅显示1default路由!  

? 四、高阶玩家必备:流量分流术

? ​​场景1:业务网卡走内网,管理网卡走公网​

bash复制
# 内网流量走ens34(优先级高)  ip route add 172.16.0.0/16 via 172.16.1.1 dev ens34 metric 100# 公网流量走ens33  ip route add default via 113.104.20.1 dev ens33 metric 200  

? ​​场景2:双网卡负载均衡​

bash复制
# 创建均衡路由表  ip route add default nexthop via 192.168.1.1 dev ens33 weight 1 nexthop via 10.0.0.1 dev ens34 weight 1  

→ ​​注意​​:需内核支持multipath

? ​​场景3:故障自动切换​

python运行复制
# 用Python检测网关状态(保存为failover.py)  import osimport timewhile True:if os.system("ping -c 1 192.168.1.1") != 0:os.system("ip route replace default via 10.0.0.1")time.sleep(60)  

​暴论​​:当“多网卡”沦为面子工程,​​90%运维根本不懂路由优先级才是命门​​!真正的稳定性从不是堆硬件—— ​​会调metric的网卡,比万兆带宽更救命​​!?