Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Linux usa systemd-networkd como su servicio de administración de red predeterminado.
systemd-networkd es un servicio del sistema ligero que configura y administra las interfaces de red mediante declaración a través de archivos de configuración.
En este artículo se muestra cómo administrar el servicio systemd-networkd, dónde colocar archivos de configuración de red, cómo definir configuraciones de interfaz comunes, como DHCP y IP estática, y cómo supervisar y solucionar problemas de estado de red en un sistema linux de Azure.
Note
Azure Linux 4.0 está ahora en preview y está estrictamente limitado a fines de evaluación y pruebas. No es adecuado para su uso en producción.
Prerrequisitos
- Un sistema Azure Linux en el que puede autenticarse con acceso de shell.
- Una cuenta de usuario con
sudoprivilegios, que es necesario para administrar los servicios del sistema y editar los archivos de configuración de red en/etc/systemd/network/.
Funcionalidades de systemd-networkd
Puede usar systemd-networkd en las máquinas virtuales Linux de Azure (VMs) para realizar las siguientes tareas de red:
- Configure interfaces de red con direcciones IP DHCP o estáticas.
- Administrar varias tarjetas de interfaz de red (NIC) en un único host.
- Configure características avanzadas de red, como VLAN, puentes e interfaces enlazadas.
- Integre con los servicios DHCP y DNS que proporciona la plataforma Azure.
Administración del systemd-networkd servicio
Use systemctl para iniciar, detener, reiniciar y comprobar el estado del systemd-networkd servicio.
Iniciar el systemd-networkd servicio
Inicie el systemd-networkd servicio con el siguiente comando:
sudo systemctl start systemd-networkd
Detener el systemd-networkd servicio
Note
Esta acción cierra todas las redes dentro de la máquina virtual, finalizando inmediatamente la sesión SSH activa y dejando la máquina virtual completamente inaccesible por cualquier medio estándar, aparte del acceso a través de la consola serie.
Detenga el systemd-networkd servicio mediante el comando siguiente:
sudo systemctl stop systemd-networkd
Reinicio del systemd-networkd servicio
Reinicie el systemd-networkd servicio, por ejemplo, después de cambiar un archivo de configuración mediante el siguiente comando:
sudo systemctl restart systemd-networkd
Comprobación del estado del servicio
Compruebe el estado del systemd-networkd servicio y vea sus entradas de registro más recientes mediante el siguiente comando:
sudo systemctl status systemd-networkd
La salida muestra si el servicio está cargado, activo y habilitado en el arranque, junto con las líneas de registro más recientes que generó el servicio.
Visualización de registros de servicio
Vea el historial de registros completo del systemd-networkd servicio mediante el siguiente comando:
journalctl -u systemd-networkd
La salida incluye todas las líneas de registro que el servicio ha emitido desde que se inició el sistema, lo que le ayuda a diagnosticar problemas como problemas con errores de configuración de interfaz o DHCP.
Archivos de configuración de red
systemd-networkd lee su configuración desde archivos de drop-in en dos directorios conocidos. Cada archivo usa una extensión específica que determina qué tipo de configuración proporciona.
En la tabla siguiente se describen los directorios y los tipos de archivo que systemd-networkd usan:
| Archivo o directorio | Purpose |
|---|---|
/etc/systemd/network/ |
Directorio para configuraciones de red personalizadas que cree. |
/lib/systemd/network/ |
Directorio para las configuraciones de red predeterminadas que instalan los paquetes. |
archivos .network |
Defina el comportamiento de la interfaz, como DHCP, IP estática, puerta de enlace y DNS. |
archivos .netdev |
Defina dispositivos virtuales, como enlaces, puentes y VLAN. |
archivos .link |
Defina las propiedades del vínculo de hardware, como cambiar el nombre de las NIC y establecer la MTU. |
Coloque los archivos de configuración personalizados en /etc/systemd/network/. Los archivos de /etc/systemd/network/ tienen prioridad sobre los archivos con el mismo nombre en /lib/systemd/network/.
En las secciones siguientes se proporcionan archivos de configuración de red de ejemplo (archivos de .network) para escenarios comunes en máquinas virtuales Linux de Azure.
Ejemplo: Configuración de una NIC principal con DHCP
El siguiente archivo de ejemplo .network configura la interfaz de red principal (eth0) para obtener su dirección IP de un servidor DHCP:
[Match]
Name=eth0
[Network]
DHCP=yes
Esta es la configuración típica de una máquina virtual Linux de Azure, donde la interfaz de red principal recibe su dirección IP dinámicamente desde el servicio DHCP de Azure.
Guarde el archivo con una .network extensión en /etc/systemd/network/, por ejemplo, como /etc/systemd/network/10-eth0.networky, a continuación, reinicie systemd-networkd para aplicar el cambio.
Ejemplo: configuración de una NIC secundaria con una dirección IP estática
El siguiente archivo de ejemplo .network configura una interfaz de red secundaria (eth1) con una dirección IP estática, una puerta de enlace y un servidor DNS. Reemplace <IP_ADDRESS>, <CIDR>, <GATEWAY_IP>y por <DNS_IP> los valores que coincidan con la red:
[Match]
Name=eth1
[Network]
Address=<IP_ADDRESS>/<CIDR>
Gateway=<GATEWAY_IP>
DNS=<DNS_IP>
Guarde el archivo con una .network extensión en /etc/systemd/network/, por ejemplo, como /etc/systemd/network/20-eth1.networky, a continuación, reinicie systemd-networkd para aplicar el cambio.
Supervisión y solución de problemas de redes
Use los networkctl comandos y ip para inspeccionar el estado actual de las interfaces de red y compruebe que la configuración se ha aplicado correctamente.
Enumerar todas las interfaces de red conocidas
Enumere todas las interfaces de red que systemd-networkd conozcan, junto con su tipo, estado operativo y estado de configuración mediante el siguiente comando:
networkctl list
Mostrar detalles de una interfaz de red específica
Mostrar información de estado detallada para una interfaz específica mediante el siguiente comando. Reemplace por <INTERFACE> el nombre de la interfaz que desea inspeccionar, como eth0:
networkctl status <INTERFACE>
La salida incluye las direcciones IP de la interfaz, la puerta de enlace, los servidores DNS y el archivo de configuración que se le aplica actualmente.
Descubre otros networkctl comandos
Vea todos los subcomandos y opciones que networkctl admiten el uso del siguiente comando:
networkctl --help
Comprobación de las direcciones IP y las rutas
Use los ip comandos para comprobar que las direcciones IP y las rutas esperadas están configuradas en el sistema.
Enumerar todas las direcciones IP asignadas
Enumere todas las direcciones IP asignadas a cada interfaz de red mediante el siguiente comando:
ip addr
Enumerar todas las rutas
Enumere todas las rutas de la tabla de enrutamiento del sistema mediante el siguiente comando:
ip route
Contenido relacionado
Para obtener más información, consulte los siguientes recursos originales:
-
systemd.networkpágina de manual: referencia completa de las opciones que puede establecer en un.networkarchivo de configuración. -
systemd-networkdpágina man: información general delsystemd-networkdservicio, incluida la forma en que detecta y aplica los archivos de configuración. -
networkctl(1)página del manual: referencia completa para la línea de comandos de la herramientanetworkctl. -
journalctl(1)página del manual: referencia completa de comandos para la herramientajournalctlque lee los registros de servicios de systemd.