Configurando o convidado do Ubuntu vmware NAT

9

Eu tenho um host do Windows que executa o guest Ubuntu VM via vmplayer. Essa máquina virtual será clonada, distribuída entre várias pessoas (executando hosts Windows) e usada para conduzir uma oficina de programação. Estou tentando - e até agora falhando - configurar a rede para satisfazer os seguintes requisitos:

  1. O convidado tem que ter acesso à internet
  2. Todos os clones devem ter o mesmo nome de host (digamos que o Workshop seja concreto)
  3. O sistema host deve poder acessar seu respectivo convidado por meio desse nome (por exemplo, ping Workshop faria o ping do guest que está sendo executado naquele host e não em qualquer outro clone)

O que eu tentei até agora:

  • "Instalado" um adaptador de rede NAT para o convidado
  • Tentei conectar o convidado via DHCP, em / etc / network / interfaces :

    auto eth0
    iface eth0 inet dhcp
       hostname Workshop
    

Isso funciona na medida em que se conecta à internet. No entanto, não consigo me conectar ao convidado do host. (Por exemplo, o ping Workshop não funciona; se eu usar o endereço retornado pelo ifconfig , ele não funciona no host).

  • Eu então tentei atribuir um endereço estático ao convidado:

    auto eth0
    iface eth0 inet static
         address 172.241.0.101
         netmask 255.255.0.0
         gateway 172.241.0.100
    

(172.241.0.100 é o endereço atribuído estaticamente ao host pelo VMWare Network VMNet8 Adapter - que é o adaptador NAT acima). Agora, posso pingar 172.241.0.101 e telnet para ele a partir do host. Eu também posso fazer ping e telnet a partir do convidado para 172.241.0.100 (o host), mas é sobre isso - não há conexão com a rede mais ampla. (Eu também não consigo acessar o guest através do seu hostname, mas isso não é crucial aqui, pois se o push for empurrado, eu posso usar seu endereço diretamente - desde que seja o mesmo para todo mundo - e não o nome).

Agora, acho que posso usar a opção de conexão de rede em ponte com o DHCP e isso me dará o que preciso no caso de uma VM (não tentei nesse caso, mas lembro de fazer isso anteriormente). No entanto, no caso de várias VMs com o mesmo nome de host e seus hosts conectados à mesma rede que serão problemáticos, não será?

Suas soluções e outros conselhos serão muito apreciados.

    
por malenkiy_scot 30.05.2013 / 15:27

2 respostas

7

Primeiro de tudo, sim, você não poderá usar uma conexão de rede em ponte porque todos os convidados terão o mesmo nome de host, então você terá que usar o NAT.

Você tem parte da configuração correta, no entanto, seu problema deve estar no gateway padrão que você atribuiu ao convidado. O gateway padrão, ao usar NAT, não é o IP do host, é o IP de um "switch virtual" conectado à rede NAT. (O adaptador host VMnet8 é apenas outro dispositivo conectado à rede, para permitir que o host se comunique com a VM.) Esse comutador virtual do qual estamos falando obtém o .2 IP na sub-rede. Portanto, no seu caso, seu /etc/network/interfaces deve ser:

auto eth0
iface eth0 inet static
     address 172.241.0.101
     netmask 255.255.0.0
     gateway 172.241.0.2

Isso deve conceder ao convidado VM acesso à Internet (por meio de 172.241.0.2 ) e também se comunicar com seu host ( 172.241.0.100 ). Então, experimente e deixe-me saber se funciona.

Se não funcionar (altamente improvável), então você precisa descobrir qual é o IP do comutador virtual. O que você pode fazer é permitir que a VM obtenha um IP através do DHCP (ou seja, altere-o para iface eth0 inet dhcp como antes) e, em seguida, faça route -n . Isso deve mostrar o gateway padrão que está sendo usado. Use esse IP na sua configuração estática.

Para conseguir fazer ping na máquina virtual convidada usando seu nome de host Workshop , veja o que você pode fazer. Você precisa adicionar uma entrada no arquivo hosts no Windows, que está localizado em C:\Windows\System32\drivers\etc\hosts . Edite esse arquivo para incluir a seguinte linha no final:

