Skip to content
Sistema

Configurar a rede de uma VM Debian 13 no Hyper-V

Avatar illustré de Julien Macé 5 min read
Serveur relié à un commutateur virtuel et à une machine Debian dans Hyper-V
La carte physique, le commutateur virtuel et la VM doivent appartenir au même chemin réseau.

A VM inicia, Debian 13 está instalado, mas permanece invisível na rede. Ou o endereço muda após um deslocamento do host Hyper-V. Em ambos os casos, evite modificar o Debian aleatoriamente: a interrupção pode estar no cartão virtual, no switch ou na interface do convidado.

A rede de uma VM Debian 13 sob Hyper-V é lida de fora para dentro: cartão Hyper-V, switch virtual, rede do host e, em seguida, interface e rota no Debian. Se a VM ainda não foi criada, comece pela VM Hyper-V e sua instalação Debian 13. Caso contrário, verifique cada camada antes de alterá-la.

Servidor conectado a um switch virtual e a uma máquina Debian no Hyper-V
O cartão físico, o switch virtual e a VM devem pertencer ao mesmo caminho de rede.

Leia o cartão Hyper-V antes do Debian

Com o PowerShell aberto como administrador no host Windows, anote o switch, o cartão e o endereço MAC atualmente utilizados.

Get-VMSwitch
Get-VMNetworkAdapter -VMName "<nome-da-vm>" | Format-List *

Get-VMSwitch indica o tipo do switch: External, Internal ou Private. O segundo comando detalha as propriedades do cartão da VM. Mantenha o nome do switch e a MAC em suas anotações antes de qualquer modificação. Um endereço IP ausente na saída do lado do host não prova que o Debian não possui: verifique o endereço no convidado.

O tipo de cartão de rede Hyper-V não pode ser alterado após a criação da VM. Se um cartão legacy foi adicionado por engano, prefiro manter o adaptador específico do Hyper-V e remover o antigo, a menos que haja uma necessidade real de boot pela rede. Para uma mudança de tipo de switch, avise as outras VMs conectadas: todas elas serão afetadas.

Escolha o switch de acordo com as máquinas a conectar

O switch responde a uma pergunta simples: quem deve se comunicar com a VM, e quem fornecerá um endereço? Aqui está a decisão a ser tomada antes de editar um arquivo Debian.

SwitchAcessoEndereço IPUso
ExternoVM e rede físicaDHCP da rede local, em geralVM acessível na LAN
InternoVM e hostA ser fornecido pela sua configuraçãoTrocas com o Windows ou entre serviços locais
PrivadoVM entre siA ser fornecido nos convidadosRede isolada das outras camadas
NAT internoVM para o exterior via o hostEndereço, gateway e DNS a configurar na VMSaída controlada sem exposição direta

WinNAT não distribui por si só um endereço para as VMs. Para uma rede NAT interna, a Microsoft documenta a criação do switch e do gateway, seguido da configuração manual do convidado. Os valores abaixo são exemplos: substitua o índice encontrado em seu host.

New-VMSwitch -Name "LEC-NAT" -SwitchType Internal
Get-NetAdapter
New-NetIPAddress -IPAddress 192.168.50.1 -PrefixLength 24 -InterfaceIndex <ifIndex-do-vEthernet>
New-NetNat -Name "LEC-NAT" -InternalIPInterfaceAddressPrefix 192.168.50.0/24
Get-NetNat

Get-NetAdapter deve permitir que você identifique vEthernet (LEC-NAT) e seu ifIndex. Get-NetNat lê novamente a rede criada. Atualmente, uma única rede NAT é possível por host, de acordo com a documentação da Microsoft: se um NAT já existir, não adicione um segundo.

Confirme o adaptador sintético no Debian

No Debian 13, comece lendo o verdadeiro nome da interface. Não substitua automaticamente este nome por enp1s0: ele é usado aqui como exemplo para os dois últimos comandos.

ip -brief link
ip -brief addr
ethtool -i enp1s0
lsmod | grep -E 'hv_netvsc|hv_vmbus'
dmesg | grep -i -E 'hv_netvsc|hv_vmbus'

