Translate

22 ago 2014

VLAN y Encapsulamiento Dot1Q

VLAN significa Virtual LAN, es decir, una red local virtual. Nos ayuda mucho a la hora de dividir la red sin necesidad de subredes, aumentando de esta forma la seguridad interna de esta. Por ejemplo, si tenemos una oficina y dentro de la misma red no queremos que ciertos equipos tengan conexión con otros, lo ideal es implementar una vlan.

Para ello, solo tenemos que configurar ciertos parámetros en el Switch y en el Router, vamos allá:

  • La red será de clase C, una sencilla 192.168.1.0 con máscara 255.255.255.240.
  • El PC0 tendrá la dirección 192.168.1.2 y formará parte de la vlan 1.
  • El PC1 tendrá la dirección 192.168.1.3 y formará parte de la vlan 1.
  • El servidor0 tendrá la dirección 192.168.1.4 y formará parte de la vlan 2.
  • El servidor1 tendrá la dirección 192.168.1.5 y formará parte de la vlan 2.
  • La puerta de enlace será la 192.168.1.1.

Si lo hemos hecho correctamente, todos los equipos tendrán conexión entre sí, formando de esta forma una LAN cualquiera. No obstante, al crear dos vlan distintas (1 y 2, respectivamente), estaremos separando los equipos de sobremesa de los servidores: imaginad por ejemplo que los servidores necesitan comunicarse para hacer copias de seguridad en caso de que uno falle, pero los equipos no tienen acceso a estos. Para implementar pues, las redes virtuales, es suficiente con ir a la configuración del Switch e ir puerto a puerto definiendo la misma (que dependerá de si el puerto está conectado a un sobremesa o a un servidor):

Primero definimos las vlan (cabe destacar que, la vlan 1 es la que viene por defecto y todos los equipos por defecto están en ella, de ahí a que siempre tengan conexión gracias al Switch):

Accedemos a las interfaces, como la vlan 1 viene por defecto (todos ahora mismo están en esta), basta solamente con decir que los servidores están en la segunda:

Por último, comprobamos que todo está configurado correctamente:

Utilizamos el comando: Switch#show vlan; para ver toda la información sobre las redes virtuales. Nos dice que todos los puertos por defecto están en la vlan 1, la cual se encuentra activa, excepto los puertos que conectan con los servidores, los cuales pertenecen a la segunda (activa también). Si ahora enviamos paquetes ICMP (o ping) desde un sobremesa a un servidor, nos dará error; y viceversa. Ya que por defecto, el Switch enviará los paquetes a los equipos de la misma vlan y, como no contienen la IP de destino (la dirección del sobremesa, en este caso), nos dará fallo. Esto mismo sucederá también con la puerta de enlace, a la cual los servidores no podrán acceder debido a la vlan, pues el puerto del router se encuentra en la primera por defecto.

Podemos solucionar esto último indicando con los siguientes comandos que ese puerto se comporte de forma troncal:
Switch>enable
Switch#configure terminal
Switch(config)#interface FastEthernet0/3
Switch(config-if)#switchport mode trunk

Si volvemos atrás con "exit" y empleamos el "show vlan", veremos que este puerto ha desaparecido de las lan virtuales, no obstante, todos los equipos podrán acceder al router (si empleamos por ejemplo el protocolo ARP, veremos que ya no envían solamente paquetes a los equipos de su propia vlan, sino al router también). Podemos emplear el comando:
Switch#show interfaces trunk

Para comprobar los parámetros de la interfaz. Sin embargo, nos podemos encontrar con otro problema y es que, cada interfaz troncal tiene una vlan nativa por defecto, que podemos modificar con el comando
Switch(config-if)#switchport trunk native vlan [Número de la vlan o ID]

Al configurar la vlan nativa, nos encontramos con que no podemos enviar paquetes por ese puerto desde vlans que no sean la propiamente dicha; la nativa. Podemos modificar esta para que los servidores o los sobremesa puedan acceder al router, o viceversa, pero tal y como está el diseño, nos daremos cuenta de que los sobremesa no pueden acceder al router al mismo tiempo que los servidores. Para solucionarlo, el mejor método es utilizar subredes y luego dividir estas en distintas vlan. Lo que haríamos posteriormente en el router sería dividir la interfaz de la puerta de enlace en interfaces virtuales (teniendo cada una una IP correspondiente a la puerta de enlace de cada subred), y luego, encapsular los paquetes para que de una vlan, pasen a ser otra.

Veamos un ejemplo más práctico:

Seguiremos la misma lógica que al comienzo, es decir, el switch0 se encargará de la vlan1, y el switch1 de la vlan2. Las subredes, podemos utilizar cualquiera que no nos de problemas, yo por ejemplo usaré en la vlan1 la subred 192.168.0.0 con máscara 255.255.255.248 (5 equipos en total y con puerta de enlace 192.168.0.1), y la subred de la vlan2 será la siguiente subred, la 192.168.0.8 con la misma máscara y la puerta de enlace 192.168.0.9.

Las interfaces de los distintos switchs que conectan con el router o entre ellos mismos, serán interfaces troncales, y la interfaz (en mi caso) fastEthernet0/0 del router que conecta con el switch, será la que tendremos que dividir.

En resumen, una vez hayamos asignado IPs y puertas de enlace a los equipos, asignemos en los respectivos switchs las interfaces que corresponden a una vlan o a un modo troncal y comprobemos que va todo bien, es decir, que los servidores/ordenadores tengan conexión entre sí (y sus paquetes, debido a las interfaces troncales si usamos el protocolo ARP, el cual sirve para registrar direcciones MAC de los dispositivos y saber a dónde enviar la información, alcancen el switch de la vlan opuesta pero no consiga alcanzar los equipos), estaremos preparados para ir a la puerta de enlace propiamente dicha y dividir virtualmente esa interfaz.

Para dividir la interfaz de forma virtual, basta con hacer lo siguiente en el router:

Con esto le estamos especificando que acceda a la interfaz fastEthernet0/0.2 (es decir, la correspondiente a la vlan2), le decimos el método de encapsulación que queremos (esto es un protocolo con el que conseguimos que los paquetes de una vlan, "engañen" a los dispositivos para que crean que son de una vlan distinta, y así alcanzar la vlan2 desde la 1, por ejemplo), y posteriormente le asignamos la puerta de enlace.

Repetimos, evidentemente, el proceso con la interfaz fastEthetnet0/0.1, y ajustándola a la vlan1. Si ahora enviamos paquetes de una vlan a otra, veremos que por defecto estos siempre pasarán por el router (la puerta de enlace) ya que necesitan esa etiqueta del encapsulamiento para "pertenecer" a la vlan contraria, y así en la vuelta para regresar a su vlan original:


El protocolo dot1Q lo que hace, básicamente, es modificar el paquete de información que estamos enviando, o la trama, de forma que se añaden cuatro bytes concretos para modificar el formato. De esta forma, podemos combinar distintas vlan sin que una interfaz concreta se vea afectada por la vlan nativa propia de esa red. Para ello, lo mejor y lo que yo recomiendo personalmente es utilizar subredes, ya que sino, al dividir la interfaz, no podríamos asignar puertas de enlace porque se podrían solapar entre sí: si ahora añadimos la interfaz fastEthernet0/0.3 con la IP 192.168.0.13 con máscara 255.255.255.248, nos dará error debido a que esa red ya está ocupada por la interfaz de la vlan 2.

Y hasta aquí todo sobre redes locales virtuales, un saludito a todos/as~

No hay comentarios: