
На моем 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
Я бы предложил сделать это с помощью сетевого менеджера (в графическом интерфейсе/сетевых настройках рабочего стола), а не напрямую в bash.
Для 10.205.103.1 в настройках IPv4 / Маршруты... / снимите флажок:
использовать это соединение только для ресурсов в своей сети
Таким образом, ваша таблица маршрутизации будет чистой и устойчивой к отключениям и перезагрузкам.