Eu conectei um computador (executando o Debian Wheezy) a dois servidores DHCP diferentes (roteadores) através de um cabo e através de um dispositivo wifi. Se eu olhar para as rotas com route
, obtenho o seguinte resultado
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 202 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 303 0 0 wlan0
192.168.1.0 * 255.255.255.0 U 303 0 0 wlan0
192.168.2.0 * 255.255.255.0 U 202 0 0 eth0
Se eu executar um traceroute
em algum endereço externo, vejo que ele passa pelo primeiro roteador 192.168.2.1
. Se eu remover uma rota com
$ route del default eth0
e execute traceroute
para o mesmo endereço, vejo que agora é usado 192.168.1.1
.
Minhas perguntas.
Qual das duas rotas padrão é escolhida? É sempre o primeiro listado por route
, ou é escolhido todas as vezes de acordo com alguns critérios?
Se uma rota padrão tiver maior prioridade, como ela é escolhida? É simplesmente a interface que surgiu primeiro durante a inicialização?
Se eu quiser ter uma rota preferencial ou mesmo remover uma das duas rotas padrão, como faço isso? É suficiente excluir a rota usando
$ route del default eth0
ou essa rota será adicionada automaticamente toda vez que o cliente receber um novo endereço?
Algum contexto para minhas perguntas: O computador X está conectado às redes A e B usando DHCP. O roteador A deve servir como um gateway para X, mas o roteador B não deve: o roteador B só deve permitir que o X se comunique com os computadores da rede B.