Criação do comutador virtual do Azure IoT Edge para Linux no Windows
Aplica-se a: IoT Edge 1.1
Importante
A data de fim do suporte do IoT Edge 1.1 foi 13 de dezembro de 2022. Consulte o Ciclo de Vida de Produtos da Microsoft para obter informações sobre como é suportado este produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Atualizar o 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
- Um dispositivo Windows. Para obter mais informações sobre versões suportadas do Windows, consulte Sistemas operacionais.
- Função Hyper-V instalada no dispositivo Windows. Para obter mais informações sobre como habilitar o Hyper-V, consulte Instalar e provisionar o Azure IoT Edge para Linux em um dispositivo Windows.
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.
Abra o PowerShell em uma sessão elevada. 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.
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.
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}
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 ovEthernet ({switchName})
modelo se você receber um erro ao tentar executar esse comando. Você deve receber uma saída semelhante ao exemplo a seguir:Anote o valor do índice de interface, pois você precisará usá-lo em etapas futuras.
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 Template 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 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:
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:
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.
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'
Se o servidor DHCP ainda não estiver instalado, execute-o executando o seguinte comando:
Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
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...
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.
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.