Tutoriel Linux

Nastavení sítě pro VM Debian 13 pod Hyper-V

Débutant6 min de lecture

VM se spustí, Debian 13 je nainstalován, ale zůstává neviditelný z networku. Nebo se adresa změní po přesunu Hyper-V hostitele. V obou případech se vyhněte náhodným úpravám Debianu: problém může být na virtuální síťové kartě, přepínači nebo rozhraní hosta.

Síť VM Debian 13 na Hyper-V se čte z vnějšího směru do vnitřního: Hyper-V karta, virtuální přepínač, síť hostitele, pak rozhraní a trasa v Debianu. Pokud VM ještě není vytvořena, začněte s VM Hyper-V a její instalací Debianu 13. Jinak zkontrolujte každou vrstvu před jejím změněním.

Server připojený k virtuálnímu přepínači a Debianu na Hyper-V
Fyzická karta, virtuální přepínač a VM by měly patřit do stejné síťové cesty.

Přečtěte si Hyper-V kartu před Debianem

Otevřete PowerShell jako správce na Windows hostiteli a poznamenejte si přepínač, kartu a aktuálně používanou MAC adresu.

Get-VMSwitch
Get-VMNetworkAdapter -VMName "<jméno-vm>" | Format-List *

Get-VMSwitch ukazuje typ přepínače: External, Internal nebo Private. Druhý příkaz zobrazí vlastnosti virtuální síťové karty. Před jakoukoli změnou si poznamenejte jméno přepínače a MAC adresu. Chybějící IP adresa ve výstupu na straně hostitele neprokazuje, že Debian nemá žádnou: zkontrolujte adresu uvnitř.

Typ Hyper-V síťové karty nelze změnit po vytvoření VM. Pokud byla omylem přidána legacy karta, raději si ponechte specifický Hyper-V adaptér a odstraňte starý, pokud není skutečně potřeba pro PXE bootování. Při změně typu přepínače informujte ostatní připojené VM: všechny budou ovlivněny.

Vyberte přepínač podle připojených strojů

Přepínač odpovídá na jednoduchou otázku: kdo musí komunikovat s VM, a kdo jí přidělí adresu? Toto je rozhodnutí, které je třeba učinit před úpravou jakéhokoli souboru v Debianu.

PřepínačPřístupIP adresaPoužití
ExterníVM a fyzická síťDHCP z místní sítě, obvykleVM dostupná na LAN
InterníVM a hostitelPoskytuje se vaší konfiguracíVýměny mezi Windows nebo mezi lokálními službami
SoukroméVM mezi sebouPoskytuje se uvnitř guestůIzolovaná síť od ostatních vrstev
Interní NATVM venku přes hostiteleAdresa, brána a DNS musí být nastaveny v VMKontrolovaný výstup bez přímé expozice

WinNAT neposkytuje sám adresu VM. Pro interní NAT, Microsoft dokumentuje vytvoření přepínače a brány, následovanou ruční konfigurací guestu. Následující hodnoty jsou příklady: přepište index nalezený na svém hostiteli.

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

Get-NetAdapter by měl umožnit identifikaci vEthernet (LEC-NAT) a jeho ifIndex. Get-NetNat poté znovu načte vytvořenou síť. Aktuálně je povolen pouze jeden NAT sítí na hostiteli podle dokumentace Microsoft: pokud již existuje NAT, nepřidávejte další.

Potvrďte syntetický adaptér v Debianu

V Debianu 13 začněte čtením skutečného názvu rozhraní. Nepřepisujte automaticky toto jméno na enp1s0: slouží zde jako příklad pro poslední dva příkazy.

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 by měl ukázat Ethernet rozhraní kromě lo. Se skutečným názvem, ethtool -i by měl uvádět ovladač hv_netvsc, ovladač pro syntetickou kartu Hyper-V. Můžete také zkontrolovat stav odkazu a ovladače pomocí ethtool.

