Compartir a través de


IoT Edge para Linux en redes Windows

Se aplica a:marca de verificación de IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 son versiones compatibles. IoT Edge 1.4 LTS finaliza su ciclo de vida el 12 de noviembre de 2024. Si está usando una versión anterior, consulte Actualización de IoT Edge.

En este artículo se proporciona información sobre cómo configurar las redes entre el sistema operativo host de Windows y el IoT Edge para Linux en Windows (EFLOW). EFLOW usa una máquina virtual de Linux CBL-Mariner para ejecutar módulos IoT Edge. Para obtener más información sobre la arquitectura de EFLOW, consulte Qué es Azure IoT Edge para Linux en Windows.

Redes

Para establecer un canal de comunicación entre el sistema operativo host Windows y la máquina virtual EFLOW, usamos la pila de redes de Hyper-V. Para obtener más información sobre las redes de Hyper-V, consulte Conceptos básicos de redes de Hyper-V. Las redes básicas en EFLOW son sencillas; se usan dos partes, un conmutador virtual y una red virtual.

La manera más fácil de establecer redes básicas en las SKU de cliente de Windows es usar el conmutador predeterminado ya creado por la característica de Hyper-V. Durante la implementación de EFLOW, si no se especifica ningún conmutador virtual específico mediante las marcas -vSwitchName y -vSwitchType, la máquina virtual se crea con el conmutador predeterminado.

En dispositivos de SKU de Windows Server, las redes son un poco más complicadas, ya que no hay ningún conmutador predeterminado disponible. Sin embargo, hay una guía completa sobre la creación de conmutadores virtuales en Azure IoT Edge para Linux en Windows.

Para controlar diferentes tipos de redes, puede usar diferentes tipos de conmutadores virtuales y agregar varios adaptadores de red virtual.

Opciones de conmutador virtual

EFLOW admite dos tipos de conmutadores virtuales de Hyper-V: internos y externos. Elegirá cuál desea al crearlo antes de la implementación de EFLOW. Puede usar el Administrador de Hyper-V o el módulo de Hyper-V para Windows PowerShell para crear y administrar conmutadores virtuales. Para más información sobre cómo crear un conmutador virtual, consulte Creación de un conmutador virtual para máquinas virtuales de Hyper-V.

Puede realizar algunos cambios en un conmutador virtual después de crearlo. Por ejemplo, es posible cambiar un conmutador existente a otro tipo, pero hacerlo puede afectar a las funcionalidades de red de la máquina virtual EFLOW conectada a ese conmutador. Por lo tanto, no se recomienda cambiar la configuración del conmutador virtual a menos que haya cometido un error o tenga que probar algo.

Dependiendo de si la máquina virtual de EFLOW se implementa en una SKU de cliente de Windows o en un dispositivo de SKU de Windows Server, se admiten diferentes tipos de conmutadores, como se muestra en la tabla siguiente.

Tipo del conmutador virtual SKU de cliente Windows SKU de Windows Server
Externo Externo en cliente Externo en servidor
Interno - Interno en servidor
Conmutador predeterminado Predeterminado en cliente -
  • Conmutador virtual externo: se conecta a una red física cableada mediante el enlace a un adaptador de red físico. Proporciona a las máquinas virtuales acceso a una red física para comunicarse con dispositivos en una red externa. Además, permite que las máquinas virtuales del mismo servidor de Hyper-V se comuniquen entre sí.

  • Conmutador virtual interno: se conecta a una red que solo pueden usar las máquinas virtuales que se ejecutan en el host que tiene el conmutador virtual y entre el host y las máquinas virtuales.

    Nota:

    El conmutador predeterminado es un conmutador virtual interno determinado creado de forma predeterminada una vez que Hyper-V está habilitado en SKU del cliente de Windows. El conmutador virtual ya tiene un servidor DHCP para las asignaciones de IP, la conexión compartida a Internet (ICS) habilitada y una tabla NAT. Para fines de EFLOW, el conmutador predeterminado es un conmutador interno virtual que se puede usar sin más configuración.

Asignaciones de direcciones IP

Para habilitar las comunicaciones IP de red de VM de EFLOW, la máquina virtual debe tener asignada una dirección IP. Esta dirección IP se puede configurar mediante dos métodos diferentes: IP estática o DHCP.

Según el tipo de conmutador virtual usado, la máquina virtual de EFLOW admite diferentes asignaciones IP, como se muestra en la tabla siguiente.

