EDIT : O método abaixo pode ou não ser necessário - no entanto, este passo em particular é um must . Uma rota estática precisa ser criada nas interfaces de convidado, uma vez que a tabela de roteamento existente pode estar errada. Mina originalmente parecia:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.99.2 0.0.0.0 UG 100 0 0 ens33
10.0.99.2 0.0.0.0 255.255.255.255 UH 100 0 0 ens33
10.0.99.11 0.0.0.0 255.255.255.255 UH 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Para isso, um arquivo /etc/sysconfig/network-scripts/route-ens33
(route- interface ) deve ser criado com a sintaxe:
default 10.0.99.2 dev ens33
10.0.99.0/24 dev ens33
Em que 10.0.99.2
é o endereço IP do Gateway (dispositivo NAT do VMware) e 10.0.99.0/24
é a sub-rede na qual os IPs estáticos existem, ou seja, a sub-rede da LAN. Após essa etapa, a interface deve ser reiniciada usando nmcli c d ens33; nmcli c u ens33
. A tabela de roteamento do kernel deve agora se parecer com:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.99.2 0.0.0.0 UG 100 0 0 ens33
10.0.99.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
...
Portanto, precisamos atribuir um IP estático às VMs convidadas mesmo quando os convidados não estão trabalhando com o DHCP. Como tal, o dhcpd.conf
para o comutador virtual precisa ter entradas para cada IP estático. Como eu estava usando vmnet10
, editei o arquivo /etc/vmware/vmnet10/dhcpd/dhcpd.conf
e adicionei:
...
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
####### VMNET Static IP Allocation Table by Somu #######
host vmInfra.somuVMnet.local {
hardware ethernet 00:0C:29:79:8C:1F;
fixed-address 10.0.99.99;
}
host vmPrime.somuVMnet.local {
hardware ethernet 00:0C:29:3B:B9:1C;
fixed-address 10.0.99.11;
}
host vmDeux.somuVMnet.local {
hardware ethernet 00:0C:29:2A:E2:D3;
fixed-address 10.0.99.12;
}
Observe que cada endereço MAC corresponde às NICs virtuais atribuídas para cada VM. Essas configurações devem ser adicionadas após as VMs terem sido encerradas e a própria estação de trabalho do vmware ter sido desativada.
Finalmente, depois que a configuração é salva, como o serviço dhcp é executado na máquina host, eles precisam ser reiniciados. Como não consegui encontrar o serviço individual para cada VM, simplesmente reiniciei o vmware.service
no próprio host. Note que estou usando systemd
desde que eu estou no Fedora 27. Esse método deve funcionar igualmente bem para os sistemas operacionais System V também, mesmo que o comando seja diferente.
systemctl restart vmware; systemctl status -l vmware
Certifique-se de que o serviço esteja ativo e, em seguida, ligue seu convidado. Agora, se você configurou sua VM para ter um IP estático, ela deve corresponder ao IP que você definiu em dhcpd.conf
apenas para evitar conflitos. Se estiver usando a configuração automática baseada em DHCP, isso não é um problema, já que o servidor DHCP agora irá atribuir o IP específico que você solicitou com base no endereço do MAC da NIC virtual!
Espero que esta resposta ajude alguém que está preso em uma situação semelhante e economize as incontáveis horas de pesquisa. Note que não precisei desligar o firewall nem no host nem no convidado!