Création d’un commutateur virtuel Azure IoT Edge pour Linux sur Windows

S’applique à :Coche IoT Edge 1.5 IoT Edge 1.5 Coche IoT Edge 1.4 IoT Edge 1.4

Important

IoT Edge 1.5 LTS et IoT Edge 1.4 LTS sont versions prises en charge. IoT Edge 1.4 LTS est fin de vie le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.

Azure IoT Edge pour Linux sur Windows utilise un commutateur virtuel sur l’ordinateur hôte pour communiquer avec la machine virtuelle. Les versions de Windows Desktop sont fournies avec un commutateur par défaut qui peut être utilisé, mais pas Windows Server. Avant de pouvoir déployer IoT Edge pour Linux sur Windows sur un appareil Windows Server, vous devez créer un commutateur virtuel. Par ailleurs, vous pouvez utiliser ce guide pour créer votre commutateur virtuel personnalisé, le cas échéant.

Cet article explique comment créer un commutateur virtuel sur un appareil Windows afin d’installer IoT Edge pour Linux sur Windows. Ce processus comprend les étapes suivantes :

  • Créer un commutateur virtuel
  • Créer une table NAT
  • Installer et configurer un serveur DHCP

Prérequis

Créer un commutateur virtuel

Les étapes suivantes de cette section sont un guide générique pour la création d’un commutateur virtuel. Vérifiez que la configuration du commutateur virtuel est compatible avec votre environnement réseau.

Remarque

Les étapes suivantes décrivent comment créer un commutateur virtuel interne ou privé. Pour plus d’informations sur la création d’un commutateur externe, consultez Créer un commutateur virtuel pour les machines virtuelles Hyper-V. Notez que, si vous utilisez une machine virtuelle Azure, le commutateur virtuel ne peut pas être externe.

  1. Ouvrez une session PowerShell avec élévation de privilèges. Vous pouvez le faire en ouvrant le volet Démarrer sur Windows, puis en tapant « PowerShell ». Cliquez avec le bouton droit sur l’application Windows PowerShell qui s’affiche, puis sélectionnez Exécuter en tant qu’administrateur.

  2. Contrôlez les commutateurs virtuels sur l’hôte Windows et vérifiez que vous n’avez pas encore de commutateur virtuel pouvant être utilisé. Pour ce faire, exécutez la commande Get-VMSwitch suivante dans PowerShell :

    Get-VMSwitch
    

    Si un commutateur virtuel nommé Commutateur par défaut est déjà créé et que vous n’avez pas besoin d’un commutateur virtuel personnalisé, vous devez être en mesure d’installer IoT Edge pour Linux sur Windows sans effectuer les étapes restantes de ce guide.

  3. Créez un commutateur de machine virtuelle portant le nom de votre choix, de type interne ou privé. Pour ce faire, exécutez la commande New-VMSwitch suivante en remplaçant les valeurs des espaces réservés :

    New-VMSwitch -Name "{switchName}" -SwitchType {switchType}
    
  4. Pour obtenir l’adresse IP du commutateur que vous avez créé, vous devez commencer par obtenir son index d’interface. Pour ce faire, vous pouvez exécuter la commande Get-NetAdapter suivante en remplaçant la valeur de l’espace réservé :

    (Get-NetAdapter -Name "{switchName}").ifIndex
    

    Il se peut que vous deviez modifier la valeur du paramètre Name de façon à suivre le vEthernet ({switchName}) modèle si vous recevez une erreur lorsque vous tentez d’exécuter cette commande. Vous devrez obtenir une sortie similaire à l’exemple suivant :

    Capture d’écran du résultat de l’exécution de la commande Get-NetAdapter, mettant en évidence la valeur d’index de l’interface.

    Prenez note de la valeur d’index d’interface, car vous en aurez besoin ultérieurement.

  5. L’adresse IP du commutateur virtuel obtenue sera différente pour chaque environnement. Notez que vous allez utiliser des adresses IP dérivées de la famille 172.20.X.Y pour le reste des commandes de ce guide. Toutefois, vous pouvez utiliser vos propre famille d’adresses et adresses IP.

    Vous allez créer et utiliser les adresses IP suivantes :

    Adresse IP Modèle Exemple
    Adresse IP de la passerelle xxx.xxx.xxx.1 172.20.0.1
    Adresse IP de traduction d'adresses réseau (NAT) xxx.xxx.xxx.0 172.20.0.0
    Adresse IP de début xxx.xxx.xxx.100 172.20.0.100
    Adresse IP de fin xxx.xxx.xxx.200 172.20.0.200
  6. Définissez l’adresse IP de la passerelle en remplaçant le dernier octet de l’adresse IP de votre commutateur virtuel par une nouvelle valeur numérique. Remplacez par exemple le dernier octet par 1 et obtenez l’adresse 172.20.0.1. Exécutez la commande New-NetIPAddress suivante pour définir la nouvelle adresse IP de la passerelle, en remplaçant les valeurs des espaces réservés :

    New-NetIPAddress -IPAddress {gatewayIp} -PrefixLength 24 -InterfaceIndex {interfaceIndex}
    

    L’exécution de cette commande devrait fournir des informations similaires à l’exemple suivant :

    Capture d’écran du résultat de l’exécution de la commande New-NetIPAddress.

  7. Créez un objet de traduction d’adresses réseau (NAT) qui traduit une adresse réseau interne en adresse réseau externe. Utilisez la même adresse de la famille IPv4 que celle utilisée aux étapes précédentes. Conformément au tableau de l’étape six, l’adresse IP NAT correspond à la famille d’adresse IP d’origine, sauf que le dernier octet est remplacé par une nouvelle valeur numérique, par exemple 0. Exécutez la commande New-NetNat suivante pour définir la nouvelle adresse IP de NAT, en remplaçant les valeurs des espaces réservés :

    New-NetNat -Name "{switchName}" -InternalIPInterfaceAddressPrefix "{natIp}/24"
    

    L’exécution de cette commande devrait fournir des informations similaires à l’exemple suivant :

    Capture d’écran du résultat de l’exécution de la commande New-NetNat.

