Como transformar um host Hyper-V em um gateway de uplink para todos os seus convidados?

3

Atualmente, tenho apenas a configuração básica em que criei um único comutador externo Hyper-V virtual no meu adaptador Wi-Fi, ao qual meu guest Linux, até o momento, está conectado com sua NIC virtual.

Este é um laptop que eu levaria rotineiramente ao meu campus, o que permite que os alunos acessem sem fio a Internet e as redes do campus, usando Wi-Fi com autenticação WPA2 + RADIUS. O aluno é autenticado com seu nome de usuário e senha.

Meu problema imediato no campus é que quando eu inicializo o convidado e ele tenta configurar sua NIC virtual com DHCP contra o mesmo gateway ao qual o host está conectado, este perde toda a conectividade de uplink até que eu reinicie Windows. Eu suspeito que isso tem a ver com o fato de que o sistema de autenticação RADIUS no campus não gosta que existam dois endpoints IP distintos no meu final, associados a um token de autenticação 802.11 ou algo assim. Pode até ser configurado para detectar e impedir explicitamente isso, não sei.

Outro problema é que, mesmo que o gateway fosse capaz de acomodar a configuração acima, normalmente são endereços de mãos para ambos através de DHCP, e eu observei o convidado alterando seu endereço IP com muita frequência, o que apresenta problemas fora de vista "quando precisar se conectar a ele a partir do host (no SSH, por exemplo).

Pensando nisso, decidi que minha conectividade com a Internet não deveria depender de como um gateway de uplink é configurado e, até onde eu sei, o NAT é a solução perfeita para isso. Um sistema virtual de NAT, diretamente no host, deveria fazê-lo, certo?

De qualquer forma, o que eu preciso é:

  1. O meu convidado e host devem estar na mesma camada 2 ou rede LAN. O convidado é um Linux que eu preciso ser capaz de acessar via SSH, e também planejo montar uma pasta de host no guest através do SMB.
  2. Quero que o convidado e o host tenham endereços persistentes na rede mencionada, por isso sempre sei onde encontrar um do outro. Sem DHCP.
  3. Eu obviamente preciso ser uplinked do host e do guest, de alguma forma. Eu acho que este requisito, juntamente com os outros dois, sugeriria strongmente um NAT onde os convidados formam uma rede de camada 2 ou LAN com o host, ou onde o host funciona como um roteador / gateway para os convidados.

Eu tenho um adaptador Ethernet e Wi-Fi no host e, embora eu esteja frequentemente em Wi-Fi, quero também que o uplink por meio da Ethernet funcione.

Eu leia sobre o WinNAT acreditando que é o que eu estou procurando, mas emitindo o seguindo comandos no meu console administrativo do PowerShell no host, não tenho certeza de onde estou:

New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 24
New-NetNat -Name HelloNAT -InternalIPInterfaceAddressPrefix 192.168.0.0/24

O switch virtual interno está configurado anteriormente, Get-NetAdapter me informa que o índice da interface do switch é 24 , que é o usado acima. A VM do Debian Linux está configurada com o seguinte em /etc/network/interfaces :

iface eth0 inet static
    address 192.168.0.3
    netmask 255.255.255.0
    gateway 192.168.0.1

Eu não consigo nem fazer o ping nem rastrear o endereço do gateway da VM, sem mencionar qualquer endereço WAN como 8.8.8.8 (um dos servidores DNS públicos do Google).

    
por amn 25.11.2016 / 21:54

1 resposta

0

Eu descobri depois de um hiato com isso que meu NAT não foi configurado corretamente, pois parecia ter um endereço IP totalmente falso atribuído, que não me lembro de configurar ou inventar. O valor era muito aleatório, então decidi que era algum tipo de valor perdido. Lembro que configurei tudo como a Microsoft me guiou , então a única escolha que me restou foi para refazer novamente.

Eu removi a rede NAT com Get-NetNat | Remove-NetNat e também removi os registros de endereço IP do comutador virtual com Remove-NetIPAddress -InterfaceIndex , deixando-me finalmente com apenas o switch vazio e sem endereços associados a ele.

Então eu segui o guia novamente e refiz as coisas, desta vez certificando-me de que o endereço "192.168.0.1/24" que eu estava atribuindo, estivesse ligado a ele. E isso aconteceu.

Tudo funciona como esperado até agora. Isso é para a posteridade - siga o artigo da Microsoft e você deve ter um NAT em funcionamento conforme descrito na pergunta. Sem DNS, não sem etapas extras.

    
por 03.02.2017 / 16:25