Creación de un conmutador virtual de Azure IoT Edge para Linux en Windows
Se aplica a: IoT Edge 1.5 IoT Edge 1.4
Importante
IoT Edge 1.5 LTS e IoT Edge 1.4 LTS son versiones compatibles. IoT Edge 1.4 LTS finaliza el ciclo de vida el 12 de noviembre de 2024. Si está usando una versión anterior, consulte Actualización de IoT Edge.
Azure IoT Edge para Linux en Windows usa un conmutador virtual en la máquina host para comunicarse con la máquina virtual. Las versiones de escritorio de Windows incluyen un conmutador predeterminado que se puede usar, pero Windows Server no. Para poder implementar IoT Edge para Linux en Windows en un dispositivo Windows Server, debe crear un conmutador virtual. Además, puede usar esta guía para crear un conmutador virtual personalizado, si es necesario.
En este artículo, se explica cómo crear un conmutador virtual en un dispositivo Windows para instalar IoT Edge para Linux en Windows. Este proceso se divide en los pasos siguientes:
- Crear un conmutador virtual
- Crear una tabla NAT
- Instalar y configurar un servidor DHCP
Requisitos previos
- Un dispositivo Windows. Para obtener información sobre las versiones de Windows compatibles, consulte Sistemas operativos.
- El rol de Hyper-V instalado en el dispositivo Windows. Para obtener más información sobre cómo habilitar Hyper-V, consulte Instalación y aprovisionamiento de Azure IoT Edge para Linux en un dispositivo Windows.
Creación de un conmutador virtual
Los pasos de esta sección son una guía genérica para crear un conmutador virtual. Asegúrese de que la configuración del conmutador virtual se alinee con el entorno de red.
Nota:
En los pasos siguientes, se describe cómo crear un conmutador virtual interno o privado. Para más información sobre cómo crear un conmutador externo, consulte Creación de un conmutador virtual para máquinas virtuales de Hyper-V. Tenga en cuenta que si usa una máquina virtual de Azure, el conmutador virtual no puede ser externo.
Abra PowerShell en una sesión con privilegios elevados. Para ello, abra el panel Inicio en Windows y escriba "PowerShell". Haga clic con el botón derecho en la aplicación Windows PowerShell que aparece y seleccione Ejecutar como administrador.
Compruebe los conmutadores virtuales del host de Windows y asegúrese de que no tenga ya un conmutador virtual que se pueda usar. Para ello, ejecute el siguiente comando Get-VMSwitch en PowerShell:
Get-VMSwitch
Si ya se ha creado un conmutador virtual denominado Conmutador predeterminado y no necesita un conmutador virtual personalizado, debería poder instalar IoT Edge para Linux en Windows sin necesidad de seguir el resto de pasos de esta guía.
Cree un nuevo conmutador de máquina virtual con el nombre que prefiera y un tipo de conmutador Interno o Privado mediante la ejecución del siguiente comando New-VMSwitch y reemplace los valores de marcador de posición:
New-VMSwitch -Name "{switchName}" -SwitchType {switchType}
Para obtener la dirección IP del conmutador que ha creado, primero debe obtener su índice de interfaz. Para obtener este valor, ejecute el siguiente comando Get-NetAdapter y reemplace el valor del marcador de posición:
(Get-NetAdapter -Name "{switchName}").ifIndex
Es posible que tenga que cambiar el valor del parámetro
Name
para seguir la plantillavEthernet ({switchName})
si recibe un error al intentar ejecutar este comando. Debería recibir una salida similar a la del ejemplo siguiente:Tome nota del valor del índice de interfaz, ya que deberá usarlo en pasos futuros.
La dirección IP del conmutador virtual resultante será diferente para cada entorno. Tenga en cuenta que, para el resto de los comandos de esta guía, usará las direcciones IP derivadas de la familia 172.20.X.Y. Sin embargo, puede usar su propia familia de direcciones y direcciones IP.
Creará y usará las siguientes direcciones IP:
Dirección IP Plantilla Ejemplo Dirección IP de puerta de enlace xxx.xxx.xxx.1 172.20.0.1 Dirección IP de NAT xxx.xxx.xxx.0 172.20.0.0 Dirección IP inicial xxx.xxx.xxx.100 172.20.0.100 Dirección IP final xxx.xxx.xxx.200 172.20.0.200 Establezca la dirección IP de la puerta de enlace reemplazando el último octeto de la familia de direcciones IP del conmutador virtual por un nuevo valor numérico. Por ejemplo, reemplace el último octeto por 1 para obtener la dirección 172.20.0.1. Ejecute el siguiente comando New-NetIPAddress para establecer la nueva dirección IP de la puerta de enlace, reemplazando los valores de marcador de posición:
New-NetIPAddress -IPAddress {gatewayIp} -PrefixLength 24 -InterfaceIndex {interfaceIndex}
La ejecución de este comando debería generar una información similar a la del ejemplo siguiente:
Cree un objeto de traducción de direcciones de red (NAT) que traduzca una dirección de red interna en una red externa. Use la misma dirección de la familia IPv4 de los pasos anteriores. Según la tabla del paso seis, la dirección IP de NAT corresponde a la familia de direcciones IP original, salvo que el último octeto se reemplaza por un nuevo valor numérico, por ejemplo, 0. Ejecute el siguiente comando New-NetNat para establecer la dirección IP de NAT, reemplazando los valores de marcador de posición:
New-NetNat -Name "{switchName}" -InternalIPInterfaceAddressPrefix "{natIp}/24"
La ejecución de este comando debería generar una información similar a la del ejemplo siguiente:
Ahora se ha creado el conmutador. A continuación, configurará el DNS.
Creación de un servidor DHCP
Nota:
Es posible continuar la instalación sin un servidor DHCP siempre que la máquina virtual de EFLOW se implemente mediante parámetros de IP estáticas (ip4Address
, ip4GatewayAddress
, ip4PrefixLength
). Si se usará la asignación de IP dinámica, asegúrese de continuar con la instalación del servidor DHCP.
Advertencia
Es posible que se requiera autorización para implementar un servidor DHCP en un entorno de red corporativa. Compruebe si la configuración del conmutador virtual cumple las directivas de la red corporativa. Para más información, consulte Implementación de DHCP mediante Windows PowerShell.
Compruebe si está instalada la característica Servidor DHCP en la máquina host. Busque la columna Instalar estado. Si el valor es "Instalado", puede omitir el paso siguiente.
Get-WindowsFeature -Name 'DHCP'
Si el servidor DHCP aún no está instalado, ejecute el siguiente comando para hacerlo:
Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
Agregue el servidor DHCP a los grupos de seguridad locales predeterminados y reinicie el servidor.
netsh dhcp add securitygroups Restart-Service dhcpserver
Recibirá los siguientes mensajes de advertencia mientras se inicia el servidor DHCP:
WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...
Para configurar el intervalo de direcciones IP del servidor DHCP que se va a poner a disposición, deberá establecer una dirección IP como dirección IP de inicio y una dirección IP como dirección IP final. Este intervalo se define mediante los parámetros StartRange y EndRange del comando Add-DhcpServerv4Scope. También deberá establecer la máscara de subred al ejecutar este comando, que será 255.255.255.0. En función de las plantillas de direcciones IP y los ejemplos de la tabla de la sección anterior, si establece StartRange en 169.254.229.100 y EndRange en 169.254.229.200, habrá 100 direcciones IP disponibles. Ejecute el comando siguiente y reemplace los marcadores de posición por sus propios valores:
Add-DhcpServerV4Scope -Name "AzureIoTEdgeScope" -StartRange {startIp} -EndRange {endIp} -SubnetMask 255.255.255.0 -State Active
Este comando no debería generar ninguna salida.
Asigne las direcciones IP de puerta de enlace y de NAT que creó en la sección anterior al servidor DHCP y reinicie el servidor para cargar la configuración. El primer comando no debería generar ninguna salida, pero el reinicio del servidor DHCP debería generar los mismos mensajes de advertencia que recibió cuando lo hizo en el tercer paso de esta sección.
Set-DhcpServerV4OptionValue -ScopeID {startIp} -Router {gatewayIp} Restart-service dhcpserver
Pasos siguientes
Siga los pasos descritos en Instalación y aprovisionamiento de Azure IoT Edge para Linux en un dispositivo Windows para configurar un dispositivo con IoT Edge para Linux en Windows.