Posso determinar o IP de uma máquina virtual usando o VMware Fusion sem entrar no sistema operacional em execução na máquina virtual? Estou procurando uma opção de menu, linha de comando ou outra que possa emitir na imagem virtual com o próprio VMware Fusion Software.
Obrigado - Adron
Respostas:
Resposta curta: Não
Resposta longa: Não, mas talvez
Um endereço IP é de responsabilidade exclusiva de um sistema operacional. Portanto, a estrutura virtual que contém o sistema operacional não tem idéia sobre a pilha TCP / IP, a menos que haja acréscimos simbióticos à estrutura, como o Hyper-V e as ferramentas adicionais do VMware (graças a todda.speot.is nos comentários abaixo) . Não é muito diferente do que querer procurar os arquivos em uma VM sem iniciá-la primeiro.
Tecnicamente, se a VM depende do DHCP, você pode procurar no servidor DHCP (provavelmente o roteador da sua LAN) a última concessão que foi entregue ao endereço MAC da NIC virtual para ter uma boa idéia de qual provavelmente o IP seria o da próxima vez que for lançado. Isso pressupõe que o mesmo IP não tenha sido entregue a outro dispositivo no meio quando você analisou o histórico de concessão e quando a VM foi iniciada.
fonte
O VMWare fornece, sem surpresa, uma ferramenta integrada para isso
vmrun
,. Está em/Applications/VMware Fusion.app/Contents/Library/vmrun
baixa, embora tenha se movido um pouco em outros lançamentos do Fusion.fonte
vmrun
está no PATH do meu Mac por padrão, entãovmrun getGuestIPAddress "$(vmrun list | grep vmx)"
inclua as aspas!Aqui está uma dica, caso ajude alguém. Instale
avahi-daemon
na VM. Isso permite que você se conecte através do nome do hostvmname.local
, ondevmname
está o nome da sua máquina virtual. No meu caso, o nome da VM ébaremetal
e no host eu posso executar:Não há necessidade de saber o IP da VM. :)
fonte
avahi-daemon
não estão disponíveis? O Windows, por exemplo, me vem à mente ... :-)É possível - pelo menos, no caso comum, em que a rede no estilo NAT está configurada para o convidado. Como o VMWare está fornecendo o NAT, ele deve nos dizer para que endereço ele está atualmente. Algo como
vmrun list
deveria estar produzindo essa informação. Que isso não é uma falha ...Mas, de qualquer forma, eis como se pode descobrir de qualquer maneira. Primeiro, execute
ifconfig
no seu Mac (talvezipconfig
faça o mesmo no Windows, mas ainda 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:Portanto, o IP do meu convidado está em uma dessas duas redes privadas de VM: 192.168.82.0/24 ou 192.168.123.0/24. No seu host, pode haver apenas um, com sorte, 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 executar ping em cada endereço em todas as redes privadas de classe C gerenciadas pelo vmnet e termina quando um ping é bem-sucedido. A
-W 500
opção diz ao ping para aguardar apenas meio segundo por uma resposta (provavelmente poderia usar ainda menos), e-c 1
diz para enviar exatamente um pacote:O pequeno script acima foi executado por algum tempo, listando todas as tentativas malsucedidas de alcançar os endereços inexistentes:
Até que finalmente conseguiu e terminou:
Voilà, eu pude entrar no meu convidado:
Agora, eu tinha apenas um convidado em execução - portanto, o primeiro endereço IP a responder a um ping foi o correto. Se você executar vários convidados de uma só vez, 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, experimentar todos eles até chegar ao convidado correto ...
(E, talvez, o .130 é uma boa opção para endereços baseados em NAT de qualquer maneira. Mas não posso ter certeza.)
fonte
nmap -sP 192.168.123.*
Como Mikhail T. disse: "Como o VMWare está fornecendo o NAT, ele deve poder nos dizer para que endereços ele está atualmente usando o NAT". De fato, ele faz:
Na minha instalação do VMware Fusion 6, o
vmnet-dhcpd
daemon grava suas concessões nos arquivos/var/db/vmware/vmnet-dhcpd-vmnetX.leases
, onde "X" é 1 e 8. Empiricamente :-) Estabeleci que é o vmnet8 que devo procurar. Aqui está um trecho do arquivo de concessão/var/db/vmware/vmnet-dhcpd-vmnet8.leases
:O
client-hostname
é o nome da VM e o número após a palavralease
é seu IP. Você pode analisar essas entradas ou simplesmente olhar as mais recentes. Verifique se o contrato que você está procurando ainda é válido.fonte
Minha solução para isso foi:
Depois de instalar as ferramentas VMware, configure o compartilhamento para poder acessar uma pasta (qualquer pasta) no CentOS. Em seguida, modifique / etc / sysconfig / network-scripts / ifup-post para anexar sua data e endereço IP atuais a um arquivo nesta pasta compartilhada.
Como fazer isso:
Modifique: / etc / sysconfig / network-scripts / ifup-post
adicione isso antes da última linha do ifup-post ("exit 0"):
Isso anexará seu guest_ip.log com a data e o valor de retorno de ifconfig toda vez que a rede surgir.
No meu caso, decidi grep para um prefixo 192 no meu endereço IP, pois sei que entre minha casa e trabalho, é sempre 192. Isso pode ser feito ajustando-se da seguinte maneira:
fonte
Execute no console da VM
ipconfig
(se a VM for Windows) ouifconfig
(se a VM for Linux).IP de
eth0
é o endereço IP que você está procurando.fonte
Eu tive o mesmo problema ao executar o VMPlayer no Ubuntu 15.04. Minha máquina virtual foi configurada para NAT e, embora eu pudesse determinar seu endereço IP entrando na GUI e executando o ifconfig na VM, não consegui executar ping ou ssh nela.
Acontece que quando o VMPlayer foi instalado, ele não ativou o dhcp no adaptador vmnet1 e vmnet8. A solução foi usar o ubuntu gui para editar as conexões de rede com "Editar conexões". Encontre vmnet1 em ethernet e clique no botão editar. Nas configurações do IPv4, ative o DHCP, salve e reinicie.
Agora, se você executar o ifconfig na linha de comando, notará que o vmnet1 tem um endereço IP. Agora, o SSHing na VM nativa do host também funciona.
fonte
Nas páginas de manual do vmrun (versão 1.14.4 build-3204469):
No entanto, lembre-se de que, para que isso funcione, o conjunto VMware Tools deve ser instalado no SO convidado e esta etapa não pode ser realizada sem o log no SO convidado. Você pode instalar as ferramentas em uma "imagem base" e criar novas imagens a partir dela, através da clonagem. Em seguida, você pode usar o comando acima para obter o endereço IP das VMs recém-criadas.
fonte
fonte