ip -brief link deve mostrar uma interface Ethernet além de lo. Com o nome real, ethtool -i deve indicar o driver hv_netvsc, o da placa sintética Hyper-V. Você também pode verificar o estado do link e do driver com ethtool.

O suporte ao Linux Integration Services está integrado à distribuição documentada pela Microsoft. Não instale o pacote LIS da Microsoft, e não execute apt install hyperv-daemons como correção de rede: esses daemons não fornecem o endereço IP. Se um cartão legacy antigo estiver conectado além, remova-o após anotar a configuração, pois a Microsoft relata nomes de interface inconsistentes nesse caso.

Verifique o endereço, a rota e o DNS

Em um switch externo, o endereço normalmente vem do DHCP da rede local. O instalador Debian usa DHCP por padrão para sondar a rede. Faça as verificações nesta ordem, sem amontoar as mudanças.

ip -brief addr
ip route
cat /etc/resolv.conf
ping -c 3 <gateway-lido-em-ip-route>
ping -c 3 1.1.1.1
getent hosts deb.debian.org

Você está procurando um endereço no prefixo correto, uma linha default via, um gateway acessível, depois uma resposta para um endereço IP e, por fim, um nome resolvido. A ausência de um endereço indica um problema de atribuição ou de gerente de rede. Um gateway acessível sem acesso externo aponta para a rota ou o NAT. Um endereço IP que responde sem resolução remete ao DNS; testar a resolução DNS com dig permite refinar essa última verificação.

Defina o endereço no convidado quando o DHCP não for suficiente

Em um switch interno ou NAT, o host não fornece automaticamente um endereço ao Debian. A matriz da Microsoft não marca a injeção de IP estático para o Debian. Portanto, o endereço, o gateway e o DNS devem ser consistentes no convidado.

systemctl is-active NetworkManager
systemctl is-active systemd-networkd

Esses dois comandos mostram qual serviço está ativo. O NetworkManager não está instalado por padrão em um servidor Debian minimal. Eu aconselho a não definir o endereço até depois dessa verificação, e então seguir o método de endereço IP fixo no Debian adequado ao gerenciador presente. Se a VM só for acessível via SSH, abra uma segunda sessão ou mantenha o console Hyper-V aberto antes de recarregar a rede, e então restaure o arquivo salvo se a conexão cair.

Estabilize o MAC apenas para uma mudança de host

Uma VM de teste geralmente não precisa de um MAC fixo. A configuração se torna útil ao mudar de host, de um cluster de failover ou de uma reserva DHCP vinculada ao MAC.

Get-VMNetworkAdapter -VMName "<nome-da-vm>" | Format-List *
Set-VMNetworkAdapter -VMName "<nome-da-vm>" -StaticMacAddress "00155D012345"
Get-VMNetworkAdapter -VMName "<nome-da-vm>" | Format-List *

Anote o MAC antes da ação e, em seguida, compare o valor lido depois. Substitua o exemplo por um endereço válido e mantenha o valor original para retornar à configuração anterior. O parâmetro -DynamicMacAddress permite redefinir uma atribuição automática. A falsificação de MAC diz respeito a outra necessidade, como roteamento ou virtualização aninhada.

Pare na verificação que falha

Aqui está a verificação final, do host para o Debian:

  • o cartão Hyper-V está conectado ao switch esperado;
  • o MAC lido corresponde ao valor anotado ou escolhido;
  • ip -brief addr mostra a interface e o endereço esperados;
  • ip route contém uma rota padrão;
  • o gateway responde e um nome Debian se resolve.
udevadm test-builtin net_setup_link /sys/class/net/enp1s0 2>/dev/null

Nesta última comando, substitua novamente enp1s0 pelo nome real. A linha ID_NET_NAME indica o nome que o Debian 13 aplicaria. Se este nome diferir, as notas de versão do Trixie preveem um arquivo systemd.link para fixá-lo antes de uma reinicialização.

Atenção: Debian 13 não aparece na matriz da Microsoft das VMs Debian, que termina no Debian 12. Portanto, este texto não cobre o firewall do convidado, nem o IPv6, nem os serviços de integração. Se o cartão, o switch, a rota e o DNS estiverem consistentes, pare as modificações de rede e passe ao diagnóstico do serviço envolvido.

Share Facebook X WhatsApp LinkedIn Pinterest Reddit Email