Partilhar via


Configuração de rede para o Azure IoT Edge para Linux no Windows

Aplica-se a: Marca de verificação do IoT Edge 1.4 IoT Edge 1.4

Importante

O Azure IoT Edge 1.5 LTS e o IoT Edge 1.4 são versões suportadas. O IoT Edge 1.4 LTS está chegando ao fim do serviço em 12 de novembro de 2024. Se tiver uma versão anterior, veja Atualizar o IoT Edge.

Este artigo ajuda você a decidir qual opção de rede é melhor para o seu cenário e fornece informações sobre os requisitos de configuração do IoT Edge para Linux no Windows (EFLOW).

Para conectar a máquina virtual IoT Edge para Linux no Windows (EFLOW) em uma rede ao seu host, a outras máquinas virtuais em seu host Windows e a outros dispositivos/locais em uma rede externa, a rede da máquina virtual deve ser configurada adequadamente.

A maneira mais fácil de estabelecer rede básica em SKUs de cliente Windows é usando a opção padrão, que já é criada ao habilitar o recurso Windows Hyper-V. No entanto, em dispositivos SKUs do Windows Server, a rede é um pouco mais complicada, pois não há nenhum switch padrão disponível. Para obter mais informações sobre a criação de comutadores virtuais para Windows Server, consulte Criar comutador virtual para Linux no Windows.

Para obter mais informações sobre conceitos de rede EFLOW, consulte IoT Edge para Linux em rede Windows.

Configurar comutador virtual de VM

A primeira etapa antes de implantar a máquina virtual EFLOW é determinar qual tipo de comutador virtual você usa. Para obter mais informações sobre comutadores virtuais suportados por EFLOW, consulte Opções de comutadores virtuais EFLOW. Depois de determinar o tipo de comutador virtual que você deseja usar, certifique-se de criar o comutador virtual corretamente. Para obter mais informações sobre a criação de comutadores virtuais, consulte Criar um comutador virtual para máquinas virtuais Hyper-V.

Nota

Se você estiver usando o cliente Windows e quiser usar a opção padrão, nenhuma criação de switch será necessária e nenhum -vSwitchType parâmetro -vSwitchName será necessário.

Nota

Se você estiver usando uma máquina virtual Windows dentro da infraestrutura VMware e do switch externo, consulte Virtualização aninhada EFLOW.

Depois de criar o comutador virtual e antes de iniciar a implantação, verifique se o nome e o tipo do comutador virtual estão configurados corretamente e listados no sistema operacional host do Windows. Para listar todos os comutadores virtuais em seu sistema operacional host Windows, em uma sessão elevada do PowerShell, use o seguinte cmdlet do PowerShell:

Get-VmSwitch

Dependendo dos comutadores virtuais do host Windows, a saída deve ser semelhante à seguinte:

Name           SwitchType NetAdapterInterfaceDescription
----           ---------- ------------------------------
Default Switch Internal
IntOff         Internal
EFLOW-Ext      External

Para usar um comutador virtual específico (interno ou externo), certifique-se de especificar os parâmetros corretos: -vSwitchName e vSwitchType. Por exemplo, se você quiser implantar a VM EFLOW com um switch externo chamado EFLOW-Ext, em uma sessão elevada do PowerShell, use o seguinte comando:

Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext"

Configurar a alocação de endereços IP da VM

A segunda etapa depois de decidir o tipo de comutador virtual que você está usando é determinar o tipo de alocação de endereço IP do comutador virtual. Para obter mais informações sobre as opções de alocação de IP, consulte Atribuições de IP suportadas pelo EFLOW. Dependendo do tipo de comutador virtual que estiver a utilizar, certifique-se de que utiliza um mecanismo de atribuição de endereços IP suportado.

Por padrão, se nenhum endereço IP estático estiver configurado, a VM EFLOW tentará alocar um endereço IP para o comutador virtual usando DHCP. Certifique-se de que existe um servidor DHCP na rede do comutador virtual; se não estiver disponível, a instalação da VM EFLOW não conseguirá alocar um endereço IP e a instalação falhará. Se você estiver usando a opção padrão, não há necessidade de verificar se há um servidor DHCP, pois o comutador virtual já tem DHCP por padrão. No entanto, se estiver usando um comutador virtual interno ou externo , você pode verificar usando as seguintes etapas:

  1. Abra uma linha de comandos.
  2. Exibir todas as configurações de IP e informações
    ipconfig /all
    
  3. Se estiver a utilizar um comutador virtual externo , verifique a interface de rede utilizada para criar o comutador virtual. Se você estiver usando um comutador virtual interno , basta procurar o nome usado para o switch. Quando o interruptor estiver localizado, verifique se DHCP Enabled diz Sim ou Não e verifique o DHCP server endereço.

