Compartilhar via


Rede IoT Edge para Linux no Windows

Aplica-se a: Marca de seleção do IoT Edge 1.5 IoT Edge 1.5 marca de seleção do IoT Edge 1.4 IoT Edge 1.4

Importante

O IoT Edge 1.5 LTS e o IoT Edge 1.4 LTS são versões com suporte. O IoT Edge 1.4 LTS chegará ao fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.

Este artigo explica como configurar a rede entre o sistema operacional host Windows e a máquina virtual EFLOW (IoT Edge para Linux no Windows). O EFLOW usa uma máquina virtual Linux CBL-Mariner para executar módulos do IoT Edge. Para obter mais informações sobre a arquitetura do EFLOW, confira O que é o Azure IoT Edge para Linux no Windows.

Rede

Para criar um canal de comunicação entre o sistema operacional host Windows e a máquina virtual EFLOW, usamos a pilha de rede do Hyper-V. Para saber mais sobre a rede Hyper-V, confira Noções básicas de rede do Hyper-V. A rede básica no EFLOW é simples. Ela usa duas partes, um comutador virtual e uma rede virtual.

A maneira mais fácil de criar a rede básica em SKUs de cliente Windows é usando o comutador padrão já criado pelo recurso Hyper-V. Durante a implantação do EFLOW, se você não especifica nenhum comutador virtual com sinalizadores -vSwitchName e -vSwitchType, a máquina virtual é criada com o comutador padrão.

Em dispositivos SKUs do Windows Server, a rede é um pouco mais complicada, pois não há comutador padrão disponível. Mas há um guia abrangente sobre a Criação do comutador virtual para o Azure IoT Edge para Linux no Windows.

Para lidar com vários tipos de rede, você pode usar diferentes tipos de comutador virtual e adicionar vários adaptadores de rede virtual.

Opções de comutador virtual

O EFLOW dá suporte a dois tipos de comutador virtual do Hyper-V: interno e externo. Você escolhe qual deles quer durante criação antes de implantar o EFLOW. Você pode usar o Gerenciador do Hyper-V ou o módulo Hyper-V para Windows PowerShell para criar e gerenciar comutadores virtuais. Para obter mais informações sobre como criar um comutador virtual, confira Criar um comutador virtual para máquinas virtuais do Hyper-V.

Você pode fazer algumas alterações no comutador virtual depois de criá-lo. Por exemplo, é possível alterar o tipo de comutador, mas isso pode afetar os recursos de rede da máquina virtual EFLOW conectada a esse comutador. Portanto, se você não cometeu um erro ou precisa fazer um teste, não é recomendável alterar a configuração do comutador virtual.

Dependendo se a VM EFLOW está implantada em uma SKU do cliente Windows ou em um dispositivo do Windows Server, damos suporte a diferentes tipos de comutador, conforme mostrado na tabela a seguir.

Tipo de comutador virtual SKUs de cliente Windows SKUs do Windows Server
Externo Externo no Cliente Externo no Servidor
Interna - Interno no Servidor
Comutador padrão Padrão no Cliente -
  • Comutador virtual externo: conecta-se a uma rede física com fio associando-se a um adaptador de rede físico. Ele fornece às máquinas virtuais acesso a uma rede física para se comunicar com dispositivos de uma rede externa. Além disso, permite que máquinas virtuais no mesmo servidor Hyper-V se comuniquem umas com as outras.

  • Comutador virtual interno: conecta-se a uma rede que só pode ser usada pelas máquinas virtuais em execução no host que tem o comutador virtual e entre o host e as máquinas virtuais.

    Observação

    A opção padrão é um comutador virtual interno específico criado por padrão depois que o Hyper-V é habilitado em SKUs de cliente Windows. O comutador virtual já tem um servidor DHCP para atribuições de IP, ICS (compartilhamento de conexão com a Internet) habilitado e uma tabela NAT. Para fins de EFLOW, o comutador padrão é um comutador interno virtual que pode ser usado sem configurações extras.

Alocações de endereço IP

Para habilitar as comunicações IP de rede da VM EFLOW, é preciso atribuir um endereço IP à máquina virtual. Há dois métodos para configurar esse endereço IP: IP estático ou DHCP.

Dependendo do tipo de comutador virtual usado, a VM EFLOW dá suporte a alocações de IP diferentes, conforme mostrado na tabela a seguir.

