Configuración de red para 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.
Este artículo le ayuda a decidir qué opción de red es la mejor para su escenario y le proporciona información sobre los requisitos de configuración de IoT Edge para Linux en Windows (EFLOW).
Para conectar la máquina virtual de IoT Edge para Linux en Windows (EFLOW) a través de una red al host, a otras máquinas virtuales del host Windows y a otros dispositivos o ubicaciones de una red externa, las redes de máquina virtual deben configurarse en consecuencia.
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 Windows Hyper-V. Sin embargo, en dispositivos de SKU de Windows Server, las redes son un poco más complicadas, ya que no hay ningún conmutador predeterminado disponible. Para obtener más información sobre la creación de conmutadores virtuales para Windows Server, consulte Creación de un conmutador virtual para Linux en Windows.
Para obtener más información sobre los conceptos de redes de EFLOW, consulte Redes de IoT Edge para Linux en Windows.
Configuración del conmutador virtual de máquina virtual
El primer paso antes de implementar la máquina virtual de EFLOW es determinar qué tipo de conmutador virtual usará. Para obtener más información sobre los conmutadores virtuales compatibles con EFLOW, consulte Opciones de conmutador virtual de EFLOW. Una vez que determine el tipo de conmutador virtual que desea usar, asegúrese de crear el conmutador virtual correctamente. Para obtener 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.
Nota:
Si usa un cliente Windows y desea usar el conmutador predeterminado, no se necesitan crear conmutadores y no se requieren parámetros -vSwitchType
y -vSwitchName
.
Nota:
Si usa una máquina virtual Windows dentro de la infraestructura de VMware y el conmutador externo, consulte Virtualización anidada de EFLOW.
Después de crear el conmutador virtual y antes de iniciar la implementación, asegúrese de que el nombre y el tipo del conmutador virtual estén configurados correctamente y que aparezcan en el sistema operativo del host Windows. Para enumerar todos los conmutadores virtuales del sistema operativo del host Windows, en una sesión de PowerShell con privilegios elevados, use el siguiente cmdlet de PowerShell:
Get-VmSwitch
En función de los conmutadores virtuales del host de Windows, la salida debe ser similar a la siguiente:
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
Default Switch Internal
IntOff Internal
EFLOW-Ext External
Para usar un conmutador virtual específico (interno o externo), asegúrese de especificar los parámetros correctos: -vSwitchName
y vSwitchType
. Por ejemplo, si desea implementar la máquina virtual de EFLOW con un conmutador externo denominado EFLOW-Ext, en una sesión de PowerShell con privilegios elevados, use el siguiente comando:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext"
Configuración de la asignación de direcciones IP de máquina virtual
El segundo paso después de decidir el tipo de conmutador virtual que va a usar es determinar el tipo de asignación de direcciones IP del conmutador virtual. Para obtener más información sobre las opciones de asignación de IP, consulte Asignaciones de direcciones IP compatibles con EFLOW. En función del tipo de conmutador virtual que use, asegúrese de usar un mecanismo de asignación de direcciones IP compatible.
De manera predeterminada, si no se configura ninguna dirección IP estática, la máquina virtual de EFLOW intenta asignar una dirección IP al conmutador virtual mediante DHCP. Asegúrese de que haya un servidor DHCP en la red del conmutador virtual; si no está disponible, se produce un error en la instalación de la máquina virtual de EFLOW al asignar una dirección IP y se produce un error en la instalación. Si usa el conmutador predeterminado, no es necesario comprobar si hay un servidor DHCP, ya que el conmutador virtual ya tiene DHCP de forma predeterminada. Sin embargo, si usa un conmutador virtual interno o externo, puede comprobarlo siguiendo estos pasos:
- Abra un símbolo del sistema.
- Muestre todas las configuraciones e información de direcciones IP.
ipconfig /all
- Si usa un conmutador virtual externo, compruebe la interfaz de red utilizada para crear el conmutador virtual. Si usa un conmutador virtual interno, solo tiene que buscar el nombre usado para el conmutador. Una vez localizado el conmutador, compruebe si el valor de
DHCP Enabled
es Sí o No y compruebe la direcciónDHCP server
.
Si usa una dirección IP estática, tiene que especificar tres parámetros durante la implementación de EFLOW: -ip4Address
, ip4GatewayAddress
y ip4PrefixLength
. Si falta un parámetro o es incorrecto, la instalación de la máquina virtual de EFLOW no puede asignar una dirección IP y se produce un error en la instalación. Para obtener más información sobre la implementación de la máquina virtual de EFLOW, consulte Funciones de PowerShell para IoT Edge para Linux en Windows. Por ejemplo, si desea implementar la máquina virtual de EFLOW con un conmutador externo denominado EFLOW-Ext y una configuración IP estática, con una dirección IP que sea 192.168.0.2, con la dirección IP de puerta de enlace 192.168.0.1 y con la longitud del prefijo IP con un valor de 24. A continuación, en una sesión de PowerShell con privilegios elevados, use el siguiente comando:
Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext" -ip4Address "192.168.0.2" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"
Sugerencia
La máquina virtual de EFLOW mantendrá la misma dirección MAC para el conmutador virtual principal (usado durante la implementación) entre reinicios. Si usa la reserva de direcciones MAC DHCP, puede obtener la dirección MAC del conmutador virtual principal mediante el cmdlet de PowerShell: Get-EflowVmAddr
.
Comprobación de la asignación de direcciones de IP
Hay varias maneras de comprobar la dirección IP que se asignó a la máquina virtual de EFLOW. En primer lugar, con una sesión de PowerShell con privilegios elevados, use el cmdlet de EFLOW:
Get-EflowVmAddr
La salida debe reflejar algo parecido a lo siguiente:
C:\> Get-EflowVmAddr
[03/31/2022 12:54:31] Querying IP and MAC addresses from virtual machine (DESKTOP-EFLOW)
- Virtual machine MAC: 00:15:5d:4e:15:2c
- Virtual machine IP : 172.27.120.111 retrieved directly from virtual machine
00:15:5d:4e:15:2c
172.27.120.111
Otra manera es usar el cmdlet Connect-Eflow
para realizar la conexión remota en la máquina virtual y, a continuación, puede usar el comando bash ifconfig eth0
y comprobar la interfaz eth0. La salida debe ser similar a la siguiente:
eth0 Link encap:Ethernet HWaddr 00:15:5d:4e:15:2c
inet addr:172.27.120.111 Bcast:172.27.127.255 Mask:255.255.240.0
inet6 addr: fe80::215:5dff:fe4e:152c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5636 errors:0 dropped:0 overruns:0 frame:0
TX packets:2214 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:766832 (766.8 KB) TX bytes:427274 (427.2 KB)
Configuración de servidores DNS de máquina virtual
De forma predeterminada, la máquina virtual Linux de EFLOW no tiene configuración de DNS. Las implementaciones que usan DHCP intentan obtener la configuración de DNS propagada por el servidor DHCP. Si usa una dirección IP estática, el servidor DNS debe configurarse manualmente. Para obtener más información sobre los servidor DNS de la máquina virtual de EFLOW, consulte Configuración de DNS de EFLOW.
Para comprobar los servidores DNS usados por la interfaz predeterminada (eth0), puede usar el siguiente comando:
resolvectl | grep eth0 -A 8
La salida debe reflejar algo parecido a lo siguiente. Compruebe 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á.
Link 2 (eth0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 172.27.112.1
DNS Servers: 172.27.112.1
Si necesita configurar manualmente las direcciones del servidor DNS, puede usar el cmdlet de PowerShell de EFLOW Set-EflowVmDNSServers
. Para obtener más información sobre la configuración DNS de la máquina virtual de EFLOW, consulte Funciones de PowerShell para IoT Edge para Linux en Windows.
Comprobación de la resolución de DNS
Hay varias maneras de comprobar la resolución DNS.
En primer lugar, desde la máquina virtual de EFLOW, use el comando resolvectl query
para consultar una dirección URL específica. Por ejemplo, para comprobar si la resolución de nombres funciona para la dirección microsoft.com, use:
resolvectl query microsoft.com
La salida debe ser similar a la siguiente:
PS C:\> resolvectl query
microsoft.com: 40.112.72.205
40.113.200.201
13.77.161.179
104.215.148.63
40.76.4.15
-- Information acquired via protocol DNS in 1.9ms.
-- Data is authenticated: no
También puede usar el comando dig
para consultar una dirección URL específica. Por ejemplo, para comprobar si la resolución de nombres funciona para la dirección microsoft.com, use:
dig microsoft.com
La salida debe ser similar a la siguiente:
PS C:\> dig microsoft.com
; <<>> DiG 9.16.22 <<>> microsoft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36427
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;microsoft.com. IN A
;; ANSWER SECTION:
microsoft.com. 0 IN A 40.112.72.205
microsoft.com. 0 IN A 40.113.200.201
microsoft.com. 0 IN A 13.77.161.179
microsoft.com. 0 IN A 104.215.148.63
microsoft.com. 0 IN A 40.76.4.15
;; Query time: 11 msec
;; SERVER: 127.0
Pasos siguientes
Obtenga más información sobre la seguridad de Azure IoT Edge para Linux en Windows.
Manténgase al día de las actualizaciones más recientes de IoT Edge para Linux en Windows.