Creazione del commutatore virtuale di Azure IoT Edge per Linux in Windows

Si applica a: Segno di spunta IoT Edge 1.5 IoT Edge 1.5 Segno di spunta IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS sono versioni supportate. IoT Edge 1.4 LTS raggiungerà la data di fine del servizio il 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

Azure IoT Edge per Linux in Windows usa un commutatore virtuale nel computer host per comunicare con la macchina virtuale. Le versioni desktop di Windows sono dotate di un commutatore predefinito che può essere utilizzato, ma Windows Server non dispone di tale commutatore. Prima di poter distribuire IoT Edge per Linux in un dispositivo Windows Server, è necessario creare un commutatore virtuale. Inoltre, è possibile usare questa guida per creare il commutatore virtuale personalizzato, se necessario.

Questo articolo illustra come creare un commutatore virtuale in un dispositivo Windows per installare IoT Edge per Linux in Windows. Questo processo è suddiviso nei passaggi seguenti:

  • Creare un commutatore virtuale
  • Creare una tabella NAT
  • Installare e configurare un server DHCP

Prerequisiti

Crea commutatore virtuale

I passaggi seguenti in questa sezione costituiscono una guida generica per la creazione di un commutatore virtuale. Assicurarsi che la configurazione del commutatore virtuale sia allineata all'ambiente di rete.

Nota

I passaggi seguenti descrivono come creare un interno o commutatore virtuale privato. Per altre informazioni sulla creazione di un commutatore esterno, vedere Creare un commutatore virtuale per le macchine virtuali Hyper-V. Notare che se si usa una macchina virtuale di Azure, il commutatore virtuale non può essere esterno.

  1. Aprire PowerShell in una sessione con privilegi elevati. A tale scopo, aprire il riquadro Start in Windows e digitare "PowerShell". Fare clic con il pulsante destro del mouse sull'app Windows PowerShell visualizzata e selezionare Esegui come amministratore.

  2. Controllare i commutatori virtuali nell'host Windows e assicurarsi di non avere già un commutatore virtuale che può essere usato. A tale scopo, eseguire il seguente comando Get-VMSwitch in PowerShell:

    Get-VMSwitch
    

    Se è già stato creato un commutatore virtuale denominato commutatore predefinito e non è necessario un commutatore virtuale personalizzato, sarà possibile installare IoT Edge per Linux in Windows senza seguire il resto dei passaggi di questa guida.

  3. Creare un nuovo commutatore di macchina virtuale con un nome di propria scelta e un interno o un tipo di commutatore privato eseguendo il comando New-VMSwitch, sostituendo i valori segnaposto:

    New-VMSwitch -Name "{switchName}" -SwitchType {switchType}
    
  4. Per ottenere l'indirizzo IP per l'opzione creata, è prima necessario ottenere il relativo indice di interfaccia. È possibile ottenere questo valore eseguendo il comando Get-NetAdapter seguente, sostituendo il valore segnaposto:

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

    Potrebbe essere necessario modificare il valore del parametro Name per seguire il modello di vEthernet ({switchName}) se viene visualizzato un errore quando si tenta di eseguire questo comando. Dovrebbe essere visualizzato un output simile al seguente esempio:

    Screenshot dell'output dell'esecuzione del comando Get-NetAdapter, che evidenzia il valore dell'indice dell'interfaccia.

    Prendere nota del valore dell'indice dell'interfaccia, che dovrà essere utilizzato nei passaggi successivi.

  5. L'indirizzo IP del commutatore virtuale risultante sarà diverso per ogni ambiente. Notare che per il resto dei comandi di questa guida si userà la famiglia di indirizzi IP derivati dalla famiglia di 172.20.X.Y. Tuttavia, è possibile usare la propria famiglia di indirizzi e indirizzi IP.

    Verranno creati e usati i seguenti indirizzi IP:

    Indirizzo IP Template Esempio
    IP del gateway xxx.xxx.xxx.1 172.20.0.1
    Indirizzo IP NAT xxx.xxx.xxx.0 172.20.0.0
    Indirizzo IP iniziale xxx.xxx.xxx.100 172.20.0.100
    Indirizzo IP finale xxx.xxx.xxx.200 172.20.0.200
  6. Impostare l'indirizzo IP del gateway sostituendo l'ultimo ottetto della famiglia di indirizzi IP del commutatore virtuale con un nuovo valore numerico. Ad esempio, sostituire l'ultimo ottetto con 1 e ottenere l'indirizzo 172.20.0.1. Eseguire il seguente comando New-NetIPAddress per impostare il nuovo indirizzo IP del gateway, sostituendo i valori segnaposto:

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

    L'esecuzione di questo comando dovrebbe restituire informazioni simili al seguente esempio:

    Screenshot dell'output dall'esecuzione del comando New-NetIPAddress.

  7. Creare un oggetto NAT (Network Address Translation) che converte un indirizzo di rete interno in una rete esterna. Usare lo stesso indirizzo della famiglia IPv4 dei passaggi precedenti. In base alla tabella del passaggio sei, l'indirizzo IP NAT corrisponde alla famiglia di indirizzi IP originale, ad eccezione del fatto che l'ultimo ottetto viene sostituito con un nuovo valore numerico, ad esempio 0. Eseguire il seguente comando New-NetNat per impostare il nuovo indirizzo IP NAT, sostituendo i valori segnaposto:

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

    L'esecuzione di questo comando dovrebbe restituire informazioni simili al seguente esempio:

    Screenshot dell'output dall'esecuzione del comando New-NetNat.

