Creación de un conmutador virtual de Azure IoT Edge para Linux en Windows

Se aplica a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

IoT Edge 1.4 es la versión admitida. 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

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.

  1. 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.

  2. 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.

  3. 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}
    
  4. 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 plantilla vEthernet ({switchName}) si recibe un error al intentar ejecutar este comando. Debería recibir una salida similar a la del ejemplo siguiente:

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

    Tome nota del valor del índice de interfaz, ya que deberá usarlo en pasos futuros.

  5. 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
  6. 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:

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

  7. 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:

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

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.

  1. 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'
    
  2. Si el servidor DHCP aún no está instalado, ejecute el siguiente comando para hacerlo:

    Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
    
  3. 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...

  4. 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.

  5. 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.