$ ip route
default via 192.168.7.1 dev eth0 proto dhcp metric 100
default via 192.168.1.1 dev wlan0 proto dhcp metric 600
$ ip route del default dev wlan0
$ ip route add default via 192.168.1.1 dev wlan0 metric 50
(您实际上不需要删除不需要的高度量路由,特别是如果更改将是非常临时的 - 添加新路由就足够了。)
请注意,您可能无法在这种情况下使用ip route changeor ip route replace,因为它们将指定的指标视为查找键,将设备视为要更新的参数,而您可能想要完全相反。
路由表不以自上而下的顺序使用。相反,更具体的路由(具有更长的前缀长度)总是优先于不太具体的路由——例如,/24 路由胜过 /16 路由,后者胜过“默认”/0 路由。
如果您有两条通往完全相同目的地的路由(例如,它们都指向 192.168.1.0/24),它们会根据它们的 'metric' 参数进行比较——这基本上是路由的成本,因此最低的度量值(最低成本) 获胜。
因此,如果您有多个“默认”路由,您可以通过删除并重新添加一个较低的指标来确定其中一个的优先级,例如:
(您实际上不需要删除不需要的高度量路由,特别是如果更改将是非常临时的 - 添加新路由就足够了。)
请注意,您可能无法在这种情况下使用
ip route change
orip route replace
,因为它们将指定的指标视为查找键,将设备视为要更新的参数,而您可能想要完全相反。