Para editar esse arquivo no Windows, no entanto, você precisa abri-lo como administrador no Bloco de Notas ou no Wordpad ... e, às vezes, ele nem mesmo permite salvá-lo, portanto, é necessário fazer uma cópia do arquivo em algum lugar, edite-o, remova a extensão .txt se tiver uma, volte e substitua a original, e "confirme" ... como eu amo o Linux. Mas de qualquer forma, aqui está a linha que você precisa adicionar:

172.241.0.101    Workshop

Uma vez feito isso, você deve conseguir ping Workshop com sucesso do seu host Windows.

Embora, é claro, para poder implantar isso em sua oficina, você precisará editar o arquivo hosts em cada host do Windows, a menos que você também esteja clonando as máquinas Windows.

Dica : como você vai atribuir um IP estático ao seu convidado, certifique-se de que a "rede NAT" no VMplayer em todos os seus hosts do Windows usando a sub-rede 172.241.0.0/16 , porque acho que o VMware atribui aleatoriamente uma sub-rede às suas redes virtuais (VMnet1, 2 e assim por diante), portanto, o VMnet8 pode não estar usando a mesma sub-rede em outro host do Windows. Se não estiverem, você precisará fornecer manualmente uma sub-rede ao VMnet8 usando o Editor de Rede Virtual no VMware.

EDITAR

Ok. Após os comentários, aqui está o que você precisa fazer:

  1. Configure sua máquina host (Windows) para "obter endereço IP automaticamente" no adaptador VMnet8. Deve obter o IP 192.168.186.1 .
  2. Configure sua máquina guest (Ubuntu) para um IP estático no intervalo 192.168.186.3 - 192.168.186.127 . Vamos usar 192.168.186.3 . Além disso, configure o gateway padrão e o servidor dns como 192.168.186.2 . Portanto, seu /etc/network/interfaces deve ser:

    auto eth0
    iface eth0 inet static
         address 192.168.186.3
         netmask 255.255.255.0
         gateway 192.168.186.2
         dns-nameservers 192.168.186.2
    
  3. Teste a conectividade local efetuando ping de 192.168.186.1 e 192.168.186.2 da máquina convidada. Você também deve poder fazer ping do host para o convidado.

  4. Teste a conectividade com a Internet na máquina convidada fazendo ping de google.com ou navegando na internet.
  5. Adicione a linha 192.168.186.3 Workshop ao seu arquivo hosts na máquina host do Windows.
  6. Teste ping Workshop da máquina host do Windows.

Se você quiser usar IPs de uma rede / pool completamente diferente de 192.168.186.0/24 , precisará ir para Edit > Virtual Network Editor no VMware, localizar VMnet8 e alterar suas configurações de DHCP na parte inferior para qualquer rede você deseja e altere os IPs estáticos de acordo (o gateway padrão sempre será o segundo IP utilizável, x.x.x.2 ).

    
por Alaa Ali 03.06.2013 / 13:27
3

Eu estava tendo problemas semelhantes, usando o VMWare Player em execução no Windows 7 com convidados do Ubuntu. Mas eu era capaz de me conectar do host ao guest e guest to host, no entanto, o problema era que eu não conseguia me conectar à internet do guest. Depois de ler a resposta do @Alaa eu tive que apenas fazer mais um ajuste para adicionar o nome do servidor DNS ao arquivo de interfaces (dns-nameservers 192.168.150.2) e então tudo entrou na linha.

Aqui está minha configuração que funcionou.

Configuração da interface VMWare no host:

Adaptador Ethernet VMware8: (Cliente)

Connection-specific DNS Suffix  . : 
Description . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
Physical Address. . . . . . . . . : 00-50-56-C0-00-08
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::9c13:cbf2:1dc:259f%42(Preferred) 

IPv4 Address. . . . . . . . . . . : 192.168.150.1(Preferred) 
Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 
DHCPv6 IAID . . . . . . . . . . . : 704663638
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-06-50-32-88-53-2E-7A-D3-8E
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                    fec0:0:0:ffff::2%1
                                    fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled 

A interface do convidado do Ubuntu muda:

auto eth0
iface eth0 inet static
address 192.168.150.10
netmask 255.255.255.0
gateway 192.168.150.2
dns-nameservers 192.168.150.2

192.168.150.2 é o proxy do VMWare que encaminharia o tráfego de convidados para o host.

    
por Kingsly 27.04.2014 / 17:26