Netplan

Netplan es una utilidad para configurar fácilmente la red en un sistema Linux. Simplemente crea una descripción YAML de las interfaces de red necesarias y la configuración de cada una.
Enlaces
Netplan lee la configuración de red de /etc/netplan/*.yaml que escriben los administradores, instaladores, instancias de imágenes en la nube u otras implementaciones del sistema operativo.
Fichero de configuración
Un archivo netplan.yaml es un archivo de configuración usado por Netplan, el sistema moderno de configuración de red en Ubuntu (desde la versión 17.10 en adelante). Netplan reemplaza a herramientas tradicionales como ifupdown y simplifica la administración de redes usando archivos YAML y renderizadores como NetworkManager o systemd-networkd.
📦 Ubicación del archivo Netplan
Los archivos Netplan están ubicados en: /etc/netplan/*.yaml
Pueden coexistir varios ficheros (01-netcfg.yaml, 50-cloud-init.yaml, 99-custom.yaml, etc.). Todos se fusionan al aplicar los cambios, así que evita definir una misma interfaz en múltiples archivos.
📄 Estructura general de un fichero netplan.yaml
network:
version: 2 # Versión del formato Netplan (actualmente siempre 2)
renderer: networkd # Opcional: "networkd" o "NetworkManager"
ethernets:
eth0:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
routes:
- to: default
via: 192.168.1.254
🧩 Componentes principales
| Clave | Descripción |
|---|---|
network: |
Raíz del documento, agrupa toda la configuración. |
version: |
Actualmente siempre es 2. |
renderer: |
Opcional. Define el backend que aplicará la configuración (networkd o NetworkManager). |
ethernets: |
Interfaces Ethernet físicas. |
vlans: |
Define interfaces VLAN. |
bridges: |
Define interfaces tipo puente (bridge). |
bonds: |
Define interfaces agregadas (bonding/LACP). |
wifis: |
Interfaces Wi-Fi (solo con NetworkManager o soporte específico). |
📘 Ejemplos por tipo de configuración
1. 🌐 IP estática en interfaz Ethernet
network:
version: 2
ethernets:
ens18:
addresses: [192.168.0.100/24]
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
routes:
- to: default
via: 192.168.0.254
2. 🌍 DHCP en interfaz
network:
version: 2
ethernets:
ens18:
dhcp4: true
3. 🔧 VLAN sobre interfaz física
network:
version: 2
ethernets:
ens19: {} # Debe declararse aunque no tenga IP
vlans:
vlan4:
id: 4
link: ens19
addresses: [192.168.4.10/24]
4. 🔗 Bridge
network:
version: 2
bridges:
br0:
interfaces: [ens18]
addresses: [192.168.10.5/24]
gateway4: 192.168.10.1
nameservers:
addresses: [1.1.1.1]
routes:
- to: default
via: 192.168.10.254
⚙️ Aplicar configuración
# Validar sintaxis con rollback
sudo netplan try
# Aplicar configuración
sudo netplan apply
# Ver interfaces configuradas
ip a
📎 Buenas prácticas
-
Respetar la indentación YAML: Usa solo espacios, no tabs.
-
No duplicar interfaces en distintos archivos.
-
Usa
netplan trysi trabajas remotamente (permite revertir si pierdes conectividad). -
Si usas
renderer: NetworkManager, asegúrate de que el servicio esté activo.