Domina Netplan en Ubuntu: Guía completa de configuración de red con YAML

1. Visión general de Netplan en Ubuntu

¿Qué es Netplan?

Netplan es una herramienta de gestión de configuración de red introducida en las versiones de Ubuntu a partir de la 17.10. Anteriormente se utilizaban herramientas como ifconfig y /etc/network/interfaces, pero Netplan ofrece un enfoque nuevo para la configuración de red. Una de sus mayores ventajas es que utiliza archivos YAML para describir la configuración de la red. Esto hace que la configuración sea simple y coherente, permitiendo gestionar fácilmente incluso entornos de red complejos.

Netplan admite back‑ends como NetworkManager y systemd-networkd y está disponible tanto en las ediciones Ubuntu Desktop como Server. Esto permite una gestión unificada de la red en diferentes entornos.

¿Por qué usar Netplan?

En comparación con los métodos tradicionales de configuración de red, Netplan ofrece las siguientes ventajas:

  1. Sintaxis simple: el formato YAML es intuitivo y está claramente estructurado, lo que hace que las configuraciones sean fáciles de entender incluso para principiantes.
  2. Gestión unificada: al funcionar tanto en entornos de escritorio como de servidor, diversas configuraciones de red pueden gestionarse de forma centralizada.
  3. Cambios dinámicos: editar y aplicar el archivo de configuración permite actualizar los ajustes de red en tiempo real.

Estructura básica de Netplan

Los archivos de configuración de Netplan se encuentran normalmente en el directorio /etc/netplan/ y utilizan la extensión .yaml. Estos archivos contienen información como la configuración de interfaces de red, direcciones IP y detalles de servidores DNS.

A continuación se muestra un ejemplo de una configuración básica de Netplan:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

En este ejemplo, la interfaz Ethernet enp3s0 está configurada para obtener una dirección IP mediante DHCP.

El papel de Netplan en Ubuntu 18.04 LTS y versiones posteriores

Netplan se instala por defecto en Ubuntu 18.04 LTS y versiones posteriores y se usa ampliamente para la gestión de red en entornos de escritorio y servidor. En entornos de servidor, donde a menudo se requieren múltiples interfaces de red o asignaciones de IP estáticas, la flexibilidad de Netplan resulta particularmente útil.

A continuación, exploraremos ejemplos prácticos de configuración de redes usando Netplan.

2. Configuración básica de Netplan

Ubicación de los archivos de configuración de Netplan

Los archivos de configuración de Netplan se almacenan típicamente en el directorio /etc/netplan/. Puedes modificar los ajustes de red editando estos archivos .yaml. Nombres de archivo como 50-cloud-init.yaml son comunes, aunque pueden variar según el entorno.

Para abrir el archivo de configuración, usa un editor de texto como vi o nano:

sudo vi /etc/netplan/50-cloud-init.yaml

Configuración de dirección IP dinámica (DHCP)

Para obtener automáticamente una dirección IP mediante DHCP, utiliza la siguiente configuración YAML. Esta es la configuración más simple y se usa habitualmente en entornos domésticos y de oficina.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Configuración de dirección IP estática

Algunos entornos requieren asignar una dirección IP estática a servidores o dispositivos específicos. El siguiente ejemplo muestra cómo configurar una IP estática.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Aplicar la configuración

Después de editar el archivo de configuración, aplica la configuración de Netplan con el siguiente comando:

sudo netplan apply

Verificar la configuración

Para comprobar si los ajustes de Netplan se han aplicado correctamente, verifica el estado de la interfaz de red con el siguiente comando:

ip a

3. Configuración de múltiples interfaces de red

Configuración de múltiples interfaces Ethernet

Los dispositivos con varias interfaces de red pueden asignar diferentes ajustes a cada una. El ejemplo a continuación configura dos interfaces Ethernet:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
    enp4s0:
      addresses:
        - 192.168.1.150/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Enlace para redundancia

El enlace (bonding) combina múltiples interfaces de red en una única interfaz virtual, proporcionando redundancia y mejorando la disponibilidad. El ejemplo a continuación crea una interfaz de enlace llamada bond0:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: active-backup
        primary: enp3s0

Configuración de Wi‑Fi

Netplan también admite la configuración de Wi‑Fi. El siguiente ejemplo se conecta a un SSID específico:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      access-points:
        "my_wifi_network":
          password: "password1234"
      dhcp4: true

Configuración de VLAN

