Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

jueves, 4 de junio de 2015

Cómo configurar una VLAN en Linux

En esta ocasión voy a hablaros sobre la posibilidad de establecer VLANes en un equipo Linux, algo que puede llegar a ser muy útil en algunas ocasiones, pero antes de eso, puede que muchos os preguntéis: ¿Qué es una VLAN?

Una VLAN (Virtual Local Area Network) no es ni más ni menos que una red local virtual que es capaz de dividir una red entera en diferentes segmentos o "grupos". Cada segmento tendría su propia configuración y políticas tanto a nivel de seguridad cómo de comunicación, y son muy útiles en redes grandes en las que se necesitan establecer diferentes "grupos" para que cada uno de éstos esté aislado del resto o para que tengan una función en concreto; lo cual implicaría una red más segura y más fácil de gestionar. Para crear una VLAN solamente sería necesario tener un switch con la capacidad de crear ésta, cosa relativamente sencilla hoy en día. En dicho switch habría que configurar los diferentes puertos para que éstos perteneciesen a una VLAN en concreta o a varias.
 
Ahora bien, si se trata del switch, ¿Para qué es necesario configurar una VLAN en un equipo Linux? El motivo es que, tal y cómo he explicado antes, los switches tienen la capacidad de transportar más de una VLAN en un mismo puerto; Imaginaros un switch de 8 puertos en el que se han configurado 5 VLANes diferentes (una por puerto) y queremos que dichas VLANes se comuniquen con otro switch u equipo. Al tener ya 5 bocas ocupadas, el número máximo de VLANES que podrían viajar a otro equipo serían tres, cosa poco práctica y costosa, ya que sería necesario adquirir un switch más grande. Para ello se puede recurrir recurrir a un método llamado trunking o taggeo de puerto, que consisten en transportar el tráfico de más una VLAN por el mismo puerto. Dicho método se puede realizar de diferentes formas dependiendo de la marca del switch en cuestión, pero lo importante es que el tráfico de diferentes VLANes son capaces de viajar por un mismo puerto, con lo que imaginemos que poseemos un puerto de dicho tipo y un equipo desde el que deseamos acceder a todas las VLANes  que hay configuradas en el switch... Lo más sensato sería aprovechar las ventajas que ofrece dicho puerto para poder comunicarnos con todas las VLANES con únicamente un puerto de red.


Configuración de VLANes

Para configurar una o varias VLANes en un equipo Linux es necesario conocer si es capaz de aplicar el estándar 802.1q; estándar aplicado en la generación de éstas. Para ello Linux posee un módulo llamado 8021q, gracias al cual está capacitado para implementar dicho estándar, y con ello, la creación de VLANes. Si uno desea comprobar si posee dicho módulo cargado simplemente tiene que escribir:

  1.  lsmod |grep 8021q

Al ejecutar este comando existen dos opciones: La primera es que muestre el siguiente listado.


La segunda posibilidad es que simplemente no muestre nada. En dicho caso habría que comprobar si dicho módulo está disponible (que no es lo mismo que cargado); para ello habría que teclear:

  1.  modprobe 8021q && lsmod |grep 8021q

En caso de que se muestre el listado que he mostrado antes, eso significaría que aunque el módulo en cuestión está disponible, no está preparado para habilitarse durante el arranque; por fortuna esta situación posee una fácil solución:

  1. echo 8021q > /etc/modules/

Mediante el comando que acabamos de introducir, a partir de ahora el módulo 8021q se cargaría automáticamente en cada arranque del sistema, evitando el tener que cargarlo de nuevo a mano tras cada arranque. 

Con todos los preparativos realizados, sería el turno de configurar interfaces virtuales para poder comunicarse con cada VLAN. Para ello habría que dirigirse al fichero /etc/network/interfaces. En dicho fichero veremos configuradas diferentes interfaces FÍSICAS. Habría que saber que interfaz física será la que se conectará con las VLANes (eth0, eth1...) y en función de dicha interfaz habría que crear las interfaces virtuales correspondientes cuyos nombres serían:

INTERFAZ_FISICA.NUMERO_VLAN

Un ejemplo de dos interfaces virtuales para eth0 sería:

  1. auto eth0.20
  2. iface eth0.20 inet static
  3.         address 10.10.2.1
  4.         netmask 255.255.255.0
  5.         network 10.10.2.0
  6.         broadcast 10.10.2.255
  7. auto eth0.30
  8. iface eth0.30 inet static
  9.         address 10.10.5.1
  10.         netmask 255.255.255.0
  11.         network 10.10.5.0
  12.         broadcast 10.10.5.255

Una vez creadas las dos interfaces virtuales habría que habilitar éstas. Esto se puede conseguir de dos formas; reiniciando el equipo o mediante el comando ifup. Dicho comando funciona de la siguiente forma:

ifup INTERFAZ_FISICA.NUMERO_VLAN

Con lo que basandonos en dicha estructura y en el ejemplo que he mostrado antes, habría que escribir:

  1. ifup eth0.20 && ifup eth0.30

Espero que os resulte útil.

Saludos.

No hay comentarios :

Publicar un comentario