Se você verificar a tabela de roteamento no roteador01 (usando route show
ou netstat -r
), descobrirá que o tráfego de 192.168.10.0/24 sairá por em1
e todo o restante passará pelo padrão route, que é definido por dhclient
on em0
. Quando roteador01 obtém um pacote de 192.168.100.0/24 em em1
ele responderá em em0
porque não há entrada para essa sub-rede na tabela de roteamento. Então, vai usar a rota padrão. Você pode verificar isso com facilidade, por exemplo,
$ route get 192.168.100.1
no roteador01. Anote o destino e o nome da interface na resposta.
router02 pode acessar a Internet através do roteador01, porque nesse caso os pedidos vêm da interface DMZ no roteador2 (192.168.10.2), e estão na mesma sub-rede que em1
no roteador01. Então, quando router01 responde, ele responde através de em1
porque essa é a rota para 192.168.10.0/24.
Você tem duas soluções possíveis: usar o NAT no roteador02 (isso significa que todas as solicitações da LAN chegarão ao roteador01 com 192.168.10.2 como um endereço de origem), o que funcionará, mas significa carga extra no roteador02 ou apenas faça a coisa mais lógica que é adicionar uma rota à sua rede local no roteador01, para que saiba que o tráfego para essa sub-rede deve passar pelo roteador02:
# route add 192.168.100.0/24 192.168.10.2
Você pode tornar isso permanente adicionando a seguinte linha a /etc/hostname.em1
:
!route add 192.168.100.0/24 192.168.10.2