Skip to content
Systeem

Configureer het netwerk van een Debian 13 VM onder Hyper-V

Avatar illustré de Julien Macé 6 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.

De VM start, Debian 13 is geïnstalleerd, maar deze is niet zichtbaar vanaf het netwerk. Of het adres verandert na een verplaatsing van de Hyper-V host. In beide gevallen, vermijd het willekeurig wijzigen van Debian: de onderbreking kan zich bevinden op de virtuele kaart, de switch of de interface van de gast.

Het netwerk van een Debian 13 VM onder Hyper-V wordt van buiten naar binnen gelezen: Hyper-V kaart, virtuele switch, netwerkinfrastructuur van de host, en dan de interface en route in Debian. Als de VM nog niet is aangemaakt, begin dan met de Hyper-V VM en zijn Debian 13 installatie. Anders, noteer elke laag voordat je deze wijzigt.

Server verbonden met een virtuele switch en een Debian machine in Hyper-V
De fysieke kaart, de virtuele switch en de VM moeten tot hetzelfde netwerkpad behoren.

Lees de Hyper-V kaart voor Debian

Vanaf PowerShell geopend als administrator op de Windows host, noteer de switch, de kaart en het momenteel gebruikte MAC-adres.

Get-VMSwitch
Get-VMNetworkAdapter -VMName "<naam-van-de-vm>" | Format-List *

Get-VMSwitch geeft het type van de switch aan: External, Internal of Private. De tweede opdracht geeft de eigenschappen van de kaart van de VM weer. Bewaar de naam van de switch en het MAC-adres in je notities voordat je enige wijziging aanbrengt. Een IP-adres dat ontbreekt in de uitvoer aan de kant van de host, bewijst niet dat Debian deze niet heeft: controleer het adres in de gast.

Het type netwerkkaart van Hyper-V kan niet worden gewijzigd na de creatie van de VM. Als er per ongeluk een legacy kaart is toegevoegd, geef ik de voorkeur aan het behouden van de specifieke Hyper-V adapter en het verwijderen van de oude, tenzij er een daadwerkelijke behoefte is aan PXE-boot. Voor een wijziging van het type switch, informeer de andere aangesloten VM’s: zij zullen allemaal betrokken zijn.

Kies de switch op basis van de machines die moeten worden verbonden

De switch beantwoordt een eenvoudige vraag: wie moet met de VM communiceren, en wie geeft deze een adres? Dit is de beslissing die je moet nemen voordat je een bestand in Debian bewerkt.

SwitchToegangIP-adresGebruik
ExternVM en fysiek netwerkDHCP van het lokale netwerk, doorgaansVM bereikbaar op het LAN
InternVM en hostTe voorzien door je configuratieUitwisseling met Windows of tussen lokale diensten
PrivéVM met elkaarTe voorzien in de gastenNetwerk geïsoleerd van de andere lagen
Interne NATVM naar buiten via de hostAdres, gateway en DNS in de VM instellenGecontroleerde uitvoer zonder directe blootstelling

WinNAT distribueert zelf geen adres naar VM’s. Voor een interne NAT-netwerk documenteert Microsoft het aanmaken van de switch en de gateway, en vervolgens de handmatige configuratie van de gast. De onderstaande waarden zijn voorbeelden: vervang de index die je op je host vindt.

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

Get-NetAdapter zou je in staat moeten stellen om vEthernet (LEC-NAT) en zijn ifIndex te identificeren. Get-NetNat leest dan het aangemaakte netwerk opnieuw. Volgens de Microsoft documentatie is momenteel slechts één NAT-netwerk mogelijk per host: als er al een NAT bestaat, voeg er dan geen tweede toe.

Bevestig de synthetische adapter in Debian

In Debian 13, begin met het lezen van de echte naam van de interface. Vervang deze naam niet automatisch door enp1s0: deze dient hier als voorbeeld voor de laatste twee opdrachten.

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 moet tonen dat er een Ethernet interface is, naast lo. Met de echte naam, hoort ethtool -i de driver hv_netvsc aan te geven, die van de Hyper-V synthetische kaart is. Je kunt ook de status van de link en de driver controleren met ethtool.