Se você estiver usando um IP estático, precisará especificar três parâmetros durante a implantação do EFLOW: -ip4Address, ip4GatewayAddress e ip4PrefixLength. Se um parâmetro estiver ausente ou incorreto, a instalação da VM EFLOW falhará ao alocar um endereço IP e a instalação falhará. Para obter mais informações sobre a implantação de VM EFLOW, consulte Funções do PowerShell para IoT Edge para Linux no Windows. Por exemplo, se você quiser implantar a VM EFLOW com um switch externo chamado EFLOW-Ext e uma configuração IP estática, com um endereço IP igual a 192.168.0.2, endereço IP do gateway igual a 192.168.0.1 e comprimento do prefixo IP igual a 24, em uma sessão elevada do PowerShell, use o seguinte comando:

Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext" -ip4Address "192.168.0.2" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"

Gorjeta

A VM EFLOW manterá o mesmo endereço MAC para o comutador virtual principal (usado durante a implantação) nas reinicializações. Se você estiver usando a reserva de endereço MAC DHCP, poderá obter o endereço MAC do comutador virtual principal usando o cmdlet PowerShell: Get-EflowVmAddr.

Verificar a alocação de IP

Há várias maneiras de verificar o endereço IP que foi alocado para a VM EFLOW. Primeiro, usando uma sessão elevada do PowerShell, use o cmdlet EFLOW:

Get-EflowVmAddr

A saída deve ser algo semelhante ao seguinte:

C:\> Get-EflowVmAddr

[03/31/2022 12:54:31] Querying IP and MAC addresses from virtual machine (DESKTOP-EFLOW)

 - Virtual machine MAC: 00:15:5d:4e:15:2c
 - Virtual machine IP : 172.27.120.111 retrieved directly from virtual machine
00:15:5d:4e:15:2c
172.27.120.111

Outra maneira é usar o Connect-Eflow cmdlet para remoto na VM e, em seguida, você pode usar o ifconfig eth0 comando bash e verificar a interface eth0 . O resultado deve ser semelhante ao seguinte:

eth0      Link encap:Ethernet  HWaddr 00:15:5d:4e:15:2c
          inet addr:172.27.120.111  Bcast:172.27.127.255  Mask:255.255.240.0
          inet6 addr: fe80::215:5dff:fe4e:152c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5636 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2214 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:766832 (766.8 KB)  TX bytes:427274 (427.2 KB)

Configurar servidores DNS VM

Por padrão, a máquina virtual EFLOW não tem configuração de DNS. As implantações usando DHCP tentam obter a configuração DNS propagada pelo servidor DHCP. Se você estiver usando um IP estático, o servidor DNS precisará ser configurado manualmente. Para obter mais informações sobre EFLOW VM DNS, consulte Configuração de DNS EFLOW.

Para verificar os servidores DNS usados pela interface padrão (eth0), você pode usar o seguinte comando:

resolvectl | grep eth0 -A 8

A saída deve ser algo semelhante ao seguinte. Verifique os endereços IP dos campos "Servidores DNS atuais" e "Servidores DNS" da lista. Se não houver um endereço IP ou se o endereço IP não for um endereço IP de servidor DNS válido, o serviço DNS não funcionará.

Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 172.27.112.1
         DNS Servers: 172.27.112.1

Se precisar configurar manualmente os endereços do servidor DNS, você pode usar o cmdlet Set-EflowVmDNSServersEFLOW PowerShell. Para obter mais informações sobre a configuração de DNS do EFLOW VM, consulte Funções do PowerShell para IoT Edge para Linux no Windows.

Verificar a resolução do DNS

Há várias maneiras de verificar a resolução DNS.

Primeiro, de dentro da VM EFLOW, use o resolvectl query comando para consultar uma URL específica. Por exemplo, para verificar se a resolução de nomes está funcionando para o endereço microsoft.com, use:

resolvectl query microsoft.com

O resultado deve ser semelhante ao seguinte:

PS C:\> resolvectl query
microsoft.com: 40.112.72.205
               40.113.200.201
               13.77.161.179
               104.215.148.63
               40.76.4.15

-- Information acquired via protocol DNS in 1.9ms.
-- Data is authenticated: no

Você também pode usar o dig comando para consultar uma URL específica. Por exemplo, para verificar se a resolução de nomes está funcionando para o endereço microsoft.com, use:

dig microsoft.com

O resultado deve ser semelhante ao seguinte:

PS C:\> dig microsoft.com
; <<>> DiG 9.16.22 <<>> microsoft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36427
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;microsoft.com.                 IN      A

;; ANSWER SECTION:
microsoft.com.          0       IN      A       40.112.72.205
microsoft.com.          0       IN      A       40.113.200.201
microsoft.com.          0       IN      A       13.77.161.179
microsoft.com.          0       IN      A       104.215.148.63
microsoft.com.          0       IN      A       40.76.4.15

;; Query time: 11 msec
;; SERVER: 127.0

Próximos passos

Leia mais sobre o Azure IoT Edge para Linux na Segurança do Windows.

Mantenha-se atualizado com as atualizações mais recentes do IoT Edge para Linux no Windows.