Linux系统默认网关优先级设置方法
Linux默认网关优先级由metric值决定,数值越小优先级越高。通过`iprouteshowdefault`查看当前生效路由,临时用`iprouteadd change`修改metric,永久配置需按发行版修改Netplan、ifcfg或nmcli。多条default路由仅metric最小的一条生效,需规划主备路由实现冗余。
简单来说,Linux 选择默认网关的核心机制完全取决于 metric(路由度量)值:该值越小,优先级就越高。需要明确的是,系统永远不会同时使用两条 default 路由,内核只会采用 metric 数值最小的那一条。如果多条默认路由的 metric 值相同,则路由行为将变得不可预测——这并非简单的“谁先配置谁优先”,而是内核严格按照数值大小强制选择的结果。

如何确认当前生效的默认网关及其 metric 值
这里有一个常见误区:不要仅仅查看 ip route 输出的第一行就认为万事大吉,那一行可能只是众多候选路由之一。实际报文走哪条路径,最终取决于内核实际选中的那一条。
ip route show default—— 这是最可靠的命令,它只显示当前被内核选中的那条default路由。ip route get 8.8.8.8—— 模拟一次真实流量,输出结果会明确告知dev(出口网卡)和via(下一跳网关),这直接反映了实际的数据流走向。ip route | grep default—— 该命令会筛选出所有带default的条目,重点查看每条记录末尾的metric值,从而全面掌握优先级排序。
需要特别留意:许多由 proto dhcp 标记的路由,通常是 NetworkManager 等工具自动添加的,它们的 metric 值可能被覆盖。而手动使用 ip route add default 添加的路由,若不指定 metric,默认值为 0,这很容易意外地抢占主路由的位置。
临时调整 metric:适用于调试或应急切换
如果只是临时调试或进行故障切换测试,通过命令行操作可以即时生效,但重启后配置会失效。
- 先删除当前默认路由:
ip route del default(不带via也能删除,操作需谨慎)。 - 然后添加新路由并指定
metric:ip route add default via 192.168.5.1 dev wlan0 metric 50。 - 如果只想修改已有路由的
metric值:ip route change default via 192.168.1.1 dev eth0 metric 20。
注意:metric 必须是正整数或 0,负值无效。此外,ip route replace 虽然也可以使用,但其本质是先删除再添加,执行过程不如显式地 del + add 那样清晰可控。
永久配置 metric:根据发行版选择合适的方法
上述命令重启后会丢失,要实现持久化必须写入配置文件。但不同 Linux 发行版的方法不同,需要针对性地处理。
- Ubuntu/Debian(Netplan):编辑
/etc/netplan/*.yaml文件,在对应网口下使用routes块定义。例如:routes: - to: default via: 192.168.1.1 metric: 100注意缩进必须使用空格,不能用 tab。修改后运行sudo netplan apply生效。 - RHEL/CentOS(ifcfg-):编辑
/etc/sysconfig/network-scripts/ifcfg-eth0,手动添加GATEWAY=192.168.1.1和METRIC=100。关键点在于:如果该接口被 NetworkManager 接管,需要额外加上NM_CONTROLLED=no才能让自定义配置生效。 - NetworkManager 管理的桌面环境:使用
nmcli命令行工具更便捷。例如:nmcli connection modify "Wired connection 1" ipv4.route-metric 100,然后执行nmcli connection down && up重启连接。
这里有一个重要提醒:如果有多个网卡都启用了 DHCP,务必禁用非主网卡上自动生成的默认路由(例如在 Netplan 中设置 use-routes: false),否则这些自动产生的路由会与手动配置的 metric 值发生冲突,导致网络行为变得混乱。
为什么添加多条 default 路由却只有一条生效
内核的规则非常明确:同一时刻只使用一条 default 路由。选择规则就是寻找 metric 最小的那一条。如果两条路由的 metric 都是 0,后添加的那条可能会被直接忽略,甚至可能触发不可预测的行为(具体取决于内核版本和编译选项)。
因此,不要指望“添加多条 default 就能实现自动故障转移”。真正实现冗余,需要配置一主一备的方案:例如一条主路由 metric 100,一条备份路由 metric 200。然后结合脚本来监听链路状态,当探测到主链路可用时,通过 ip route change 动态调整 metric 值来实现切换。如果需要更精细的控制,还可以使用 ip rule 策略路由,配合自定义路由表来处理。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
旧显卡驱动漏洞多年未修:整机厂认证机制是主因
旧显卡驱动漏洞多年未修的根本原因在于整机厂认证机制存在断层。漏洞虽已修复,但OEM仅对特定驱动认证一两年,之后不再维护;通用驱动被设为低优先级,显卡厂商驱动也被降权,导致设备长期停留在停售时的旧版本。
BIOS设置各参数中英文对照表
先说一个已经过气的选项:Above 1MB Memory Test。它控制着开机自检时是否要检测1MB以上的内存。不过放到现在,这个选项已经彻底淘汰了——当年内存价格高昂,容量普遍较小,自检速度飞快。后来内存价格大幅下降,容量激增,动辄数GB,开机自检反而成了耗时环节。未来即便只做一次内存检测,估计
BIOS自动开机设置及自动登录实现方法
许多用户都希望自己的电脑能实现全自动化——定时开机、自动登录、按时关机,甚至幻想它能自己煮咖啡。其实,这些功能并不复杂,只需简单调整BIOS和系统设置即可实现。 1、自动定时开机 自动定时开机功能依赖于BIOS设置,前提是主板支持ACPI高级电源管理。目前市面上绝大多数主板都具备此功能。 要设置自动
快速解决BIOS开机英文显示时间过长的方法
遇到这种情况是不是很头疼?即便你进入了BIOS并恢复默认设置,问题依然顽固存在,就像图中显示的那样。 其实原因非常简单:光驱已经损坏。硬件自检无法通过,导致系统在启动时长时间卡住。解决方法也很直接——将光驱拆除,开机速度慢的问题自然就迎刃而解了。
Award BIOS设置图解与功能介绍
先来简单认识一下什么是Award BIOS?Award是一家公司的名称,BIOS是Basic Input Output System(基本输入输出系统)的缩写。这段程序被存放在一个不需要供电的记忆体(芯片)中,就是我们常说的BIOS。它在电脑中扮演着最基础也最关键的角色——所有硬件与操作系统之间的桥
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-07-18 10:01
2026-07-18 07:30
2026-07-18 07:30
2026-07-18 07:30
2026-07-18 07:30
2026-07-18 07:29
2026-07-18 07:29
2026-07-18 07:29
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

