在 Ubuntu 16.04 中意外添加路由丢弃

在 Ubuntu 16.04 中意外添加路由丢弃

在我的 Ubuntu 16.04 上,我通过 Android 手机使用本地网络和移动互联网。我对路由完全是新手,但这就是我所拥有的。连接手机后,我得到了路由表:

default via 10.205.103.1 dev enp2s0  proto static  metric 100
default via 192.168.42.129 dev enp0s29f7u5  proto static  metric 101 
10.205.32.136 via 10.205.103.1 dev enp2s0  proto dhcp  metric 100 
10.205.103.0/24 dev enp2s0  proto kernel  scope link  src 10.205.103.53  metric 100 
169.254.0.0/16 dev enp2s0  scope link  metric 1000 
192.168.42.0/24 dev enp0s29f7u5  proto kernel  scope link  src 192.168.42.72  metric 100

为了拥有本地网络(网关 10.205.103.1)和互联网,我使用了

sudo route add default gw 192.168.42.129 metric 2
sudo route add -net 10.205.0.0/16 gw 10.205.103.1 metric 1

所以我有

default via 192.168.42.129 dev enp0s29f7u5  metric 2 
default via 10.205.103.1 dev enp2s0  proto static  metric 100 
default via 192.168.42.129 dev enp0s29f7u5  proto static  metric 101 
10.205.0.0/16 via 10.205.103.1 dev enp2s0  scope link  metric 1
etc. 

一切运行良好,这 2 条路线已添加到表中,但我遇到了一个问题,因为一些对我来说神秘的原因——我的第一条路线每隔几分钟就会掉线(~10-15,不知道这取决于什么)并且我得到了另一张表:

default via 10.205.103.1 dev enp2s0  proto static  metric 100 
default via 192.168.42.129 dev enp0s29f7u5  proto static  metric 101
10.205.0.0/16 via 10.205.103.1 dev enp2s0  scope link  metric 1
etc.

所以我必须重新运行命令sudo route add default gw 192.168.42.129 metric 2。为什么会发生这种情况以及如何避免?在添加我的路由之前,通过 192.168.42.129(度量为 101 的路由)删除默认路由没有任何效果 - 当我创建的路由被丢弃时,该路由会返回到表中。

答案1

我建议使用网络管理器(在 GUI/桌面网络设置中)执行此操作,而不是直接在 bash 上执行此操作。

对于 10.205.103.1,在 IPv4 设置/路由.../取消选中:

仅将此连接用于其网络上的资源

这样您的路由表就应该干净了,并且可以抵抗拔出和重启。

相关内容