Criação do comutador virtual do Azure IoT Edge para Linux no Windows

Aplica-se a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

O IoT Edge 1.4 é a versão suportada. Se tiver uma versão anterior, consulte Atualizar IoT Edge.

O Azure IoT Edge para Linux no Windows usa um comutador virtual na máquina host para se comunicar com a máquina virtual. As versões de área de trabalho do Windows vêm com uma opção padrão que pode ser usada, mas o Windows Server não. Antes de implantar o IoT Edge para Linux no Windows em um dispositivo Windows Server, você precisa criar um comutador virtual. Além disso, você pode usar este guia para criar seu comutador virtual personalizado, se necessário.

Este artigo mostra como criar um comutador virtual em um dispositivo Windows para instalar o IoT Edge para Linux no Windows. Este processo divide-se nas seguintes etapas:

  • Criar um comutador virtual
  • Criar uma tabela NAT
  • Instalar e configurar um servidor DHCP

Pré-requisitos

Criar comutador virtual

As etapas a seguir nesta seção são um guia genérico para a criação de um comutador virtual. Certifique-se de que a configuração do comutador virtual esteja alinhada com o seu ambiente de rede.

Nota

As etapas a seguir descrevem como criar um comutador virtual interno ou privado . Para obter mais informações sobre como criar um comutador externo, consulte Criar um comutador virtual para máquinas virtuais Hyper-V. Observe que, se você estiver usando uma VM do Azure, o comutador virtual não poderá ser Externo.

  1. Abra o PowerShell em uma sessão com privilégios elevados. Você pode fazer isso abrindo o painel Iniciar no Windows e digitando "PowerShell". Clique com o botão direito do mouse no aplicativo Windows PowerShell exibido e selecione Executar como administrador.

  2. Verifique os comutadores virtuais no host do Windows e certifique-se de que você ainda não tem um comutador virtual que possa ser usado. Você pode fazer isso executando o seguinte comando Get-VMSwitch no PowerShell:

    Get-VMSwitch
    

    Se um comutador virtual chamado Comutador Padrão já tiver sido criado e você não precisar de um comutador virtual personalizado, poderá instalar o IoT Edge para Linux no Windows sem seguir o restante das etapas deste guia.

  3. Crie um novo comutador VM com um nome de sua escolha e um tipo de comutador Interno ou Privado executando o seguinte comando New-VMSwitch , substituindo os valores de espaço reservado:

    New-VMSwitch -Name "{switchName}" -SwitchType {switchType}
    
  4. Para obter o endereço IP do switch que você criou, você deve primeiro obter seu índice de interface. Você pode obter esse valor executando o seguinte comando Get-NetAdapter , substituindo o valor de espaço reservado:

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

    Talvez seja necessário alterar o valor do Name parâmetro para seguir o vEthernet ({switchName}) modelo se você receber um erro ao tentar executar esse comando. Você deve receber uma saída semelhante ao exemplo a seguir:

    Screenshot of the output from running the Get-NetAdapter command, highlighting the interface index value.

    Anote o valor do índice de interface, pois você precisará usá-lo em etapas futuras.

  5. O endereço IP do comutador virtual resultante será diferente para cada ambiente. Observe que, para o restante dos comandos neste guia, você usará endereços IP derivados da família 172.20.X.Y . No entanto, você pode usar sua própria família de endereços e endereços IP.

    Você criará e usará os seguintes endereços IP:

    Endereço IP Modelo Exemplo
    Gateway IP xxx.xxx.xxx.1 172.20.0.1
    NAT IP xxx.xxx.xxx.0 172.20.0.0
    IP de início xxx.xxx.xxx.100 172.20.0.100
    IP de fim xxx.xxx.xxx.200 172.20.0.200
  6. Defina o endereço IP do gateway substituindo o último octeto da família de endereços IP do comutador virtual por um novo valor numérico. Por exemplo, substitua o último octeto por 1 e obtenha o endereço 172.20.0.1. Execute o seguinte comando New-NetIPAddress para definir o novo endereço IP do gateway, substituindo os valores de espaço reservado:

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

    A execução deste comando deve gerar informações semelhantes ao exemplo a seguir:

    Screenshot of the output from running the New-NetIPAddress command.

  7. Crie um objeto NAT (Network Address Translation) que traduza um endereço de rede interno para uma rede externa. Use o mesmo endereço da família IPv4 das etapas anteriores. Com base na tabela da etapa seis, o endereço IP NAT corresponde à família de endereços IP original, exceto que o último octeto é substituído por um novo valor numérico, por exemplo 0. Execute o seguinte comando New-NetNat para definir o endereço IP NAT, substituindo os valores de espaço reservado:

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

    A execução deste comando deve gerar informações semelhantes ao exemplo a seguir:

    Screenshot of the output from running the New-NetNat command.

O switch agora está criado. Em seguida, você configurará o DNS.

Criar servidor DHCP

Nota

É possível continuar a instalação sem um servidor DHCP, desde que a VM EFLOW seja implantada usando parâmetros IP estáticos (ip4Address, ip4GatewayAddress, ip4PrefixLength). Se a alocação de IP dinâmico for usada, certifique-se de continuar com a instalação do servidor DHCP.

Aviso

Pode ser necessária autorização para implantar um servidor DHCP em um ambiente de rede corporativa. Verifique se a configuração do comutador virtual está em conformidade com as políticas da sua rede corporativa. Para obter mais informações, consulte Implantar DHCP usando o Windows PowerShell.

  1. Verifique se o recurso Servidor DHCP está instalado na máquina host. Procure a coluna Estado da instalação. Se o valor for "Instalado", você pode pular a etapa a seguir.

    Get-WindowsFeature -Name 'DHCP'
    
  2. Se o servidor DHCP ainda não estiver instalado, execute-o executando o seguinte comando:

    Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
    
  3. Adicione o servidor DHCP aos grupos de segurança locais padrão e reinicie o servidor.

    netsh dhcp add securitygroups
    Restart-Service dhcpserver
    

    Você receberá as seguintes mensagens de aviso enquanto o servidor DHCP estiver iniciando: WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...

  4. Para configurar o intervalo de IPs do servidor DHCP a ser disponibilizado, você precisará definir um endereço IP como o IP inicial e um endereço IP como o IP final. Esse intervalo é definido pelos parâmetros StartRange e EndRange no comando Add-DhcpServerv4Scope. Você também precisará definir a máscara de sub-rede ao executar este comando, que será 255.255.255.0. Com base nos modelos de endereço IP e exemplos na tabela da seção anterior, definir o StartRange como 169.254.229.100 e o EndRange como 169.254.229.200 disponibilizará 100 endereços IP. Execute o seguinte comando, substituindo os espaços reservados pelos seus próprios valores:

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

    Este comando não deve produzir nenhuma saída.

  5. Atribua os endereços IP NAT e gateway criados na seção anterior ao servidor DHCP e reinicie o servidor para carregar a configuração. O primeiro comando não deve produzir nenhuma saída, mas reiniciar o servidor DHCP deve gerar as mesmas mensagens de aviso que você recebeu quando fez isso na terceira etapa desta seção.

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

Próximos passos

Siga as etapas em Instalar e provisionar o Azure IoT Edge para Linux em um dispositivo Windows para configurar um dispositivo com o IoT Edge para Linux no Windows.