No meu Ubuntu 16.04 estou usando internet local e internet móvel via telefone Android. Eu sou completamente novato em roteamento, mas é isso que eu tenho. Logo após conectar o telefone eu tenho a tabela de rotas:
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
Para ter rede local (porta 10.205.103.1) e internet eu usei
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
Então eu tenho
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.
Tudo funciona bem, essas duas rotas foram adicionadas à tabela, mas eu tenho um problema por causa de algum motivo misterioso para mim - minha primeira rota cai a cada alguns minutos (~ 10-15, não sei do que isso depende ) e eu tenho outra mesa:
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.
Portanto, tenho que executar novamente o comando sudo route add default gw 192.168.42.129 metric 2
. Por que isso acontece e como evitá-lo? Removendo rota padrão via 192.168.42.129 (aquele com métrica 101) antes de adicionar o meu não tem efeito - quando a minha rota criada cai esta rota retorna para a tabela.