IoT Edge para Linux em rede Windows
Aplica-se a: IoT Edge 1.5 IoT Edge 1.4
Importante
O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar IoT Edge.
Este artigo fornece informações sobre como configurar a rede entre o sistema operacional host Windows e a máquina virtual IoT Edge para Linux no Windows (EFLOW). O EFLOW usa uma máquina virtual Linux CBL-Mariner para executar módulos IoT Edge. Para obter mais informações sobre a arquitetura EFLOW, consulte O que é o Azure IoT Edge para Linux no Windows.
Rede
Para estabelecer um canal de comunicação entre o sistema operacional host Windows e a máquina virtual EFLOW, usamos a pilha de rede Hyper-V. Para obter mais informações sobre a rede Hyper-V, consulte Noções básicas de rede Hyper-V. Rede básica em EFLOW é simples; Ele usa duas partes, um comutador virtual e uma rede virtual.
A maneira mais fácil de estabelecer rede básica em SKUs de cliente Windows é usando a opção padrão já criada pelo recurso Hyper-V. Durante a implantação do EFLOW, se nenhum comutador virtual específico for especificado usando os -vSwitchName
sinalizadores e -vSwitchType
, a máquina virtual será criada usando o comutador padrão.
Em dispositivos SKUs do Windows Server, a rede é um pouco mais complicada, pois não há nenhuma opção padrão disponível. No entanto, há um guia abrangente sobre o Azure IoT Edge para Linux na criação de comutadores virtuais do Windows.
Para lidar com diferentes tipos de rede, você pode usar diferentes tipos de comutadores virtuais e adicionar vários adaptadores de rede virtual.
Opções de comutador virtual
O EFLOW suporta dois tipos de comutadores virtuais Hyper-V: internos e externos. Você escolherá qual deles deseja ao criá-lo antes da implantação do 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, consulte Criar um comutador virtual para máquinas virtuais Hyper-V.
Você pode fazer algumas alterações em um comutador virtual depois de criá-lo. Por exemplo, é possível alterar um switch existente para um tipo diferente, mas isso pode afetar os recursos de rede da máquina virtual EFLOW conectada a esse switch. Portanto, não é recomendado alterar a configuração do comutador virtual, a menos que você cometa um erro ou precise testar algo.
Dependendo se a VM EFLOW for implantada em um dispositivo SKU de cliente Windows ou SKU do Windows Server, oferecemos suporte a diferentes tipos de switches, conforme mostrado na tabela a seguir.
Tipo de comutador virtual | SKUs de cliente Windows | Windows Server SKUs |
---|---|---|
Externa | ||
Interno | - | |
Opção padrão | - |
Comutador virtual externo - Liga-se a uma rede física com fios ligando-se a um adaptador de rede físico. Ele dá às máquinas virtuais acesso a uma rede física para se comunicar com dispositivos em uma rede externa. Além disso, permite que máquinas virtuais no mesmo servidor Hyper-V se comuniquem entre si.
Comutador virtual interno - Conecta-se a uma rede que pode ser usada somente pelas máquinas virtuais em execução no host que tem o comutador virtual e entre o host e as máquinas virtuais.
Nota
O comutador padrão é um comutador virtual interno específico criado por padrão quando o Hyper-V é habilitado em SKUs de cliente Windows. O comutador virtual já tem um servidor DHCP para atribuições IP, compartilhamento de conexão com a Internet (ICS) habilitado e uma tabela NAT. Para fins de EFLOW, o Comutador Padrão é um Comutador Interno Virtual que pode ser usado sem configuração adicional.
Alocações de endereços IP
Para habilitar comunicações IP de rede VM EFLOW, a máquina virtual deve ter um endereço IP atribuído. Este endereço IP pode ser configurado por dois métodos diferentes: IP estático ou DHCP.
Dependendo do tipo de comutador virtual usado, a VM EFLOW suporta diferentes alocações de IP, conforme mostrado na tabela a seguir.
Tipo de comutador virtual | IP estático | DHCP |
---|---|---|
Externa | ||
Interno | ||
Opção padrão | - |
IP estático - Este endereço IP é atribuído permanentemente à VM EFLOW durante a instalação e não muda nas reinicializações de host EFLOW VM ou Windows. Os endereços IP estáticos normalmente têm duas versões: IPv4 e IPv6; no entanto, o EFLOW suporta apenas IP estático para endereços IPv4. Em redes que usam IP estático, cada dispositivo na rede tem seu endereço sem sobreposição. Durante a instalação do EFLOW, você deve inserir o endereço IP4 da VM EFLOW(
-ip4Address
), o comprimento do prefixo IP4 e-ip4PrefixLength
o endereço IP4 do gateway padrão(-ip4GatewayAddress
). Todos os três parâmetros devem ser inseridos para a configuração correta.Por exemplo, se você quiser implantar a VM EFLOW usando um comutador virtual externo chamado ExternalEflow com um endereço IP estático 192.168.0.100, gateway padrão 192.168.0.1 e um comprimento de prefixo de 24, o seguinte comando deploy é necessário
Deploy-Eflow -vSwitchName "ExternalEflow" -vswitchType "External" -ip4Address 192.168.0.100 -ip4GatewayAddress 192.168.0.1 -ip4PrefixLength 24
Aviso
Ao usar IP estático, os três parâmetros (
ip4Address
,ip4GatewayAddress
ip4PrefixLength
, ) devem ser usados. Além disso, se o endereço IP for inválido, sendo usado por outro dispositivo na rede, ou se o endereço do gateway estiver incorreto, a instalação do EFLOW poderá falhar, pois a VM do EFLOW não pode 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, que é um endereço que pode mudar. A rede deve ter um servidor DHCP configurado e operando para atribuir endereços IP dinâmicos. O servidor DHCP atribui um endereço IP vago à VM EFLOW e a outras pessoas 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 EFLOW VM. Se nenhum servidor DHCP estiver presente, a instalação do EFLOW falha, pois a VM não pode obter um endereço IP.
DNS
O Sistema de Nomes de Domínio (DNS) traduz nomes de domínio legíveis por pessoas (por exemplo, www.microsoft.com) para endereços IP legíveis por máquina (por exemplo, 192.0.2.44). A máquina virtual EFLOW usa systemd (system and service manager), de modo que os serviços DNS ou de resolução de nomes são fornecidos a aplicativos e serviços locais por meio do serviço systemd-resolved .
Por padrão, o arquivo de configuração EFLOW VM DNS contém o stub local 127.0.0.53 como o único servidor DNS. Isso é redirecionado para o arquivo /etc/resolv.conf , que é usado para adicionar os servidores de nomes usados pelo sistema. O stub local é um servidor DNS que é executado localmente para resolver consultas DNS. Em alguns casos, essas consultas são encaminhadas para outro servidor DNS na rede e, em seguida, armazenadas em cache localmente.
É possível configurar a máquina virtual EFLOW para usar um servidor DNS específico ou uma lista de servidores. Para fazer isso, você pode usar o Set-EflowVmDnsServers
cmdlet do PowerShell. Para obter mais informações sobre a configuração de DNS, consulte Funções do PowerShell para IoT Edge para Linux no Windows.
Para verificar os servidores DNS atribuídos à VM EFLOW, de dentro da VM EFLOW, use o comando: resolvectl status
. A saída do comando mostra uma lista dos servidores DNS configurados para cada interface. Em particular, é importante verificar o status da interface eth0 , que é a interface padrão para a comunicação da VM EFLOW. Além disso, certifique-se de verificar os endereços IP dos campos Servidor DNSatual 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á.
Endereço MAC estático
O Hyper-V permite criar 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 manter o mesmo endereço MAC na máquina virtual ou nas reinicializações do host Windows. Para consultar o endereço MAC da máquina virtual EFLOW, você pode usar o seguinte comando.
Get-EflowVmAddr
Várias placas de interface de rede (NICs)
Há muitos dispositivos virtuais de rede e cenários que exigem várias NICs. A máquina virtual EFLOW suporta a conexão de várias NICs. Com várias NICs, você pode gerenciar melhor o tráfego da rede. Você também pode isolar o tráfego entre a NIC frontend e as NICs de 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 zona desmilitarizada (DMZ) e à rede offline onde todos os dispositivos compatíveis com OPC UA estão conectados. Este é apenas um dos vários cenários que podem ser suportados anexando várias NICs à VM EFLOW.
Para obter mais informações sobre várias NICs, consulte Suporte a várias NICs.
Aviso
Ao usar o recurso EFLOW multiple NICs, convém configurar as diferentes prioridades de rotas. Por padrão, o EFLOW criará uma rota padrão por interface ehtX atribuída à VM e atribuirá uma prioridade aleatória. Se todas as interfaces estiverem conectadas à internet, prioridades aleatórias podem não ser um problema. No entanto, se uma das NICs estiver conectada a uma rede offline, convém priorizar a NIC online sobre a NIC offline para conectar a VM EFLOW à Internet. Para obter mais informações sobre roteamento personalizado, consulte Roteamento EFLOW.
Próximos passos
Leia mais sobre o Azure IoT Edge para Linux na Segurança do Windows.
Saiba como gerenciar a configuração de rede EFLOW para o Azure IoT Edge para Linux no Windows