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

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

Importante

A versão com suporte é a IoT Edge 1.4. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.

O Azure IoT Edge para Linux no Windows usa um comutador virtual no computador host para se comunicar com a máquina virtual. As versões desktop do Windows vêm com um comutador padrão que pode ser usada, mas o Windows Server não. Para implantar o IoT Edge para Linux no Windows em um dispositivo do Windows Server, crie 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. Esse processo é dividido nas seguintes etapas:

  • Criar um comutador virtual
  • Criar uma tabela da 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. A configuração do comutador virtual deve estar alinhada com seu ambiente de rede.

Observação

As etapas a seguir descrevem como criar um comutador virtual Interno ou Privado. Para saber mais sobre como criar um comutador Externo, confira Criar um comutador virtual para máquinas virtuais do 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. Faça isso abrindo o painel Iniciar no Windows e digitando "PowerShell". Clique com o botão direito no aplicativo Windows PowerShell e selecione Executar como administrador.

  2. Verifique os comutadores virtuais no host do Windows e verifique se 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 já houver um comutador virtual chamado Comutador Padrão criado e você não precisar de um com comutador virtual personalizado, você poderá instalar o IoT Edge para Linux no Windows sem seguir o restante das etapas deste guia.

  3. Crie um novo comutador de VM com um nome de sua escolha e um 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 comutador que você criou, primeiro obtenha 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 parâmetro Name para seguir o modelo vEthernet ({switchName}) 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 da 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
    IP do gateway xxx.xxx.xxx.1 172.20.0.1
    IP de NAT xxx.xxx.xxx.0 172.20.0.0
    IP Inicial xxx.xxx.xxx.100 172.20.0.100
    IP Final 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ço 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 desse 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 (Conversão de Endereços de Rede) que traduza um endereço de rede interno em 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 de NAT corresponde à família de endereço 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 de NAT, substituindo os valores do espaço reservado:

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

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

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

O comutador foi criado. Em seguida, você configurará o DNS.

Criar um servidor DHCP

Observação

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

Aviso

Uma autorização poderá ser necessária 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 saber mais, confira Implantar DHCP usando o Windows PowerShell.

  1. Verifique se o recurso servidor DHCP está instalado no computador host. Procure a coluna Estado da Instalação. Se o valor for "Installed", você poderá ignorar a etapa a seguir.

    Get-WindowsFeature -Name 'DHCP'
    
  2. Se o servidor DHCP ainda não estiver instalado, execute 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 sendo inicializado: WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...

  4. Para configurar o intervalo de Ips do servidor DHCP a serem disponibilizados, 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 esse comando, que será 255.255.255.0. Com base nos modelos de endereço IP e exemplos na tabela da seção anterior, definir StartRange como 169.254.229.100 e EndRange como 169.254.229.200 disponibilizarão 100 endereços IP. Execute o comando a seguir, 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 NAT e IP do gateway que você criou 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 dessa seção.

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

Próximas etapas

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.