服务器企业版多网卡情况下默认路由或静态路由配置管理方案
服务器企业版多网卡情况下默认路由或静态路由配置管理方案
应用场景
OS版本信息:服务器企业版
软件信息:NetworkManager管控下的默认路由静态路由管理
重点:对默认路由静态路由的操作永久生效
场景:在客户生产环境中,经常会遇到通过多网卡来分别处理内外网业务的场景,而在检查路由的时候会发现存在多条默认路由,这时路由设置至关重要,稍有不慎就会出现网络不通或网络服务起不来的情况。
如图为多网卡情况下,存在多个默认路由的情况
使用nmcli管理默认路由或静态路由
通过nmcli配置的默认路由或静态路由为永久生效的,即网络或系统重启后依然存在
允许自动添加默认路由
nmcli con modify conn_name ipv4.never-default no #默认情况下,该参数即为no,也就是会为该网卡自动添加0.0.0.0的默认路由
nmcli con up conn_name #使配置生效
禁止自动添加默认路由
nmcli c modify conn_name ipv4.never-default yes #设置为yes,将不会为该网卡自动添加0.0.0.0的默认路由
nmcli c up conn_name #使配置生效
添加静态路由
nmcli c modify conn_name [+]ipv4.routes 'ip/prefix gateway' #ipv4.routes前的有‘+’作为前缀或无前缀,表示add
删除静态路由
nmcli c modify conn_name -ipv4.routes 'ip/prefix gateway' #ipv4.routes前面有‘-’作为前缀,表示remove
路由表常用操作汇总
查询路由表
route -n
ip route #和以下两个带参数的查询效果一模一样
ip route show
ip route list
删除路由(网卡重启后会自动恢复)
使用route删除
route del -net ip netmask mask
使用ip route删除
ip route del default via 192.168.3.1
删除路由(永久生效)
使用nmcli删除
(无法删除默认路由和系统自动生成的其他直连路由,只可删除一般的静态路由)
nmcli c modify connection_name -ipv4.routes ‘172.16.3.0/24 172.16.3.1’
禁止NetworkManager自动添加静态路由
ipv4.never-default yes
nmcli c modify connection_name ipv4.never-default yes
一个此类问题解决方案案例
问题现象
以下现象只是众多问题中的一个,本文针对的应该是更广泛的多网卡的使用情景,大家参考时不要被此应用场景所限定
环境 Huawei TaiShan 200K 1030版。
步骤 服务器多网卡,连接四条网线,1、2进行了bond1的绑定,3、4口单独进行使用,配置完成后对网络管理服务(networking/NetworkManager二者都有尝试)进行重启。
结果 网络管理服务重启失败。
问题分析
经分析定位后发现,用户在网络配置中添加了多个默认路由,此时用户的路由是由多个网关出去,但是不知道是从哪个MAC发的包,导致服务起不来
解决方案
提供的解决方案:
通过注释掉用户配置中多的gateway
route delete -net ip netmask mask 删除已存在的默认网段
重启networking服务网络服务启动正常
如果需要重新让其他网络生效,就意味着重新添加一条这个网段的临时路由 ,需要做到开机自启动就把这个临时路由写到rc.local里面就可以了
- 此方案的不足:
实际管理配置中,以上这种方式并不友好,甚至经常会出现设置不生效的情况, - 推荐方案:
从源头上禁用掉不需要的默认路由,然后再进行逐步配置
1 分析多网卡应用的具体场景,找到每个网卡对应的connection的通讯范围及工作的网段
2 根据上面的分析,对于工作网段涉及范围最小的connection(例如connc3),设置禁止系统自动添加默认路由,然后重启该网卡
nmcli connection modify connc3 ipv4.never-default yes #禁止nm为此连接自动添加默认路由
nmcli c modify connc3 +ipv4.routes 'ip/prefix gateway' #给指定的网段添加静态路由,此中方式添加的在重启后依然生效,注意路由表要使用引号
nmcli c up connc3 #重启该连接使配置生效
其他的网卡也按这种方式逐一设置,只保留网络活动范围最大的网卡的默认路由
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