Creazione del commutatore virtuale di Azure IoT Edge per Linux in Windows
Si applica a: IoT Edge 1.1
Importante
La data di fine del supporto di IoT Edge 1.1 è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, 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
- Un dispositivo Windows. Per altre informazioni sulle versioni di Windows supportate, vedere Sistemi operativi.
- Ruolo Hyper-V installato nel dispositivo Windows. Per altre informazioni su come abilitare Hyper-V, vedere Installare ed eseguire il provisioning di Azure IoT Edge per Linux in un dispositivo Windows.
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.
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.
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.
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}
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 divEthernet ({switchName})
se viene visualizzato un errore quando si tenta di eseguire questo comando. Dovrebbe essere visualizzato un output simile al seguente esempio:Prendere nota del valore dell'indice dell'interfaccia, che dovrà essere utilizzato nei passaggi successivi.
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 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:
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:
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.
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'
Se il server DHCP non è ancora installato, eseguire il comando seguente:
Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
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...
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.
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 {natIp} -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.