Configuración de red en Ubuntu con Netplan

Introducción

Desde Ubuntu 18.04, la configuración de red se gestiona mediante Netplan. Usa archivos YAML en /etc/netplan/ que describen la configuración deseada, y delega la aplicación en un backend: systemd-networkd (servidores) o NetworkManager (escritorio).

Estructura de archivos

Los archivos de configuración se ubican en /etc/netplan/ con extensión .yaml. Puede haber varios archivos; se aplican en orden alfabético. El nombre habitual en Ubuntu Server es 00-installer-config.yaml.


$ ls /etc/netplan/
00-installer-config.yaml

$ cat /etc/netplan/00-installer-config.yaml
          

Configuración DHCP


network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
          
  • version: 2 → versión del esquema Netplan (siempre 2)
  • renderer → backend: networkd (servidor) o NetworkManager (escritorio)
  • ethernets → sección para interfaces Ethernet
  • dhcp4: true → obtener IPv4 por DHCP

Configuración estática


network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: false
      addresses:
        - 192.168.1.10/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1
        search:
          - ejemplo.local
          
  • addresses → lista de IPs con su prefijo CIDR
  • routes → rutas estáticas; to: default define el gateway
  • nameservers.addresses → servidores DNS
  • nameservers.search → dominios de búsqueda

Múltiples interfaces


network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      dhcp4: false
      addresses:
        - 10.0.0.1/24
          

Aplicar y validar la configuración


# netplan apply                  # aplicar cambios inmediatamente
# netplan try                    # aplicar con rollback automático en 120s si no se confirma
# netplan try --timeout 60       # igual con 60 segundos de margen

# netplan generate               # generar los archivos del backend sin aplicar
# netplan get                    # mostrar la configuración activa en formato YAML

# Validar sintaxis del YAML antes de aplicar
$ python3 -c "import yaml, sys; yaml.safe_load(sys.stdin)" < /etc/netplan/00-installer-config.yaml
          

netplan try es especialmente útil en servidores remotos: si la nueva configuración rompe la conectividad y no se confirma manualmente, revierte sola al cabo del tiempo indicado.

Permisos del archivo YAML

Netplan avisa si el archivo tiene permisos demasiado abiertos, ya que puede contener credenciales WiFi. Los permisos correctos son 600 (solo root):


# chmod 600 /etc/netplan/00-installer-config.yaml
# chown root:root /etc/netplan/00-installer-config.yaml
          

Configuración WiFi


network:
  version: 2
  renderer: NetworkManager
  wifis:
    wlp2s0:
      dhcp4: true
      access-points:
        "NombreDeLaRed":
          password: "contraseña"
          

Para WiFi se usa el renderer NetworkManager ya que networkd no gestiona la autenticación inalámbrica por sí solo.

Netplan centraliza toda la configuración de red en un YAML limpio y evita tener que conocer la sintaxis de cada backend. Es el estándar en Ubuntu Server desde la versión 18.04.

Configuración de red en RedHat/Fedora: nmcli, /etc/sysconfig/network-scripts/

Índice de la sección

Índice del curso