Las LAN virtuales (VLAN) pueden segmentar lógicamente las redes. El ejemplo a continuación crea una VLAN en enp3s0:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan10:
      id: 10
      link: enp3s0
      addresses:
        - 192.168.10.1/24

4. Configuración avanzada de Netplan

Configuración de enrutamiento estático

Al conectar redes a través de varios routers, se requiere enrutamiento estático. El ejemplo a continuación especifica una ruta para acceder a una red específica:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: 10.0.0.0/24
          via: 192.168.1.1

Esta configuración establece una ruta estática para la red 10.0.0.0/24 a través de la puerta de enlace predeterminada 192.168.1.1.

Múltiples puertas de enlace predeterminadas

Netplan permite establecer diferentes puertas de enlace predeterminadas por interfaz. Esto es útil al acceder a Internet mediante diferentes segmentos de red:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
    enp4s0:
      addresses:
        - 10.0.0.100/24
      gateway4: 10.0.0.1

Configuración de servidores DNS

El ejemplo a continuación especifica los servidores DNS públicos de Google:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Configuración avanzada de bonding

Los modos de bonding pueden cambiarse para obtener diferentes comportamientos. El ejemplo a continuación configura un bonding round‑robin:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: balance-rr

El modo balance-rr alterna el tráfico entre las dos interfaces, mejorando el rendimiento mediante la distribución del ancho de banda.

Configuración avanzada de VLAN

Las VLAN se utilizan en redes de gran escala para dividir lógicamente los entornos. El ejemplo a continuación asigna la VLAN ID 100:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan100:
      id: 100
      link: enp3s0
      addresses:
        - 192.168.100.1/24

Esto asigna la VLAN ID 100 a la interfaz enp3s0, creando una red virtual segmentada.

5. Solución de problemas de Netplan

Aunque Netplan es conveniente, los errores de configuración o las limitaciones del sistema pueden provocar problemas. Esta sección explica los problemas más comunes y sus soluciones.

Problemas comunes de Netplan y sus causas

1. Configuración no aplicada

  • Error de sangrado YAML : YAML es estricto con la sangría. Un espaciado incorrecto impide el análisis correcto.
  • Nombres de interfaz incorrectos : Asegúrese de que los nombres de interfaz coincidan con la salida del comando ip a.

Soluciones

  1. Ejecute netplan apply después de guardar el archivo de configuración.
  2. Use sudo netplan try para probar los cambios antes de aplicarlos permanentemente.
    sudo netplan apply
    
    sudo netplan try
    

2. Errores de conexión de red

  • Puerta de enlace o configuración DNS incorrectas : Verifique las direcciones IP y la configuración DNS.
  • Problemas de la interfaz física : Revise los cables y el hardware.

Soluciones

  1. Use el comando ping para probar la conectividad:
    ping 8.8.8.8
    
  1. Vuelva a aplicar la configuración de red y reinicie los servicios:
    sudo systemctl restart networkd
    

3. Mensajes de error durante netplan apply

Los errores ocurren cuando la configuración es incorrecta o la interfaz no es reconocida.

  • Ejemplo de mensaje de error : Error in network configuration: failed to bring up device enp3s0

Verifique el nombre correcto de la interfaz usando ip a.

Solución

Revise la sangría, la ortografía, los nombres de interfaz y la corrección de las direcciones IP.

Revisión de registros

Los registros del sistema son útiles para la solución de problemas. Use el siguiente comando para ver los registros relacionados con la red:

journalctl -u systemd-networkd

Esto muestra información detallada para ayudar a resolver errores de configuración.

6. Resumen y próximos pasos

Usar Netplan permite gestionar la configuración de red de Ubuntu de forma simple y eficiente. A continuación se muestra un resumen y los pasos sugeridos para una exploración más profunda.

Principales ventajas de Netplan

  1. Configuración YAML intuitiva : Fácil de leer y modificar.
  2. Diseño de red flexible : Soporta múltiples interfaces, agregación, rutas y VLANs.
  3. Interfaz unificada : Funciona tanto con systemd-networkd como con NetworkManager.
  4. Actualizaciones en tiempo real : Aplique los cambios inmediatamente con un solo comando.

Pasos recomendados a seguir

  1. Diseño de red virtual : Utilice múltiples VLANs para segmentar lógicamente las redes.
  2. Configuración IPv6 : Prepárese para la infraestructura de red moderna.
  3. Scripts de automatización : Automatice configuraciones usando Ansible o Puppet.
  4. Mejoras de seguridad : Refuerce el firewall y la configuración de control de acceso.

Recursos adicionales

年収訴求