Creación de VLANs en routers Mikrotik. Traducción del original de Butch Evans.


Esta entrada es una traducción del artículo “To tag or not to tag…that is the question!” de Butch Evans, publicado en su blog el 24 de febrero de 2010.

Hay una cuestión muy solicitada de cómo los routers Mikrotik tratan el tráfico de VLAN.

Déjenme empezar por el concepto más simple pero que es un buen fundamento para el resto del artículo:

Cuando se crea un interface VLAN, a todos los efectos el router se cree que tiene un nuevo interface físico.

Examinemos esta red:
vlan

Cuando el router tiene que dirigir tráfico, lo hace basado en la ip asignada a cada interface. Por ejemplo, en la imagen, todo el tráfico dirigido a la red 10.10.10.0/24 es dirigido al puerto ether1. Esto lo hace consultando su tabla de rutas.


Vamos a ver otro ejemplo:
vlan-tagged
De forma similar a la primera red, cuando el MT necesita comunicarse con la red 10.10.10.0/24, consulta su tabla de rutas. En este caso, el interface 10.10.10.1/24 es un interface VLAN que puede crearse con el siguiente código:

/interface vlan add name=vlan_1_e1 interface=ether1 vlan-id=1
/ip address add interface=vlan_1_e1 address=10.10.10.1/24

La primera línea crea un interface vlan con un nombre descriptivo apropiado, asocia la vlan al puerto FÍSICO ether1 y configura la vlan-id (el tag) como “1”.

La segunda línea añade una dirección ip al interface vlan.

Cualquier tráfico destinado a la red 10.10.10.0/24 abandonará el router por este interface y, ya que lo hace por un interface vlan, este tráfico va ha ser marcado con la vlan-id 1.

Así como vamos a ir examinando otros tipos de configuraciones posibles, pensar siempre que lo único que hace que un paquete abandone el router con el tag de la vlan o no, es simplemente esto: Cada vez que un paquete abandona el router POR UN INTERFAZ VLAN, será marcado con la vlan. No es más complicado que esto.


Vamos a considerar otra red:
vlan-iface2
Esta red trabaja de forma muy similar a las anteriores. Podemos configurarla con este fragmento:

/interface vlan
add name=vlan_1_e1 interface=ether1 vlan-id=1
add name=vlan_2_e1 interface=ether1 vlan-id=2
/ip address
add interface=vlan_1_e1 address=10.10.10.1/24
add interface=vlan_2_e1 address=10.10.11.1/24

En esta configuración, tenemos 2 vlans asociadas al interface físico ether1. El tráfico destinado a la red 10.10.10.0/24 abandonará el router por en interface vlan_1_e1 y será marcado con el vlan-id “1”. De la misma forma, el tráfico destinado a la red 10.10.11.0/24 abandonará el router por el interface vlan_2_e1 y será marcado con la vlan-id “2”. Si esto no queda claro, estudia la configuración de la imagen y debería quedarlo. Una nota adicional acerca de esta configuración es que cualquier dispositivo conectado al puerto FÍSICO ether1 debe ser configurado poder tratar el tag vlan para poder “ver” las direcciones 10.10.11.1 y 10.10.10.1.

Hasta este punto, hemos discutido vlans que son usadas como interfaces ENRUTADOS.

Vamos a ver ahora un par de escenarios con puentes (bridged). Recuérdese que un dispositivo con RouterOS que tiene interfaces configuradas como bridge es transparente a la red. Démos una mirada a la siguiente configuración:

/interface bridge
add name=bridge1
/interface bridge port
add interface=ether1 bridge=bridge1
add interface=ether2 bridge=bridge1
/ip address
add interface=bridge1 address=10.10.10.1/24

Con este código hemos creado un bridge y le hemos añadido los interfaces ether1 y ether2. Con esta configuración, cualquier tráfico que entre al router por el puerto ether1 será pasado al interface ether SIN TOCARSE. Esto significa que el tráfico entrante tageado, seguirá tageado en cualquier dirección. La ip que hemos añadido será alcanzable en la red pero SÓLO cuando los paquetes vayan SIN MARCAR. El router es transparente en la red pero si la red en la que está conectado tiene tráfico con tags de vlan, el router no será alcanzable en la red.

