Configuración de red en Ubuntu con Netplan: Guía completa paso a paso

1. Descripción general de Netplan en Ubuntu

¿Qué es Netplan?

Netplan es una herramienta de gestión de configuración de red adoptada en Ubuntu a partir de la versión 17.10. Antes se utilizaban ifconfig o /etc/network/interfaces, pero Netplan introduce un nuevo formato que los reemplaza. Su característica principal es que permite describir la configuración de red mediante archivos YAML. Esto hace posible una configuración simple, consistente y fácil de administrar, incluso en entornos con configuraciones complejas. Netplan es compatible con backends como NetworkManager y systemd-networkd, y se utiliza tanto en versiones de escritorio como en servidores de Ubuntu. De esta manera, es posible gestionar redes en diferentes entornos utilizando un método unificado.

¿Por qué deberías usar Netplan?

Comparado con los métodos tradicionales, Netplan ofrece las siguientes ventajas:
  1. Sintaxis sencilla: el formato YAML es intuitivo y de estructura clara. Facilita la lectura de la configuración y resulta accesible incluso para principiantes.
  2. Gestión unificada: puede usarse en entornos de escritorio y servidor, lo que permite centralizar la administración de distintas configuraciones de red.
  3. Cambios dinámicos: basta con editar y aplicar el archivo de configuración para reflejar en tiempo real los cambios de red.

Estructura básica de Netplan

Los archivos de configuración de Netplan suelen ubicarse en el directorio /etc/netplan/ y tienen la extensión .yaml. Allí se definen parámetros como interfaces de red, direcciones IP o servidores DNS. Un ejemplo básico de configuración en Netplan es el siguiente:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
En este caso, la interfaz ethernet enp3s0 obtiene una dirección IP mediante DHCP.

El papel de Netplan en Ubuntu 18.04 LTS y posteriores

A partir de Ubuntu 18.04 LTS, Netplan viene instalado por defecto y se utiliza ampliamente tanto en entornos de escritorio como de servidor. En servidores, donde a menudo se requiere configurar múltiples interfaces o direcciones IP estáticas, Netplan demuestra su mayor utilidad. En las siguientes secciones veremos cómo realizar configuraciones concretas de red con Netplan.

2. Configuración básica de Netplan

Ubicación de los archivos de configuración

Los archivos de Netplan se almacenan en /etc/netplan/. Editando estos archivos .yaml, es posible modificar la configuración de red. Nombres típicos incluyen 50-cloud-init.yaml, aunque pueden variar según el entorno. Para abrir un archivo de configuración, se utilizan editores de texto como vi o nano:
sudo vi /etc/netplan/50-cloud-init.yaml

Configuración de IP dinámica (DHCP)

Si se desea obtener automáticamente una dirección IP mediante DHCP, se puede usar la siguiente configuración YAML. Es la más simple y se adapta a la mayoría de redes domésticas u oficinas:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Configuración de IP estática

En algunos entornos, como servidores o dispositivos específicos, es necesario asignar direcciones IP fijas. Ejemplo de configuración 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 configuración

Una vez editado el archivo, los cambios se aplican con:
sudo netplan apply

Verificación de la configuración

Para confirmar que la configuración se aplicó correctamente, se puede revisar el estado de las interfaces con:
ip a

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

Configuración de múltiples interfaces Ethernet

En servidores o dispositivos con varias interfaces, cada una puede configurarse con parámetros diferentes. Ejemplo con 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

Configuración de Bonding para redundancia

El «bonding» permite unir varias interfaces en una sola interfaz virtual, aumentando disponibilidad y redundancia. Ejemplo:
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 conexión Wi-Fi

Netplan también permite gestionar redes Wi-Fi. Ejemplo para conectarse a un SSID específico:
network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      access-points:
        "mi_red_wifi":
          password: "password1234"
      dhcp4: true

Configuración de VLAN

En entornos avanzados, es posible configurar VLANs para segmentar la red lógicamente. Ejemplo de VLAN sobre enp3s0:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan10:
      id: 10
      link: enp3s0
      addresses:
        - 192.168.10.1/24

4. Configuraciones avanzadas de Netplan

Rutas estáticas

Cuando la red necesita conectarse a través de varios routers, es necesario definir rutas estáticas. Ejemplo:
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

Múltiples gateways predeterminados

Si existen varias interfaces, se pueden definir gateways diferentes para cada una:
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

Netplan permite definir servidores DNS estáticos. Ejemplo con los 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

Además del modo active-backup, se pueden usar otros modos, como balance-rr para distribuir el tráfico entre interfaces:
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

Configuración avanzada de VLAN

Ejemplo creando la VLAN vlan100 sobre enp3s0 con IP estática:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan100:
      id: 100
      link: enp3s0
      addresses:
        - 192.168.100.1/24

5. Solución de problemas en Netplan

Aunque Netplan es muy útil, pueden surgir problemas debido a errores de configuración o características del sistema. A continuación, se describen problemas comunes y cómo resolverlos.

Problema 1: La configuración no se aplica

  • Error de indentación en YAML: el formato YAML es muy estricto con la indentación. Espacios incorrectos impiden que se interprete bien.
  • Nombre de interfaz incorrecto: asegúrese de usar el nombre real con ip a.

Solución

  1. Ejecutar sudo netplan apply después de guardar el archivo.
  2. Usar sudo netplan try para probar los cambios antes de aplicarlos de forma permanente.

Problema 2: Error de conexión a la red

  • Configuración incorrecta de gateway o DNS.
  • Problemas físicos de cableado o hardware.

Solución

  1. Probar conectividad con ping 8.8.8.8.
  2. Reaplicar la configuración con sudo netplan apply y reiniciar el servicio: sudo systemctl restart networkd.

Problema 3: Mensajes de error con netplan apply

Si aparece un error como Error in network configuration: failed to bring up device enp3s0, verifique que el nombre de la interfaz y la sintaxis YAML sean correctos.

Revisión de logs

Para diagnóstico avanzado, revise los logs con:

journalctl -u systemd-networkd

6. Resumen y próximos pasos

Netplan simplifica la gestión de redes en Ubuntu al usar YAML. Sus ventajas incluyen:

  1. Configuración intuitiva en YAML.
  2. Soporte para múltiples interfaces, VLANs, bonding y rutas estáticas.
  3. Compatibilidad con NetworkManager y systemd-networkd.
  4. Aplicación de cambios en tiempo real.

Próximos pasos recomendados

  • Aprender a configurar VLANs múltiples para segmentación.
  • Implementar soporte para IPv6.
  • Automatizar configuraciones con Ansible o Puppet.
  • Fortalecer seguridad con firewalls y segmentación de red.

Recursos adicionales