Tipo del conmutador virtual Dirección IP estática DHCP
Externo Externo con IP estática Externo con DHCP
Interno Interno con IP estática Interno con DHCP
Conmutador predeterminado - Predeterminado con DHCP
  • IP estática: esta dirección IP se asigna permanentemente a la máquina virtual de EFLOW durante la instalación y no cambia en la máquina virtual de EFLOW ni en los reinicios del host de Windows. Las direcciones IP estáticas suelen tener dos versiones: IPv4 e IPv6; sin embargo, EFLOW solo admite direcciones IP estáticas para direcciones IPv4. En las redes que usan IP estáticas, cada dispositivo de la red tiene su dirección sin superposición. Durante la instalación de EFLOW, debe especificar la dirección IP4 de la máquina virtual de EFLOW(-ip4Address), la longitud del prefijo IP4 (-ip4PrefixLength) y la dirección IP4 de puerta de enlace predeterminada (-ip4GatewayAddress). Los tres parámetros deben ser de entrada para la configuración correcta.

    Por ejemplo, si desea implementar la máquina virtual de EFLOW mediante un conmutador virtual externo denominado ExternalEflow con una dirección IP estática 192.168.0.100, se necesita la puerta de enlace predeterminada 192.168.0.1 y una longitud de prefijo de 24, se necesita el siguiente comando de implementación

    Deploy-Eflow -vSwitchName "ExternalEflow" -vswitchType "External" -ip4Address 192.168.0.100 -ip4GatewayAddress 192.168.0.1 -ip4PrefixLength 24
    

    Advertencia

    Al usar la dirección IP estática, se deben usar los tres parámetros (ip4Address, ip4GatewayAddres, ip4PrefixLength). Además, si la dirección IP no es válida, y la usa otro dispositivo en la red, o la dirección de puerta de enlace es incorrecta, la instalación de EFLOW podría producir un error, ya que la máquina virtual de EFLOW no puede obtener una dirección IP.

  • DHCP: a diferencia de la dirección IP estática, cuando se usa DHCP, la máquina virtual EFLOW se asigna con una dirección IP dinámica; que es una dirección que puede cambiar. La red debe tener un servidor DHCP configurado y operativo para asignar direcciones IP dinámicas. El servidor DHCP asigna una dirección IP vacía a la máquina virtual de EFLOW y a otros conectados a la red. Por lo tanto, al implementar EFLOW mediante DHCP, no se necesita ninguna dirección IP, dirección de puerta de enlace o longitud de prefijo, ya que el servidor DHCP proporciona toda la información.

    Advertencia

    Al implementar EFLOW mediante DHCP, un servidor DHCP debe estar presente en la red conectada al conmutador virtual de máquina virtual de EFLOW. Si no hay ningún servidor DHCP presente, se produce un error en la instalación de EFLOW, ya que la máquina virtual no puede obtener una dirección IP.

DNS

El Sistema de nombres de dominio (DNS) traduce nombres de dominio legibles (por ejemplo, www.microsoft.com) a direcciones IP legibles por máquina (por ejemplo, 192.0.2.44). La máquina virtual EFLOW usa systemd (system and service manager), de modo que los servicios de resolución de nombres o DNS se proporcionan a las aplicaciones y servicios locales a través del servicio systemd-resolved.

De forma predeterminada, el archivo de configuración DNS de la máquina virtual de EFLOW contiene el código auxiliar local 127.0.0.53 como el único servidor DNS. Esto se redirige al archivo /etc/resolv.conf, que se usa para agregar los servidores de nombres usados por el sistema. El código auxiliar local es un servidor DNS que se ejecuta localmente para resolver consultas DNS. En algunos casos, estas consultas se reenvían a otro servidor DNS de la red y, a continuación, se almacenan en caché localmente.

Es posible configurar la máquina virtual EFLOW para usar un servidor DNS específico o una lista de servidores. Para ello, puede usar el Set-EflowVmDnsServerscmdlet de PowerShell. Para obtener más información sobre la configuración DNS, consulte Funciones de PowerShell para IoT Edge para Linux en Windows.

Para comprobar los servidores DNS asignados a la máquina virtual de EFLOW, desde dentro de la máquina virtual de EFLOW, use el comando: resolvectl status. La salida del comando muestra una lista de los servidores DNS configurados para cada interfaz. En concreto, es importante comprobar el estado de la interfaz eth0, que es la interfaz predeterminada para la comunicación de máquina virtual de EFLOW. Además, asegúrese de comprobar las direcciones IP de los campos Servidores DNS actuales y Servidores DNS de la lista. Si no hay ninguna dirección IP o la dirección IP no es una dirección IP de servidor DNS válida, el servicio DNS no funcionará.

Captura de pantalla de la consola que muestra la salida de muestra del comando resolvectl.

Dirección MAC estática

Hyper-V permite crear máquinas virtuales con una dirección MAC estática o dinámica. Durante la creación de la máquina virtual EFLOW, la dirección MAC se genera de forma aleatoria y se almacena localmente para mantener la misma dirección MAC en la máquina virtual o reinicios del host de Windows. Para consultar la dirección MAC de la máquina virtual EFLOW, puede usar el siguiente comando.

Get-EflowVmAddr

Varias tarjetas de interfaz de red (NIC)

Hay muchas aplicaciones virtuales de red y escenarios que requieren varias NIC. La máquina virtual EFLOW admite la conexión de varias NIC. Con varias NIC, puede administrar mejor el tráfico de red. Además, puede aislar tráfico de red entre la NIC de front-end y las NIC de back-end o separando el tráfico de plano de datos desde la comunicación de plano de administración.

Por ejemplo, hay numerosos escenarios industriales de IoT que requieren conectar la máquina virtual EFLOW a una zona desmilitarizada (DMZ) y a la red sin conexión donde todos los dispositivos compatibles con OPC UA están conectados. Este es solo uno de los varios escenarios que se pueden admitir mediante la asociación de varias NIC a la máquina virtual de EFLOW.

Para obtener más información sobre varias NIC, consulte Compatibilidad con varias NIC.

Advertencia

Al usar la característica de varias NIC de EFLOW, es posible que desee configurar las diferentes prioridades de las rutas. De forma predeterminada, EFLOW creará una ruta predeterminada por interfaz ehtX asignada a la máquina virtual y asignará una prioridad aleatoria. Si todas las interfaces están conectadas a Internet, es posible que las prioridades aleatorias no sean un problema. Sin embargo, si una de las NIC está conectada a una red sin conexión, es posible que quiera priorizar la NIC en línea antes que la NIC sin conexión para conectar la máquina virtual de EFLOW a internet. Para más información acerca del enrutamiento personalizado, consulte Enrutamiento de EFLOW.

Pasos siguientes

Obtenga más información sobre la seguridad de Azure IoT Edge para Linux en Windows.

Aprenda a administrar la configuración de redes de EFLOW para Azure IoT Edge para Linux en Windows