Vamos a asumir que la red del ejemplo usa vlan-id=1 para todos los paquetes. Si queremos manejar el router desde esta red, tenemos que crear un interface vlan con el bridge como interface maestro de esta forma:

/interface bridge
add name=bridge1
/interface bridge port
add interface=ether1 bridge=bridge1
add interface=ether2 bridge=bridge1
/interface vlan
add name=vlan_1_b1 interface=bridge1 vlan-id=1
/ip address
add interface=vlan_1_b1 address=10.10.10.1/24

Esta configuración causará que el router deje pasar sin tocar todo el tráfico a través del bridge, pero incluye al propio router en la vlan add name=vlan_1_b1 interface=bridge1 vlan-id=1, así que el router será manejable desde esa vlan.


Ahora veremos otro escenario común:
vlan-tag-untag
En esta situación, tenemos múltiples vlans que deben pasar a través del router. Podemos conseguirlo simplemente enlazando con un bridge ether1 y ether2, sin embargo, hay una solución más elegante si por alguna razón no deseas enlazar los dos puertos ethernet. Esta es la configuración (la explicación va seguida):

/interface bridge
add name=bridge_vlan1
add name=bridge_vlan2
/interface vlan
add name=vlan_1_e1 interface=ether1 vlan-id=1
add name=vlan_2_e1 interface=ether1 vlan-id=2
add name=vlan_1_e2 interface=ether2 vlan-id=1
add name=vlan_2_e2 interface=ether2 vlan-id=2
/interface bridge port
add interface=vlan_1_e1 bridge=bridge_vlan1
add interface=vlan_1_e2 bridge=bridge_vlan1
add interface=vlan_2_e1 bridge=bridge_vlan2
add interface=vlan_2_e2 bridge=bridge_vlan2

Para ser honesto, aunque es una configuración un poco más complicada es mi método preferido cuando hay más de una vlan que tiene que pasar a través del mismo router. La principal razón por la que prefiero este método es porque permite ver en la lista de interfaces cuanto tráfico está pasando por cada vlan.

Un inspección rápida del código debería permitir entender cómo funciona; Primero, creamos los bridges que dejan pasar el tráfico de cada vlan. Después, se crean los interfaces vlan en cada puerto ethernet físico. En la última sección, añadimos las vlan al bridge dejando pasar el tráfico CON EL TAG CORRECTO a través del router. Esto debería estar claro si aplicamos la primera premisa de que

cada vez que un paquete deja el router POR UN INTERFACE VLAN, queda marcado con esa vlan.
Examine con atención la imagen y será capaz de ver qué interface será usado para transportar el tráfico hacia dentro y hacia fuera del router.

Les ofrezco una última configuración bastante usada. Aquí está la imagen:
vlan-untag

En esta red, tenemos paquetes marcados que entran al router por ether1 (vlan-id=1) y paquetes sin marcar entrando por ether2. Los dispositivos en la red sin marcar no usarán marcas de vlan (de hecho nunca sabrán que hay una configuración de vlan implicada en la red). Todos los dispositivos de la parte izquierda del router Mikrotik usarán tags vlan. Aquí está el código de configuración:

/interface vlan
add name=vlan_1_e1 interface=ether1 vlan-id=1
/interface bridge
add name=bridge1
/interface bridge port
add interface=vlan_1_e1 bridge=bridge1
add interface=ether2 bridge=bridge1

Esta es una configuración bastante sencilla, pero requiere alguna explicación. Primero creamos un interface vlan en ether1, que estará conectado en la red marcada. Después, creamos un bridge para manejar el tráfico que pasa a través. El interface vlan se añade al bridge y al puerto físico ether2 que se añade a él. El puerto ether2 se conectará a la red sin marcar. Se deja como ejercicio a mis lectores determinar POR QUÉ esta configuración causa que salgan tanto paquetes marcados cómo sin marcar cuando salen del router.

Este es un artículo bastante largo que cubre mucha información. Por razones obvias, no podemos cubrir el 100% de las posibilidades de configuración de red existentes pero he intentado cubrir las más comunes. Espero que este artículo les sea de utilidad y profundicen más en otros de mi sitio web. Siéntase libre de añadir sus comentarios o circunstáncias especiales y cómo las ha solucionado. Si necesita hardware asegúrese de entrar en mi tienda en http://store.wispgear.net/.