Tipo de comutador virtual IP Estático DHCP
Externo Externo com IP estático Externo com DHCP
Interna Interno com IP estático Interno com DHCP
Comutador padrão - Padrão com DHCP
  • IP estático: esse endereço IP é atribuído permanentemente à VM EFLOW durante a instalação e não muda nas reinicializações da VM EFLOW ou do host Windows. Os endereços IP estáticos normalmente têm duas versões: IPv4 e IPv6. Porém o EFLOW dá suporte apenas ao IP estático para endereços IPv4. Em redes que usam IP estático, cada dispositivo tem o próprio endereço sem sobreposição. Durante a instalação do EFLOW, insira o endereço IP4 da VM EFLOW (-ip4Address), o tamanho do prefixo IP4 (-ip4PrefixLength) e o endereço IP4 do gateway padrão (-ip4GatewayAddress). Insira os três parâmetros para garantir a configuração correta.

    Por exemplo, se você quer implantar a VM EFLOW usando um comutador virtual externo chamado ExternalEflow com um endereço IP estático 192.168.0.100, o gateway padrão 192.168.0.1 e o comprimento do prefixo de 24, o comando de implantação a seguir é necessário

    Deploy-Eflow -vSwitchName "ExternalEflow" -vswitchType "External" -ip4Address 192.168.0.100 -ip4GatewayAddress 192.168.0.1 -ip4PrefixLength 24
    

    Aviso

    Ao usar o IP estático, use os três parâmetros (ip4Address, ip4GatewayAddress e ip4PrefixLength). Além disso, quando o endereço IP é inválido, está sendo usado por outro dispositivo da rede ou o endereço do gateway está incorreto, a instalação do EFLOW pode falhar, pois a VM do EFLOW não consegue obter um endereço IP.

  • DHCP: ao contrário do IP estático, ao usar DHCP, a máquina virtual EFLOW é atribuída com um endereço IP dinâmico, ou seja, um endereço que pode mudar. Um servidor DHCP precisa estar configurado e operando na rede para atribuir endereços IP dinâmicos. O servidor DHCP atribui um endereço IP vago à VM EFLOW e a outras VMs conectadas à rede. Portanto, ao implantar o EFLOW usando DHCP, nenhum endereço IP, endereço de gateway ou comprimento de prefixo é necessário, pois o servidor DHCP fornece todas as informações.

    Aviso

    Ao implantar o EFLOW usando DHCP, um servidor DHCP deve estar presente na rede conectada ao comutador virtual da VM EFLOW. Se nenhum servidor DHCP está presente, a instalação do EFLOW falha, pois a VM não pode obter um endereço IP.

DNS

O DNS (Sistema de Nomes de Domínio) converte nomes de domínio legíveis por humanos (por exemplo, www.microsoft.com) para endereços IP legíveis por computador (por exemplo, 192.0.2.44). A máquina virtual EFLOW usa systemd (gerenciador de serviços e sistema) para que os serviços de resolução de nomes ou DNS sejam fornecidos a aplicativos e serviços locais por meio do serviço resolvido pelo sistema.

Por padrão, o arquivo de configuração DNS da VM EFLOW contém o stub local 127.0.0.53 como o único servidor DNS. Ele é redirecionado ao arquivo /etc/resolv.conf, que é usado para adicionar os servidores de nome usados pelo sistema. O stub local é um servidor DNS executado localmente para resolver consultas DNS. Em alguns casos, essas consultas são encaminhadas para outro servidor DNS na rede e armazenadas em cache localmente.

Você pode configurar a máquina virtual EFLOW para usar um servidor DNS específico ou uma lista de servidores. Para isso, você pode usar o cmdlet PowerShell Set-EflowVmDnsServers. Para obter mais informações sobre a configuração DNS, confira Funções do PowerShell para o IoT Edge para Linux no Windows.

Para verificar os servidores DNS atribuídos à VM EFLOW, na VM EFLOW, use o comando: resolvectl status. A saída do comando mostra uma lista dos servidores DNS configurados para cada interface. É importante verificar principalmente o status da interface eth0, que será a interface padrão para a comunicação da VM EFLOW. Verifique também os endereços IP dos servidores DNS atuais e dos campos dos servidores DNS da lista. Quando não há endereço IP ou ele não é um endereço IP válido do servidor DNS, o serviço DNS não funciona.

Endereço MAC estático

O Hyper-V permite que você crie máquinas virtuais com um endereço MAC estático ou dinâmico. Durante a criação da máquina virtual EFLOW, o endereço MAC é gerado aleatoriamente e armazenado localmente para permanecer o mesmo nas reinicializações da máquina virtual ou do host Windows. Para consultar o endereço MAC da máquina virtual EFLOW, você pode usar o comando a seguir.

Get-EflowVmAddr

NICs (Placas de interface de rede) múltiplas

Diversos dispositivos virtuais de rede e cenários exigem várias NICs. A máquina virtual EFLOW dá suporte à anexação de várias NICs. Com várias NICs, você gerencia melhor o tráfego de rede. Você também pode isolar o tráfego entre a NIC front-end e NICs back-end ou separar o tráfego do plano de dados da comunicação do plano de gerenciamento.

Por exemplo, há vários cenários de IoT industrial que exigem a conexão da máquina virtual EFLOW a uma DMZ (zona desmilitarizada) e à rede offline em que todos os dispositivos compatíveis com OPC UA estão conectados. Esse é apenas um dos vários cenários a que a anexação de várias NICs à VM EFLOW pode dar suporte.

Para obter mais informações sobre o uso de várias NICs, confira Suporte de várias NICs.

Aviso

Ao usar o recurso de várias NICs do EFLOW, convém configurar as diferentes prioridades de rotas. Por padrão, o EFLOW cria uma rota padrão por interface ehtX atribuída à VM e atribui uma prioridade aleatória. Se todas as interfaces estão conectadas à Internet, as prioridades aleatórias podem não representar um problema. Mas, se uma das NICs está conectada a uma rede offline, convém priorizar a NIC online em vez da NIC offline para conectar a VM EFLOW à Internet. Para saber mais sobre o roteamento padrão, confira Roteamento de EFLOW.

Próximas etapas

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

Saiba como gerenciar a rede do EFLOW em Configuração de rede do Azure IoT Edge para Linux no Windows