Não é possível fazer ping para VM em outro computador, mesmo com entrada na tabela de rotas

Não é possível fazer ping para VM em outro computador, mesmo com entrada na tabela de rotas

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 addcomando é 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.

informação relacionada