Enrutamiento básico, VLAN y bonding
Introducción
Más allá de la configuración básica de una interfaz, Linux permite definir rutas estáticas para alcanzar redes remotas, segmentar el tráfico con VLANs y combinar varias interfaces físicas en una lógica mediante bonding o teaming para aumentar el ancho de banda o la redundancia.
Enrutamiento estático
Cuando un equipo necesita alcanzar una red que no está directamente conectada, se define una ruta estática indicando por qué gateway debe salir el tráfico hacia esa red.
Rutas temporales con ip route (no persisten al reiniciar):
# ip route add 10.10.0.0/24 via 192.168.1.254 # ruta hacia red remota
# ip route add 10.10.0.0/24 dev eth1 # ruta por interfaz concreta
# ip route del 10.10.0.0/24 # eliminar ruta
# ip route add default via 192.168.1.1 # cambiar gateway por defecto
$ ip route show # ver tabla de rutas completa
Rutas persistentes en Netplan (Ubuntu):
network:
version: 2
ethernets:
enp0s3:
addresses:
- 192.168.1.10/24
routes:
- to: default
via: 192.168.1.1
- to: 10.10.0.0/24
via: 192.168.1.254
Rutas persistentes en /etc/network/interfaces (Debian):
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
post-up ip route add 10.10.0.0/24 via 192.168.1.254
pre-down ip route del 10.10.0.0/24
Activar el reenvío de paquetes (convertir el equipo en router):
# sysctl -w net.ipv4.ip_forward=1 # temporal
# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf # persistente
# sysctl -p # aplicar sysctl.conf
VLAN — Segmentación lógica de red
Una VLAN (Virtual LAN) permite segmentar una interfaz física en múltiples interfaces lógicas, cada una en una
red distinta, usando etiquetado IEEE 802.1Q. Requiere el módulo del kernel
8021q.
Cargar el módulo:
# modprobe 8021q
Crear una VLAN temporal con ip link:
# ip link add link eth0 name eth0.100 type vlan id 100
# ip addr add 10.100.0.1/24 dev eth0.100
# ip link set eth0.100 up
# ip link delete eth0.100 # eliminar la VLAN
VLAN persistente en Netplan (Ubuntu):
network:
version: 2
ethernets:
enp0s3:
dhcp4: false
vlans:
enp0s3.100:
id: 100
link: enp0s3
addresses:
- 10.100.0.1/24
enp0s3.200:
id: 200
link: enp0s3
dhcp4: true
Bonding — Agregación de interfaces
El bonding combina varias interfaces físicas en una sola interfaz lógica (bond0) para conseguir
mayor ancho de banda o redundancia ante fallos. Requiere el módulo bonding.
Modos de bonding más comunes:
mode 0 (balance-rr) → reparte paquetes en round-robin entre interfaces
mode 1 (active-backup) → una activa, las demás en espera (failover)
mode 4 (802.3ad) → LACP, agrega ancho de banda (requiere switch compatible)
mode 6 (balance-alb) → balanceo adaptativo sin soporte del switch
Bonding persistente en Netplan (Ubuntu):
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: false
enp0s8:
dhcp4: false
bonds:
bond0:
interfaces:
- enp0s3
- enp0s8
parameters:
mode: active-backup
mii-monitor-interval: 100
addresses:
- 192.168.1.10/24
routes:
- to: default
via: 192.168.1.1
Verificar el estado del bond:
$ cat /proc/net/bonding/bond0 # estado detallado del bond
$ ip link show bond0 # estado de la interfaz lógica