De ondersteuning van Linux Integration Services is geïntegreerd in de distributie zoals gedocumenteerd door Microsoft. Installeer niet het Microsoft LIS-pakket, en start geen apt install hyperv-daemons als netwerkfix: deze daemons bieden niet het IP-adres. Als er nog een oude legacy kaart is aangesloten, verwijder deze dan nadat je de configuratie hebt genoteerd, omdat Microsoft inconsistente interface-namen in dit geval meldt.

Controleer het adres, de route en de DNS

Op een externe switch komt het adres normaal gesproken van de lokale DHCP. De Debian-installateur gebruikt standaard DHCP om het netwerk te doorzoeken. Maak de controles in deze volgorde, zonder wijzigingen op te stapelen.

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

Je zoekt naar een adres in het juiste prefix, een regel default via, een bereikbare gateway, dan een antwoord naar een IP-adres en tenslotte een opgelost naam. Geen adres wijst op een probleem met toewijzing of netwerkbeheerder. Een bereikbare gateway zonder externe toegang wijst naar de route of de NAT. Een IP-adres dat antwoord geeft zonder resolutie verwijst naar de DNS; test de DNS resolutie met dig om deze laatste controle te verfijnen.

Stel het adres in de gast vast wanneer DHCP niet voldoende is

Op een interne of NAT switch, geeft de host Debian niet automatisch een adres. De Microsoft matrix vinkt de injectie van statisch IP niet aan voor Debian. Het adres, de gateway en de DNS moeten dus consistent zijn in de gast.

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

Deze twee opdrachten tonen welke dienst actief is. NetworkManager is niet standaard geïnstalleerd op een minimale Debian server. Ik raad je aan om het adres alleen na deze controle vast te leggen, en vervolgens de methode van statisch IP op Debian te volgen die geschikt is voor de aanwezige beheerder. Als de VM alleen via SSH toegankelijk is, open dan een tweede sessie of houd de Hyper-V-console open voordat je het netwerk opnieuw laadt, en herstel het opgeslagen bestand als de verbinding verbroken raakt.

Stabiliseer het MAC-adres alleen voor een wijziging van de host

Een test VM heeft meestal geen vast MAC-adres nodig. De instelling wordt nuttig bij een wijziging van de host, een failover-cluster of een DHCP-reservering gekoppeld aan het MAC-adres.

Get-VMNetworkAdapter -VMName "<naam-van-de-vm>" | Format-List *
Set-VMNetworkAdapter -VMName "<naam-van-de-vm>" -StaticMacAddress "00155D012345"
Get-VMNetworkAdapter -VMName "<naam-van-de-vm>" | Format-List *

Noteer het MAC-adres voordat je de actie uitvoert, en vergelijk daarna de opnieuw gelezen waarde. Vervang het voorbeeld door een geldig adres en bewaar de originele waarde om terug te kunnen keren naar de vorige configuratie. De parameter -DynamicMacAddress maakt het mogelijk om automatisch toe te wijzen. MAC-spoofing valt onder een andere behoefte, zoals routeren of genest virtualisatie.

Stop bij de controle die mislukt

Hier is de laatste controle, van de host naar Debian:

  • de Hyper-V kaart is verbonden met de verwachte switch;
  • de opnieuw gelezen MAC komt overeen met de genoteerde of gekozen waarde;
  • ip -brief addr toont de verwachte interface en adres;
  • ip route bevat een standaard route;
  • de gateway reageert en een Debian naam wordt opgelost.
udevadm test-builtin net_setup_link /sys/class/net/enp1s0 2>/dev/null

In deze laatste opdracht vervang je nogmaals enp1s0 door de echte naam. De regel ID_NET_NAME geeft de naam aan die Debian 13 zou toepassen. Als deze naam verschilt, zijn er in de release-notities van Trixie aanwijzingen voor een systemd.link bestand om deze te fixeren voor een herstart.

Let op: Debian 13 verschijnt niet in de Microsoft matrix van Debian VM’s, die gestopt is bij Debian 12. Deze tekst behandelt dus niet de gast-firewall, of IPv6, of de integratiediensten. Als de kaart, de switch, de route en de DNS consistent zijn, stop dan met het wijzigen van het netwerk en ga verder met het diagnosticeren van de betreffende dienst.

Share Facebook X WhatsApp LinkedIn Pinterest Reddit Email