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 é:
- 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.
- 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.
- 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).