Podpora Linux Integration Services je integrována do distribuce zdokumentované Microsoftem. Nainstalujte balíček LIS Microsoft, a nespouštějte apt install hyperv-daemons jako síťovou opravu: tyto démoni neposkytují IP adresu. Pokud je navíc připojena stará legacy karta, odpojte ji po zaznamenání konfigurace, protože Microsoft hlásí nekonzistentní jména rozhraní v tomto případě.

Zkontrolujte adresu, trasu a DNS

Na externím přepínači adresa obvykle pochází z DHCP místní sítě. Instalátor Debian používá ve výchozím nastavení DHCP k prozkoumání sítě. Provádějte kontroly v tomto pořadí, aniž byste akumulovali změny.

ip -brief addr
ip route
cat /etc/resolv.conf
ping -c 3 <brána-přečtená-v-ip-route>
ping -c 3 1.1.1.1
getent hosts deb.debian.org

Hledejte adresu ve správném prefixu, řádek default via, dosažitelnou bránu, pak odpověď na IP adresu a nakonec rozlišený název. Chybějící adresa naznačuje problém s přidělením nebo správou sítě. Dosažitelná brána bez vnějšího přístupu ukazuje na trasu nebo NAT. IP adresa, která odpovídá bez rozlišení, naznačuje problém s DNS; testovat rozlišení DNS pomocí dig pomáhá upřesnit tuto poslední kontrolu.

Opravit adresu v guestu, když DHCP nestačí

Na interním nebo NAT přepínači hostitel automaticky neposkytuje Debianu adresu. Microsoftova matice neškrtnula injekci statických IP pro Debian. Adresa, brána a DNS musí být tedy v guestu konzistentní.

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

Tato dvě příkazy ukazují, který servis je aktivní. NetworkManager není ve výchozím stavu nainstalován na minimálním serveru Debian. Doporučuji nastavit adresu až po této kontrole, a pak sledovat metodu statické IP adresy v Debianu přizpůsobenou přítomnému správci. Pokud je VM přístupná pouze přes SSH, otevřete druhou relaci nebo si ponechte konzoli Hyper-V před obnovením sítě, pak obnovte uložený soubor, pokud dojde k poklesu připojení.

Stabilizujte MAC pouze při změně hostitele

Testovací VM obvykle nepotřebuje fixní MAC. Nastavení se stává užitečným při změně hostitele, v clusteru failover nebo na rezervaci DHCP spojenou s MAC.

Get-VMNetworkAdapter -VMName "<jméno-vm>" | Format-List *
Set-VMNetworkAdapter -VMName "<jméno-vm>" -StaticMacAddress "00155D012345"
Get-VMNetworkAdapter -VMName "<jméno-vm>" | Format-List *

Před akcí si poznamenejte MAC, pak porovnejte přečtenou hodnotu. Nahraďte příklad platnou adresou a ponechte původní hodnotu pro návrat k předchozí konfiguraci. Parametr -DynamicMacAddress umožňuje vrátit automatické přidělení. MAC spoofing spadá pod jinou potřebu, například směrování nebo vnořenou virtualizaci.

Zastavte se u neúspěšné kontroly

Zde je závěrečná kontrola, z hostitele do Debianu:

  • Hyper-V karta je připojena k očekávanému přepínači;
  • přečtená MAC odpovídá zaznamenané nebo vybrané hodnotě;
  • ip -brief addr ukazuje očekávané rozhraní a adresu;
  • ip route obsahuje výchozí trasu;
  • brána odpovídá a Debian název se rozlišuje.
udevadm test-builtin net_setup_link /sys/class/net/enp1s0 2>/dev/null

V tomto posledním příkazu znovu nahraďte enp1s0 skutečným názvem. Řádek ID_NET_NAME ukazuje název, který by Debian 13 aplikoval. Pokud se tento název liší, poznámky k verzi Trixie předpovídají soubor systemd.link, aby se zafixoval před restartem.

Pozor: Debian 13 se v Microsoft matice VM Debianu nezobrazuje, která končí na Debianu 12. Tento text tedy nepokrývá ani firewall na guest, ani IPv6, ani integrační služby. Pokud jsou karta, přepínač, trasa a DNS konzistentní, zastavte síťové změny a přejděte k diagnostice dotčené služby.