Roteando VMs convidadas do Windows atrás de um NAT para várias redes conectadas no host

1

Eu configurei o Windows Server 2016 com a função Hyper-V. A máquina host está conectada a duas redes:

  • 10.101.8.0/22 (rede somente dept.local link-local)
  • 10.13.80.0/24 (rede ad.company.com conectada à internet)

Eu criei uma rede NAT 172.16.0.0/16 e alguns vSwitches internos abaixo para que os convidados se comuniquem através do NAT. Cada máquina virtual tem apenas uma interface de rede conectada a um único vSwitch, que fornece a interface para a rede NAT. Seu endereço IP e servidores DNS são definidos manualmente. Cada convidado adiciona um servidor DNS de cada rede conectada.

De convidados Linux atrás do NAT, posso alcançar as duas redes conectadas ao host ao mesmo tempo, sem problemas. O sistema operacional de gerenciamento do servidor 2016 também pode se conectar a ambas as redes, sem problemas. No entanto, o principal problema é que os convidados do Windows parecem apenas poder se comunicar com uma das duas redes no host a qualquer momento e alternar entre eles aparentemente de forma indeterminável .

Por exemplo, no Linux (RHEL 7), posso me comunicar com hosts em ambas as redes simultaneamente. No entanto, nos convidados do Windows (testando com convidados do Windows 8.1 e Server 2016), só posso acessar uma das duas redes conectadas ao host a qualquer momento. As conexões destinadas a uma rede funcionarão bem, enquanto as conexões destinadas à outra sempre atingirão o tempo limite.

A rede que possui conectividade também parece "alternar" ocasionalmente. Se eu fizer um tracert para um destino na rede sem conectividade, ele será interrompido por um bom tempo (30s a talvez um ou dois minutos), mas eventualmente ele ganhará conectividade. Para mim, parece ser apenas uma jogada de dados a qual rede eu estou conectada. Porém, quando esse 'switch' acontece, a conectividade será perdida para a outra rede. Quando a conexão está regularmente em uso, a conexão de rede ativa parece relativamente estável ...

Eu tentei alterar as configurações de sufixo DNS de conexão e tentei ativar / desativar o NetBIOS. Eu verifiquei as tabelas de roteamento nos convidados e host, nada parece estar errado. Não tenho certeza de onde ir solucionando problemas a partir daqui. Eu não estou executando nenhuma das funções dhcp / routing no sistema operacional de gerenciamento.

    
por sytech 23.08.2017 / 15:50

1 resposta

0

Consegui resolver (o tipo) o problema principal, adicionando uma segunda interface de rede dedicada ao tráfego para a rede local, excluindo as rotas padrão e adicionando manualmente uma nova rota "padrão" para usar uma interface específica e outra rota para a rede dept.local .

Eu executei os seguintes comandos, em que 172.16.1.1 é o IP do comutador virtual e if 4 é usado para a rota "padrão" e if 7 é usado para a rede dept.local .

route delete 0.0.0.0
route add -p 0.0.0.0 mask 0.0.0.0 172.16.1.1 metric 200 if 4
route add -p 10.101.8.0 mask 255.255.252.0 172.16.1.1 metric 100 if 7
Ainda não está claro para mim, no entanto, por que o tráfego não funciona ao tentar rotear através da mesma interface, mesmo que o gateway seja o mesmo e ainda mais porque não é um problema no Linux. Se alguém puder explicar isso para mim e / ou fornecer uma solução melhor que não exija uma segunda interface, terei prazer em aceitar a resposta.

    
por 23.08.2017 / 20:07