Crear múltiples VLANs en Linux e incluso armar un trunk con dicho sistema operativo es muy sencillo y explicar cómo se hace es el objetivo de este post. Los motivos por los cuáles se puede querer hacer esto son potencialmente muchos, aunque a continuación dejo algunos ejemplos.

  • Utilizar el equipo como punto de concentración y ruteo de varias redes diferentes.
  • Host de máquinas virtuales, necesitando que las diferentes máquinas estén en VLANs distintas.

Configuración

El prerequisito para hacer esto es contar con el paquete de VLAN que, en Debian y derivados es pecisamente vlan. Por ello, en esos sistemas:

aptitude install vlan

Luego, para crear una interfaz de con un VLAN ID 22, con nombre vlan22, asociada a la interfaz eth0 y con la IP 192.168.22.2:

vconfig add eth0 22 vlan22
ifconfig vlan22 192.168.22.2 netmask 255.255.255.0 up

De la misma manera, para eliminar la interfaz creada:

vconfig rem vlan22

Ahora bien, esto es necesario hacerlo cada vez que arranca el equipo. Para que el cambio sea permanente, en los Debian/Ubuntu, editar el archivo /etc/network/interfaces y agregar las siguientes líneas:

auto vlan22
iface vlan22 inet static
      address 192.168.22.2
      netmask 255.255.255.0

NOTA: si el equipo con Linux recibe tráfico sin taggear, lo interpretará directamente en su interfaz eth0. Si el tráfico viene taggeado con el ID 22 entonces deberá leerse en la interfaz vlan22. Obviamente pueden agregarse tantas interfaces de VLAN a la misma interfaz física como se deseen y, de esta manera, el equipo podría recibir un trunk con cada una de las VLANs.