IoT Edge voor Linux op Windows-netwerken
Van toepassing op: IoT Edge 1.5
Belangrijk
IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS is het einde van de levensduur vanaf 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.
Dit artikel bevat informatie over het configureren van het netwerk tussen het Windows-host-besturingssysteem en de virtuele Machine van IoT Edge voor Linux op Windows (EFLOW). EFLOW maakt gebruik van een virtuele CBL-Mariner Linux-machine om IoT Edge-modules uit te voeren. Zie Wat is Azure IoT Edge voor Linux in Windows voor meer informatie over EFLOW-architectuur.
Netwerken
Om een communicatiekanaal tot stand te brengen tussen het Windows-hostbesturingssysteem en de virtuele EFLOW-machine, gebruiken we de Hyper-V-netwerkstack. Zie de basisbeginselen van Hyper-V-netwerken voor meer informatie over Hyper-V-netwerken. Basisnetwerken in EFLOW zijn eenvoudig; het maakt gebruik van twee delen, een virtuele switch en een virtueel netwerk.
De eenvoudigste manier om basisnetwerken op Windows-client-SKU's tot stand te brengen, is door de standaardswitch te gebruiken die al is gemaakt door de Hyper-V-functie. Als er tijdens de EFLOW-implementatie geen specifieke virtuele switch is opgegeven met behulp van de -vSwitchName
en -vSwitchType
vlaggen, wordt de virtuele machine gemaakt met behulp van de standaardswitch.
Op Apparaten met Windows Server-SKU's is netwerken iets ingewikkelder omdat er geen standaardswitch beschikbaar is. Er is echter een uitgebreide handleiding over het maken van virtuele Windows-switches in Azure IoT Edge voor Linux.
Als u verschillende typen netwerken wilt verwerken, kunt u verschillende typen virtuele switches gebruiken en meerdere virtuele netwerkadapters toevoegen.
Opties voor virtuele switch
EFLOW ondersteunt twee typen virtuele Hyper-V-switches: intern en extern. U kiest welke van elke gewenste optie u wilt wanneer u deze maakt voorafgaand aan de EFLOW-implementatie. U kunt Hyper-V-beheer of de Hyper-V-module voor Windows PowerShell gebruiken om virtuele switches te maken en te beheren. Zie Een virtuele switch maken voor virtuele Hyper-V-machines voor meer informatie over het maken van een virtuele switch.
U kunt enkele wijzigingen aanbrengen in een virtuele switch nadat u deze hebt gemaakt. Het is bijvoorbeeld mogelijk om een bestaande switch te wijzigen in een ander type, maar dit kan van invloed zijn op de netwerkmogelijkheden van de virtuele EFLOW-machine die is verbonden met die switch. Het is dus niet raadzaam om de configuratie van de virtuele switch te wijzigen, tenzij u een fout hebt gemaakt of iets moet testen.
Afhankelijk van of de EFLOW-VM is geïmplementeerd in een Windows-client-SKU of Windows Server SKU-apparaat, ondersteunen we verschillende typen switches, zoals wordt weergegeven in de volgende tabel.
Type virtuele switch | Windows-client-SKU's | Windows Server-SKU's |
---|---|---|
Extern |
![]() |
![]() |
Intern | - |
![]() |
Standaardschakelaar |
![]() |
- |
Externe virtuele switch : maakt verbinding met een bekabeld, fysiek netwerk door verbinding te maken met een fysieke netwerkadapter. Virtuele machines hebben toegang tot een fysiek netwerk om te communiceren met apparaten in een extern netwerk. Daarnaast kunnen virtuele machines op dezelfde Hyper-V-server met elkaar communiceren.
Interne virtuele switch : maakt verbinding met een netwerk dat alleen kan worden gebruikt door de virtuele machines die worden uitgevoerd op de host met de virtuele switch, en tussen de host en de virtuele machines.
Notitie
De standaardswitch is een bepaalde interne virtuele switch die standaard is gemaakt zodra Hyper-V is ingeschakeld in Windows-client-SKU's. Voor de virtuele switch is al een DHCP-server ingeschakeld voor IP-toewijzingen, ICS (Internet Connection Sharing) en een NAT-tabel. Voor EFLOW-doeleinden is de standaardswitch een virtuele interne switch die zonder verdere configuratie kan worden gebruikt.
IP-adrestoewijzingen
Als u IP-communicatie van het EFLOW-VM-netwerk wilt inschakelen, moet aan de virtuele machine een IP-adres zijn toegewezen. Dit IP-adres kan worden geconfigureerd met twee verschillende methoden: statisch IP of DHCP.
Afhankelijk van het type virtuele switch dat wordt gebruikt, ondersteunt EFLOW-VM verschillende IP-toewijzingen, zoals wordt weergegeven in de volgende tabel.
Type virtuele switch | Statisch IP-adres | DHCP |
---|---|---|
Extern |
![]() |
![]() |
Intern |
![]() |
![]() |
Standaardschakelaar | - |
![]() |
Statisch IP- Dit IP-adres wordt tijdens de installatie permanent toegewezen aan de EFLOW-VM en wordt niet gewijzigd tijdens het opnieuw opstarten van de EFLOW-VM of Windows-host. Statische IP-adressen hebben doorgaans twee versies: IPv4 en IPv6; EFLOW biedt echter alleen ondersteuning voor statisch IP-adres voor IPv4-adressen. Op netwerken met een statisch IP-adres heeft elk apparaat in het netwerk het adres zonder overlap. Tijdens de EFLOW-installatie moet u het IP4-adres van de EFLOW-VM(), de lengte van het IP4-voorvoegsel(
-ip4PrefixLength
) en het standaard-GATEWAY-IP4-adres(-ip4Address
-ip4GatewayAddress
) invoeren. Alle drie de parameters moeten invoer zijn voor de juiste configuratie.Als u bijvoorbeeld de EFLOW-VM wilt implementeren met behulp van een externe virtuele switch met de naam ExternalEflow met een statisch IP-adres 192.168.0.100, standaardgateway 192.168.0.1 en een lengte van 24, is de volgende implementatieopdracht nodig
Deploy-Eflow -vSwitchName "ExternalEflow" -vswitchType "External" -ip4Address 192.168.0.100 -ip4GatewayAddress 192.168.0.1 -ip4PrefixLength 24
Waarschuwing
Wanneer u een statisch IP-adres gebruikt, moeten de drie parameters (
ip4Address
,ip4GatewayAddress
,ip4PrefixLength
) worden gebruikt. Als het IP-adres ongeldig is, wordt gebruikt door een ander apparaat in het netwerk of als het gatewayadres onjuist is, kan de EFLOW-installatie mislukken omdat de EFLOW-VM geen IP-adres kan ophalen.DHCP : in tegenstelling tot statisch IP-adres, wordt de virtuele EFLOW-machine toegewezen aan een dynamisch IP-adres. Dit is een adres dat kan veranderen. Het netwerk moet een DHCP-server hebben geconfigureerd en werken om dynamische IP-adressen toe te wijzen. De DHCP-server wijst een leeg IP-adres toe aan de EFLOW-VM en anderen die zijn verbonden met het netwerk. Daarom is bij het implementeren van EFLOW met DHCP geen IP-adres, gatewayadres of voorvoegsellengte nodig, omdat de DHCP-server alle informatie levert.
Waarschuwing
Wanneer u EFLOW implementeert met DHCP, moet er een DHCP-server aanwezig zijn in het netwerk dat is verbonden met de virtuele EFLOW-SWITCH van de virtuele EFLOW-machine. Als er geen DHCP-server aanwezig is, mislukt de EFLOW-installatie omdat de VM geen IP-adres kan ophalen.
DNS
Domain Name System (DNS) vertaalt door mensen leesbare domeinnamen (bijvoorbeeld www.microsoft.com) naar door machines leesbare IP-adressen (bijvoorbeeld 192.0.2.44). De virtuele EFLOW-machine maakt gebruik van systemd (systeem- en servicemanager), zodat de DNS- of naamomzettingsservices worden geleverd aan lokale toepassingen en services via de door het systeem opgeloste service.
Standaard bevat het DNS-configuratiebestand van de EFLOW-VM de lokale stub 127.0.0.53 als enige DNS-server. Dit wordt omgeleid naar het bestand /etc/resolv.conf , dat wordt gebruikt om de naamservers toe te voegen die door het systeem worden gebruikt. De lokale stub is een DNS-server die lokaal wordt uitgevoerd om DNS-query's op te lossen. In sommige gevallen worden deze query's doorgestuurd naar een andere DNS-server in het netwerk en vervolgens lokaal in de cache opgeslagen.
Het is mogelijk om de virtuele EFLOW-machine te configureren voor het gebruik van een specifieke DNS-server of een lijst met servers. Hiervoor kunt u de Set-EflowVmDnsServers
PowerShell-cmdlet gebruiken. Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor meer informatie over DNS-configuratie.
Gebruik de volgende opdracht resolvectl status
om de DNS-servers te controleren die zijn toegewezen aan de EFLOW-VM. De uitvoer van de opdracht toont een lijst met de DNS-servers die voor elke interface zijn geconfigureerd. Het is met name belangrijk om de eth0-interfacestatus te controleren. Dit is de standaardinterface voor de EFLOW-VM-communicatie. Zorg er ook voor dat u de IP-adressen van de velden huidige DNS-serveren DNS-servers van de lijst controleert. Als er geen IP-adres is of als het IP-adres geen geldig IP-adres van de DNS-server is, werkt de DNS-service niet.
Statisch MAC-adres
Met Hyper-V kunt u virtuele machines maken met een statisch of dynamisch MAC-adres. Tijdens het maken van de virtuele EFLOW-machine wordt het MAC-adres willekeurig gegenereerd en lokaal opgeslagen om hetzelfde MAC-adres te behouden voor virtuele machines of het opnieuw opstarten van de Windows-host. Als u een query wilt uitvoeren op het MAC-adres van de virtuele EFLOW-machine, kunt u de volgende opdracht gebruiken.
Get-EflowVmAddr
Meerdere netwerkinterfacekaarten (NIC's)
Er zijn veel virtuele netwerkapparaten en scenario's waarvoor meerdere NIC's zijn vereist. De virtuele EFLOW-machine ondersteunt het koppelen van meerdere NIC's. Met meerdere NIC's kunt u uw netwerkverkeer beter beheren. U kunt ook verkeer tussen de front-end-NIC en back-end-NIC's isoleren, of het verkeer van het gegevensvlak scheiden van de communicatie van het beheervlak.
Er zijn bijvoorbeeld talloze industriële IoT-scenario's waarvoor de virtuele EFLOW-machine moet worden verbonden met een gedemilitariseerde zone (DMZ) en naar het offlinenetwerk waar alle OPC UA-compatibele apparaten zijn verbonden. Dit is slechts een van de meerdere scenario's die kunnen worden ondersteund door meerdere NIC's aan de EFLOW-VM te koppelen.
Zie PowerShell-functies voor IoT Edge voor Linux in Windows voor meer informatie over het toevoegen van NIC's.
Waarschuwing
Wanneer u de functie EFLOW meerdere NIC's gebruikt, kunt u de verschillende routesprioriteiten instellen. Standaard maakt EFLOW één standaardroute per ehtX-interface die is toegewezen aan de VIRTUELE machine en wijst een willekeurige prioriteit toe. Als alle interfaces zijn verbonden met internet, zijn willekeurige prioriteiten mogelijk geen probleem. Als een van de NIC's echter is verbonden met een offlinenetwerk, kunt u prioriteit geven aan de online-NIC via de offline-NIC om de EFLOW-VM verbinding te laten maken met internet. Zie EFLOW-routering voor meer informatie over aangepaste routering.
Volgende stappen
Lees meer over Azure IoT Edge voor Linux op Windows-beveiliging.
Meer informatie over het beheren van de configuratie van EFLOW-netwerken voor Azure IoT Edge voor Linux in Windows