Soporte de VLANs
En alguna ocasión podemos necesitar soporte de VLANs en un servidor para que esté en diferentes redes/VLANs o haga de router con subinterfaces en diferentes VLANs. Debian y el Kernel (versión posterior a la 2.4.14) de Linux tienen soporte para ello.
Primero el kernel tiene que tener soporte para VLAN que es llamado 802.1q y el módulo por tanto 8021q. Los kernels de Debian por defecto viene con el módulo por lo que no es necesario compilar. En caso de tener que compilar el módulo debemos añadir esta característica. Para cargar el módulo:
modprobe 8021q
Segundo necesitamos ciertas herramientas para poder crear y manipular VLANs, esto se hace con el paquete Debian llamado vlan. Para instalarlo simplemente:
apt-get install vlan
Con esto ya podemos crear subinterfaces desde el shell de esta forma:
vconfig add interfaz vlanid vconfig add eth0 123
y Podemos borrarlas de esta forma:
vconfig rem interfaz vlanid vconfig rem eth0 123
En la ayuda del manual (man vconfig) tenemos todos los parámetros y opciones de las que disponemos.
Pero lo realmente interesante es que desde la versión 3.0 de Debian podemos configurar subinterfaces en el arranque de la red, es decir, configurar subinterfaces VLAN directamente en el fichero de configuración /etc/network/interfaces, con el siguiente formato (casi idéntico al de un interfaz normal):
iface vlannumero inet static address ip netmask mascara_de_red network red broadcast broadcast vlan_raw_device interfaz
En cursiva están los parámetros a introducir y en negrita los 2 referentes a VLANs:
En ejemplo de varias subinterfaces sería así:
# Subinterfaz VLAN 123 iface vlan123 inet static address 192.168.14.1 netmask 255.255.255.0 network 192.168.14.0 broadcast 192.168.14.255 vlan_raw_device eth1 # Subinterfaz VLAN 456 iface vlan456 inet static address 192.168.10.1 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 vlan_raw_device eth0
También podemos crear alias dentro de una subinterfaz VLAN como siempre hemos hecho:
# Subinterfaz VLAN 123 iface vlan123 inet static address 192.168.14.1 netmask 255.255.255.0 network 192.168.14.0 broadcast 192.168.14.255 vlan_raw_device eth1 # Subinterfaz VLAN 123 ALIAS iface vlan123:1 inet static address 192.168.14.2 netmask 255.255.255.0 network 192.168.14.0 broadcast 192.168.14.255 vlan_raw_device eth0
Con esto tenemos 2 IP dentro de la red 192.168.10.0/24 y de la VLAN 123.
Si ejecutamos un ifconfig -a o un ip addr veremos el listado de las subinterfaces.
Podemos obtener un listado de nombre de subinterfaz VLAN, VLAN ID y a que interfaz físico está asociado haciendo:
cat /proc/net/vlan/config