
Eu tenho 2 computadores. O computador A está executando uma VM, que está atrás de um NAT. O computador B só quer fazer PING nessa VM. Eu sei que a VM por trás do NAT deve ser inacessível externamente, é por isso que o NAT existe em primeiro lugar. Minha experiência é apenas para aprender como tudo isso funciona.
IP do computador A: 192.168.1.105
IP da VM no computador A: 172.16.66.132
IP do computador B: 192.168.1.107
Pelo que entendi, o computador B não consegue fazer PING na VM, porque não sabe como chegar lá e está tentando chegar através do roteador (192.168.1.1), o que falha, porque o roteador então vai para a Internet (que verifiquei com tracert
) .
Achei que poderia mudar isso adicionando uma entrada personalizada à tabela de roteamento no computador B. Então fiz isso:
route add 172.16.66.0 MASK 255.255.255.0 192.168.1.105
A regra acima informaria ao computador B que a rede 172.16.66.0 está acessível através de 192.168.1.105 (que é o IP do computador A).
Resultado? Nenhuma mudança. Eu até vi que, durante o PING da VM, minha entrada personalizada foi removida da tabela.
Por que minha solução não funciona?
Responder1
O route add
comando é ineficaz e a rota provavelmente foi removida porque foi testada e considerada inválida.
O motivo é que você tem uma situação de NAT duplo: o software da máquina virtual que você está usando possui seu próprio roteador virtual que faz DHCP e NAT para as máquinas virtuais. O computador host não tem rota para esse roteador virtual e, portanto, não consegue encaminhar nada.
Sugiro definir para este caso a rede virtual como Bridged em vez de NAT.