É possível - pelo menos, no caso comum, onde a rede no estilo NAT é configurada para o convidado. Porque VMWare está fornecendo o NAT-ing, ele deve ser capaz de nos dizer, o que endereços é atualmente NAT-ing para. Algo como vmrun list
deveria estar exibindo essa informação. Que isso não é uma falha ...
Mas, de qualquer forma, aqui está como se pode descobrir de qualquer maneira. Primeiro, execute ifconfig
no seu Mac (talvez, ipconfig
faça o mesmo no Windows, mas eu não testei). Isso listará todas as interfaces de rede na máquina - físicas e virtuais. Procure os vmnet-ones. No meu Mac isso produz:
% ifconfig | grep -A2 ^vmnet
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:01
inet 192.168.82.1 netmask 0xffffff00 broadcast 192.168.82.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08
inet 192.168.123.1 netmask 0xffffff00 broadcast 192.168.123.255
Portanto, o IP do meu convidado está em uma dessas duas redes privadas da VM: 192.168.82.0/24 ou 192.168.123.0/24. Em seu host pode haver apenas um, sorte sua ou mais de dois - precisamos verificar todos eles. Aqui está um script tcsh muito simples, inserido diretamente na linha de comando, que fez isso por mim. Ele tenta fazer ping de cada endereço em todas as redes privadas de classe C gerenciadas por vmnet e termina quando um ping é bem-sucedido. A opção -W 500
diz ao ping para aguardar apenas meio segundo por uma resposta (poderia, provavelmente, usar ainda menos), e o -c 1
diz para enviar exatamente um pacote:
% set i=2
% while ( $i < 255 )
while? ping -W 500 -c 1 192.168.82.$i && break
while? ping -W 500 -c 1 192.168.123.$i && break
while? @ i++
while? end
O pequeno script acima foi exibido por algum tempo, listando todas as tentativas mal-sucedidas de acessar os endereços inexistentes:
PING 192.168.82.2 (192.168.82.2): 56 data bytes
--- 192.168.82.2 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING 192.168.123.2 (192.168.123.2): 56 data bytes
...
Até que finalmente conseguiu e terminou:
64 bytes from 192.168.123.130: icmp_seq=0 ttl=64 time=0.307 ms
--- 192.168.123.130 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
Voilà, eu pude entrar no meu convidado:
% ssh 192.168.123.130
Password:
Agora, eu só tinha um único convidado em execução - então o primeiro endereço IP para responder a um ping era o correto. Se você executar vários convidados ao mesmo tempo, pode ser necessário usar o comando ping igual ou semelhante para criar uma lista de todos esses endereços IP privados válidos e, em seguida, testá-los até chegar ao convidado correto ...
(E, talvez, 0,130 é um bom palpite para endereços baseados em NAT de qualquer maneira. Mas eu não posso dizer com certeza.)