L'opzione è stata creata. Successivamente, si configurerà il DNS.

Creare un server DHCP

Nota

È possibile continuare l'installazione senza un server DHCP finché la macchina virtuale EFLOW viene distribuita usando i parametri IP statici (ip4Address, ip4GatewayAddress, ip4PrefixLength). Se verrà usata l'allocazione dinamica dell'IP, assicurarsi di proseguire con l'installazione del server DHCP.

Avviso

L'autorizzazione potrebbe essere necessaria per distribuire un server DHCP in un ambiente di rete aziendale. Controllare se la configurazione del commutatore virtuale è conforme ai criteri della rete aziendale. Per altre informazioni, vedere Distribuire DHCP con Windows PowerShell.

  1. Controllare se la funzionalità Server DHCP è installata nel computer host. Cercare la colonna dello stato di installazione. Se il valore è "Installato", è possibile ignorare il seguente passaggio.

    Get-WindowsFeature -Name 'DHCP'
    
  2. Se il server DHCP non è ancora installato, eseguire il comando seguente:

    Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
    
  3. Aggiungere il server DHCP ai gruppi di sicurezza locali predefiniti e riavviare il server.

    netsh dhcp add securitygroups
    Restart-Service dhcpserver
    

    Durante l'avvio del server DHCP verranno visualizzati i seguenti messaggi di avviso: WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...

  4. Per configurare l'intervallo di indirizzi IP DHCP da rendere disponibili, è necessario impostare un indirizzo IP come indirizzo IP iniziale e un indirizzo IP come indirizzo IP finale. Questo intervallo viene definito dallo StartRange e dai parametri EndRange nel comando Add-DhcpServerv4Scope. Quando si esegue questo comando, è necessario impostare anche la subnet mask, che sarà 255.255.255.0. In base ai modelli di indirizzo IP e agli esempi nella tabella della sezione precedente, impostando lo StartRange su 169.254.229.100 e l' EndRange come 169.254.229.200 si renderanno disponibili 100 indirizzi IP. Eseguire il comando seguente sostituendo i segnaposto con i propri valori:

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

    Questo comando non deve produrre alcun output.

  5. Assegnare gli indirizzi IP NAT e gli indirizzi IP del gateway creati nella sezione precedente al server DHCP e riavviare il server per caricare la configurazione. Il primo comando non dovrebbe produrre alcun output, ma il riavvio del server DHCP dovrebbe restituire gli stessi messaggi di avviso ricevuti al momento dell'operazione nel terzo passaggio di questa sezione.

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

Passaggi successivi

Seguire la procedura descritta in Installare ed eseguire il provisioning di Azure IoT Edge per Linux in un dispositivo Windows per configurare un dispositivo con IoT Edge per Linux in Windows.