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) oNetworkManager(escritorio) ethernets→ sección para interfaces Ethernetdhcp4: 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 CIDRroutes→ rutas estáticas;to: defaultdefine el gatewaynameservers.addresses→ servidores DNSnameservers.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.