Criação de comutador virtual do Azure IoT Edge para Linux no Windows
Aplica-se a: IoT Edge 1.1
Importante
IoT Edge 1.1 a data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste 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 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
- Um dispositivo Windows. Para saber mais sobre as versões do Windows com suporte, confira Sistemas operacionais.
- Função Hyper-V instalada no dispositivo Windows. Para obter mais informações sobre como habilitar o Hyper-V, confira 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. 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.
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.
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.
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}
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 modelovEthernet ({switchName})
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 da 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 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 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:
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:
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.
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'
Se o servidor DHCP ainda não estiver instalado, execute 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 sendo inicializado:
WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...
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.
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 {natIp} -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.