// DevOps
Netplan: configuración avanzada de red (túneles, VLAN, puentes, bonding)
Publicado el 22.09.2026
Introducción
Netplan — es una utilidad para la configuración declarativa de redes en Linux (Ubuntu, Debian y derivados).
Normalmente se usa para casos sencillos como Ethernet o Wi-Fi, pero puede mucho más:
- interfaces de túnel (IPIP, GRE, VXLAN, WireGuard),
- VLAN,
- puentes (bridges),
- agrupación de interfaces (bonding).
Estas capacidades permiten construir topologías de red complejas — desde VPN domésticos hasta centros de datos y entornos en la nube.
Interfaces de túnel
Los túneles encapsulan paquetes de un protocolo dentro de otro. Se usan para VPN, conexiones entre servidores o aislamiento de redes.
IPIP (IP-in-IP)
El túnel IPv4-a-IPv4 más sencillo.
network:
version: 2
renderer: networkd
tunnels:
tun0:
mode: ipip
local: 192.168.1.100
remote: 203.0.113.1
addresses: [10.0.0.1/30]
routes:
- to: 10.0.1.0/24
via: 10.0.0.2GRE (Generic Routing Encapsulation)
Soporta más protocolos que IPIP.
network:
version: 2
renderer: networkd
tunnels:
gre0:
mode: gre
local: 192.168.1.100
remote: 203.0.113.1
addresses: [10.0.0.1/30]
routes:
- to: 10.0.2.0/24
via: 10.0.0.2VXLAN (Virtual Extensible LAN)
Se utiliza en virtualización y en la nube. El soporte para VXLAN llegó a netplan 0.105.
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses: [192.168.1.100/24]
tunnels:
vxlan0:
mode: vxlan
id: 42 # identificador de red VXLAN (VNI), 1–16777215
link: enp0s3
local: 192.168.1.100
remote: 203.0.113.1 # dirección de la otra parte o grupo multicast, por ejemplo 239.1.1.1
port: 4789 # puerto estándar de VXLAN
addresses: [10.0.0.1/24]No existe una clave independiente para el grupo multicast en netplan: la dirección del grupo se especifica en remote. La interfaz indicada en link debe estar descrita en la misma configuración (bloque ethernets), de lo contrario netplan generate fallará con un error.
WireGuard
VPN moderno; el soporte llegó a netplan 0.100.
network:
version: 2
renderer: networkd
tunnels:
wg0:
mode: wireguard
port: 51820
addresses: [10.0.0.2/24]
key: /etc/wireguard/private.key # clave privada (base64) o ruta al archivo
peers:
- keys:
public: <remote-public-key>
endpoint: 203.0.113.1:51820
allowed-ips: [0.0.0.0/0]
keepalive: 25La clave privada se especifica con key (o keys: private:), la clave pública del par — keys: public:, el intervalo keepalive — keepalive. Las claves private-key, public-key y persistent-keepalive, habituales en wg-quick, no existen en netplan — si las usas netplan generate terminará con error. La ruta a un archivo en lugar de la clave en línea está soportada con systemd-networkd a partir de la versión 242. En lugar de <remote-public-key> sustituye la clave pública de la otra parte en base64 — netplan no aceptará un marcador de posición.
VLAN (Virtual LAN)
Segmentación del tráfico por VLAN ID.
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
vlans:
vlan10:
id: 10
link: enp0s3
addresses: [192.168.10.100/24]
routes:
- to: default
via: 192.168.10.1Puentes (Bridges)
Unen varios interfaces.
network:
version: 2
renderer: networkd
ethernets:
enp0s3: { dhcp4: no }
enp0s8: { dhcp4: no }
bridges:
br0:
interfaces: [enp0s3, enp0s8]
addresses: [192.168.1.100/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]Bonding (agrupación de interfaces)
Para tolerancia a fallos y/o aumentar el ancho de banda.
network:
version: 2
renderer: networkd
ethernets:
enp0s3: { dhcp4: no }
enp0s8: { dhcp4: no }
bonds:
bond0:
interfaces: [enp0s3, enp0s8]
addresses: [192.168.1.100/24]
routes:
- to: default
via: 192.168.1.1
parameters:
mode: 802.3ad # LACP (requiere soporte en el switch)
transmit-hash-policy: layer3+4
mii-monitor-interval: 100Por qué el bonding no acelera una única conexión y cómo elegir el modo se explica en el artículo «Redundancia de enlaces: dentro del edificio».
Parámetros adicionales
- MTU:yaml
mtu: 9000 - Dirección MAC:yaml
macaddress: 00:16:3e:12:34:56 - Métricas de rutas:yaml
routes: - to: 192.168.2.0/24 via: 192.168.1.1 metric: 100
Aplicación de la configuración
- Comprobación de sintaxis:bash
sudo netplan generate - Prueba de 120 segundos:bash
sudo netplan try - Aplicar:bash
sudo netplan apply
Consejos útiles
- Permisos: los archivos de configuración
/etc/netplan/*.yamldeben ser600o644, de lo contrario aparecerán advertencias.bashsudo chmod 600 /etc/netplan/*.yaml - Comprobación de interfaces:
ip a,ip r,nmcli(si se usa NetworkManager). - Registros:
journalctl -u systemd-networkdo/var/log/syslog. - Copias de seguridad: siempre guarda copias antes de experimentar.
Compatibilidad de características de Netplan por versión
| Característica | Soporte en Netplan | Versión mínima de Ubuntu | Comentarios |
|---|---|---|---|
| Ethernet, Wi-Fi | siempre | 17.10+ (por defecto) | Escenarios básicos, soportado por todos los renderers |
| VLAN | siempre | 17.10+ | vlans: funciona tanto con networkd como con NetworkManager |
| Bridges | siempre | 17.10+ | Soporte completo de puentes |
| Bonding | siempre | 17.10+ | Modos: active-backup, balance-rr, 802.3ad, etc. |
| IPIP | 0.99+ | 20.04+ | mode: ipip, funciona vía networkd |
| GRE | 0.99+ | 20.04+ | mode: gre |
| VXLAN | 0.105+ | depende de la versión del paquete | El grupo multicast se especifica en remote, puerto estándar 4789 |
| WireGuard | 0.100+ | depende de la versión del paquete | Claves key, keys.public, keepalive; ruta a archivo de clave — con networkd 242 |
| MAC/MTU/Routes | siempre | 17.10+ | Ajuste fino de rutas e interfaces |
Consejos prácticos
- Para Ubuntu 18.04: Netplan ya está presente, pero el soporte de túneles es limitado. Es mejor actualizar o instalar
netplan.iodesde backports. - Para Ubuntu 20.04 y posteriores: la disponibilidad de WireGuard y VXLAN depende de la versión instalada de
netplan.io(WireGuard — desde 0.100, VXLAN — desde 0.105); compruébala antes de configurar. - Comprobar la versión del paquete:bash
apt show netplan.io | grep Version
Preguntas frecuentes (FAQ)
¿❓ Cómo comprobar si la configuración de Netplan funciona?
Usa:
sudo netplan try— tendrás 120 segundos para confirmar. Si todo está correcto, luego ejecuta:
sudo netplan apply¿❓ Cómo configurar VLAN con Netplan?
Ejemplo:
vlans:
vlan10:
id: 10
link: enp0s3
addresses: [192.168.10.100/24]¿❓ Cómo configurar WireGuard en Netplan?
A partir de netplan.io 0.100:
tunnels:
wg0:
mode: wireguard
key: /etc/wireguard/private.key
peers:
- keys:
public: <remote-pubkey>
endpoint: 203.0.113.1:51820
allowed-ips: [0.0.0.0/0]¿❓ Por qué Netplan se queja de los permisos del archivo?
Los archivos en /etc/netplan/ pueden contener claves y contraseñas, por eso netplan advierte si el archivo es accesible por otros usuarios. Establece permisos 600:
sudo chmod 600 /etc/netplan/*.yaml¿❓ ¿Soporta Netplan bonding?
Sí. Ejemplo para LACP (802.3ad):
bonds:
bond0:
interfaces: [enp0s3, enp0s8]
parameters:
mode: 802.3adEnlaces útiles
// Contact
¿Necesitas ayuda?
Escríbeme y te ayudaré a resolver el problema
Respondo en un día laborable (03:00-13:00 GMT)
Или оставьте заявку здесь:
// Related