Eu tenho uma configuração bastante padrão em casa, que consiste em uma única sub-rede 192.168.240.0/24, e meu roteador DSL fica em 192.168.240.1. Outros dispositivos ocupam 192.168.240.64 em diante.
Mas agora adicionei um servidor Linux em 192.168.240.16, que possui dois NICs. Um, obviamente, sentou-se em 192.168.240.0/24 e outro sentado em 192.168.241.0/24 (192.168.241.16).
No momento, não há mais nada em 192.168.241.0/24, mas pretendo mover meu modem DSL para essa sub-rede em um futuro próximo.
Estou tentando configurar o roteamento na caixa do Linux entre as duas interfaces, e acredito que isso funcione. Mas antes de mover o modem DSL, pensei em me certificar de que o roteamento estava funcionando.
Eu verifiquei a tabela de roteamento no Mac (usando netstat -r
) antes de fazer qualquer coisa, o que (menos entradas irrelevantes) mostrou como:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.240.1 UGSc 4665 0 en0
192.168.240 link#4 UCS 8 0 en0
Então, configurei uma rota estática no Mac da seguinte forma:
route add -net 192.168.241.0/24 192.168.240.16
Em seguida, a tabela de roteamento no Mac mostrou:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.240.1 UGSc 4665 0 en0
192.168.240 link#4 UCS 8 0 en0
192.168.241 192.168.240.16 UGSc 0 1 en0
Quando tentei fazer o ping na segunda interface na minha caixa do Linux a partir do Mac, não recebi resposta. Verificando as tabelas de roteamento novamente, para meu espanto, apareceu uma linha extra.
Destination Gateway Flags Refs Use Netif Expire
default 192.168.240.1 UGSc 4665 0 en0
192.168.240 link#4 UCS 8 0 en0
192.168.241 192.168.240.16 UGSc 0 1 en0
192.168.241.16 192.168.240.1 UGHDI 0 17 en0
Por que essa última linha apareceu e por que ela não honrou a rota que eu criara anteriormente? O que preciso fazer para forçá-lo a usar a rota estática que criei?