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
          

Las VLANs y el bonding son técnicas habituales en entornos de servidor y virtualización para optimizar el uso de las interfaces de red físicas disponibles.

El stack de resolución DNS: /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf

Índice de la sección

Índice del curso