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.
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.
| Switch | Toegang | IP-adres | Gebruik |
|---|---|---|---|
| Extern | VM en fysiek netwerk | DHCP van het lokale netwerk, doorgaans | VM bereikbaar op het LAN |
| Intern | VM en host | Te voorzien door je configuratie | Uitwisseling met Windows of tussen lokale diensten |
| Privé | VM met elkaar | Te voorzien in de gasten | Netwerk geïsoleerd van de andere lagen |
| Interne NAT | VM naar buiten via de host | Adres, gateway en DNS in de VM instellen | Gecontroleerde 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 addrtoont de verwachte interface en adres;ip routebevat 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.