На моем 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) перед добавлением моего, не имеет никакого эффекта - когда мой созданный маршрут удаляется, этот маршрут возвращается в таблицу.