Le commutateur est maintenant créé. Ensuite, vous allez configurer le DNS.

Créer un serveur DHCP

Remarque

Il est possible de poursuivre l’installation sans serveur DHCP tant que la machine virtuelle EFLOW est déployée à l’aide de paramètres IP statiques (ip4Address, ip4GatewayAddress, ip4PrefixLength). Si l’allocation d’adresses IP dynamiques est utilisée, veillez à poursuivre l’installation du serveur DHCP.

Avertissement

Une autorisation peut être nécessaire pour déployer un serveur DHCP dans un environnement de réseau d’entreprise. Vérifiez si la configuration du commutateur virtuel est conforme aux stratégies de votre réseau d’entreprise. Pour plus d’informations, consultez Déployer DHCP à l’aide de Windows PowerShell.

  1. Vérifiez si la fonctionnalité Serveur DHCP est installée sur l’ordinateur hôte. Recherchez la colonne État de l’installation. Si la valeur est « installé », vous pouvez ignorer l’étape suivante.

    Get-WindowsFeature -Name 'DHCP'
    
  2. Si le serveur DHCP n’est pas encore installé, installez-le en exécutant la commande suivante :

    Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
    
  3. Ajoutez le serveur DHCP aux groupes de sécurité locaux par défaut, puis redémarrez le serveur.

    netsh dhcp add securitygroups
    Restart-Service dhcpserver
    

    Vous allez recevoir les messages d’avertissement suivants pendant le démarrage du serveur DHCP : WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...

  4. Pour configurer la plage d’adresses IP du serveur DHCP à rendre disponibles, vous devez définir une adresse IP comme adresse IP de début et une adresse IP comme adresse IP de fin. Cette plage est définie par les paramètres StartRange et EndRange dans la commande Add-DhcpServerv4Scope. Vous devez également définir le masque de sous-réseau lors de l’exécution de cette commande, qui sera 255.255.255.0. En fonction des modèles et exemples d’adresse IP figurant dans le tableau de la section précédente, la définition de StartRange sur 169.254.229.100 et de EndRange sur 169.254.229.200 aura pour effet de rendre 100 adresses IP disponibles. Exécutez la commande suivante, en remplaçant les espaces réservés par vos propres valeurs :

    Add-DhcpServerV4Scope -Name "AzureIoTEdgeScope" -StartRange {startIp} -EndRange {endIp} -SubnetMask 255.255.255.0 -State Active
    

    Cette commande ne devrait pas produire de sortie.

  5. Attribuez les adresses IP de NAT et de passerelle que vous avez créées à la section précédente au serveur DHCP, puis redémarrez celui-ci pour charger la configuration. La première commande ne devrait pas produire de sortie, mais le redémarrage du serveur DHCP devrait générer les mêmes messages d’avertissement que ceux que vous avez reçus quand vous opéré de la sorte à la troisième étape de cette section.

    Set-DhcpServerV4OptionValue -ScopeID {startIp} -Router {gatewayIp}
    Restart-service dhcpserver
    

Étapes suivantes

Pour configurer un appareil avec IoT Edge pour Linux sur Windows, Suivez les étapes décrites dans installer et approvisionner Azure IoT Edge pour Linux sur un appareil Windows.