Duas interfaces DHCP são designadas para dois gateways padrão para o SO

3

Eu tenho uma caixa do Ubuntu que possui duas interfaces de rede (eth0 e wlan0). Ambos estão configurados para DHCP em /etc/network/interfaces , mas ambos atribuem um gateway padrão:

/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet dhcp
wireless-essid test

Resultado de route -n

Kernel IP routing table
Destination Gateway      Genmask       Flags  Metric Ref Use  Iface
0.0.0.0     172.16.1.1   0.0.0.0        UG    100    0   0    wlan0
0.0.0.0     10.0.0.1     0.0.0.0        UG    100    0   0    eth0
10.0.0.0    0.0.0.0      255.255.255.0   U     0     0   0    eth0
172.16.1.0  0.0.0.0      255.255.255.0   U     0     0   0    wlan0

Como posso configurar /etc/network/interfaces para ter apenas um gateway padrão na interface que eu quero?

Cenário de pior caso, como posso, pelo menos, controlar qual deles fica no topo do comando route -n , cada inicialização?

Nota:

  • Esta caixa vai viajar muito e será conectada a diferentes redes, então eu não sei de antemão os endereços IP / intervalos que ela terá.

  • Às vezes, a interface gw padrão será eth0. Às vezes, será wlan0 ... Então, isso precisa ser um pouco automático ...

por user140600 16.06.2012 / 22:46

1 resposta

1

Normalmente, coisas relacionadas à rede são gerenciadas pelo "network-manager" e vem com uma lâmpada de vidro razoavelmente boa que sabe como fazer a coisa certa (TM).

Se você insistir em usar / etc / network / interfaces e tiver um computador que viaje muito, deverá colocar um script executável em /etc/network/if-up.d. Todos os scripts neste diretório são executados toda vez que uma interface é ativada. Em seu novo script, você pode implementar a lógica que modifica sua tabela de roteamento como você deseja.

Eu sugiro que você comece a ler a seção "OPÇÕES DO IFACE" na man-page das interfaces. Observe, no entanto, que não existe "o modo" de determinar as configurações "corretas" para sua tabela de roteamento.

Você pode alterar a ordem de suas rotas padrão atribuindo métricas diferentes. A métrica é um número simples e o kernel preferirá a rota padrão com a menor (eu acho) métrica. Portanto, você deve fazer algum teste para executar seu script e, com base nos resultados desse teste, o script atribuirá a métrica às rotas padrão.

    
por 16.06.2012 / 23:27