Como o Ubuntu determina a rota padrão quando várias interfaces são definidas?

0

Eu tenho um servidor Ubuntu (sem cabeça, o Network Manager não está instalado). Tem duas interfaces, eth0 e eth1. Eu tenho o seguinte definido em / etc / network / interfaces:

auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address 10.0.5.10
netmask 255.255.255.0
gateway 10.0.5.1
dns-search test.domain.com
dns-nameserver 10.0.2.3
broadcast 10.0.5.255

auto eth0
iface eth0 inet static
address 192.168.57.10
netmask 255.255.255.0
gateway 192.168.57.1
broadcast 192.168.57.255

Atualmente, após uma reinicialização, o /etc/resolve.conf está vazio e minha tabela de roteamento se parece com isso:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.57.1    0.0.0.0         UG    0      0        0 eth0
10.0.5.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.57.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

Por que a rota padrão foi escolhida para 192.168.57.1? eth1 foi a primeira interface na lista. Eu esperava que ele pegasse a rota padrão. O que eu estou querendo que resulte depois de uma reinicialização é que o /etc/resolve.conf fique assim:

search test.domain.com
nameserver 10.0.2.3

Eu quero que a tabela de roteamento tenha esta aparência:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.5.1        0.0.0.0         UG    0      0        0 eth1
10.0.5.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.57.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

Eu posso conseguir isso editando manualmente /etc/resolv.conf e com "ip route delete padrão" "ip route add default ..." Mas isso não persiste durante a reinicialização.

    
por Rusty Lemur 30.01.2017 / 21:11

1 resposta

2

Geralmente, há algum mal-entendido no que o 'gateway padrão' significa. Normalmente, pode haver apenas um gateway padrão (há exceções, mas não no seu caso). Não há necessidade de ter um gateway na rede 192.168.57.0 , pois ele está diretamente conectado.

A definição de dois gateways (um para cada interface) parece ser apenas um, dependendo da sequência das definições. O mesmo vale para os servidores DNS - eles não estão ligados a uma interface específica, então talvez dependendo da sequência de definir / iniciar as interfaces a última definição será usada.

Você pode alterar a sequência das definições de interface (eth1, then eth0), se necessário, mas definir gateway 10.0.5.1 e dns-... com eth0 (ou, em caso de dúvida, o mesmo com ambas as interfaces).

    
por ridgy 31.01.2017 / 11:15