domingo, 8 de mayo de 2011

En el Nombre de la Interfaz (VLAN NAME TYPE)

Durante mucho tiempo las única razón para configurar 802.1Q en las interfaces de un equipo fueron:
  • No tenemos dinero para un Cisco y estamos montando un router en un equipo viejo
  • El Administrador de la Red nos cae mal y vamos a montar un equipo con una IP de cada segmento...
Ahora con los Blades compartiendo infraestructuras y con la virtualización, quizás nos vemos obligados a marcar nuestros paquetes con el 'sello' correcto.

802.1Q es el estándar de la IEEE para etiquetado de paquetes, que permite que, aunque compartamos infraestructuras, no existan interferencias entre las diferentes redes. Básicamente lo que llamamos: trunking.

Pero, pasemos a la práctica. Para configurar una interfaz dot1Q, lo más sencillo es:
  • copiar el script de inicio de nuestra interfaz, por ejemplo /etc/sysconfig/network-scripts/ifcfg-eth0 a /etc/sysconfig/network-scripts/ifcfg-eth0.105
  • cambiar el parámetro "VLAN DEVICE" para reflejar el cambio de nombre eth0.105
  • añadir VLAN=yes al final
¿Demasiado fácil? vamos a complicarlo un poco más...

Y si resulta que estamos montando un sistema de alta disponibilidad, (por ejemplo Oracle RAC) que utiliza IP's virtuales (vip's). En Linux al añadir otra ip a la interfaz se añaden dos puntos y un identificador numérico. El resultado final será algo parecido a ésto:

eth0.105:1

¿Alguién ha visto alguna vez una interfaz así? ¿Os imagináis el quebradero de cabeza para los scripts en bash?

Rack @ WorkPor suerte en Linux tenemos dos formatos para las interfaces con vlan's:
  • DEV_PLUS
  • VLAN_PLUS
El método más habitual es DEV_PLUS, pero si utilizamos VLAN_PLUS obtendremos interfaces del estilo vlan105, vlan609 y si añadimos IP's secundarias vlan105:1 o vlan609:1. Otra ventaja se que independizamos el nombre de la interfaz física, que en algunos casos puede sernos de utilidad.











Para configurar este método de nombrar interfaces utilizaremos los parámetros:
  • DEVICE, con el nombre en formato vlan###
  • VLAN_NAME_TYPE, con el valor VLAN_PLUS_VID_NO_PAD para indicar que utilizaremos interafaces del tipo 'vlan###'
  • PHYSDEV, para indicarle al sistema la interfaz física asociada, ya que no podrá deducirla del nombre de la interfaz
  • VLAN, con el valor 'yes' como antes

El resultado es un archivo como éste "ifcfg-vlan240":

DEVICE=vlan240
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
PHYSDEV=eth0
BOOTPROTO=static
BROADCAST=10.0.0.255
HWADDR=00:01:02:03:04:05
IPADDR=10.0.0.33
NETMASK=255.255.255.0
NETWORK=10.0.0.0
ONBOOT=yes
GATEWAY=10.0.0.1
VLAN=yes

También se puede configurar "online" con el comando vconfig, pero los cambios no son persistentes y a menos que ocurra algo raro (no tenemos claras las vlan's de nuestra red, o nuestro networker particular está jugando con ellas) no creo que sea necesario conocer demasiado ese comando.

Imagen: Rack @ Work

No hay comentarios: