lunes, 23 de mayo de 2011

Enrutamiento entre Vlan por medio de un Servidor Linux


Para comenzar a trabajar con vlan, es necesario conocer bien como funcionan, es decir conocer las definiciones básicas y la forma de funcionar de un entorno que trabaje con vlans.

El funcionamiento de las vlan se vuelve mas interesante cuando es combinado con lineas troncales, que permiten la multeplexación de múltiples vlan por medio de un solo enlace.
 
Cada frame que viene por el enlace troncal, viene etiquetado con una identificación de vlan (vlan identifier) de tal manera que así es posible que los equipos puedan posteriormente entregar la información solamente a las vlans donde pertenecen.

Los puertos troncales pueden ser configurados entre dos switches, entre un switch y un enrutador o entre un switch y una computadora que soporta trunking. (por medio del estándar IEEE 802.1q) en la computadora cada vlan sera tratada como si se tratara de una interface diferente. Algo importante de recordar sin embargo es que todas las vlans que funcionan en esta interface física, comparten el mismo ancho de banda, si el enlace funciona a 100Mbps, este sera compartido por todas las interfaces. Para mas detalles sobre VLAN ver el artículo sobre  redes virtuales ... >>

Linux and VLANs

Linux, desde hace mucho tiempo tiene soporte para trabajar con vlan o enlaces truncales, por medio de un parche al kernel en las primeras versiones, el soporte de trunking esta soportado desde la versión 2.6

Los parches en linux están disponibles en Internet para una gran variedad de tarjetas de red, sin embargo en la actualidad las distribuciones de linux, ya vienen preparadas para este tipo de implementaciones. 

Configuraciones en el Enrutador Linux  para mutltiples vlans  (Linux Router)

La configuración del Enrutador Linux para multiples Vlans, es muy similar a realizar configuraciones con tarjetas físicas regulares, la única diferencia es que es necesario indicar a que interface física se esta agregando cada vlan. Para esto se utiliza el comando vconfig.
 Para este ejemplo se crearan tres en el enrutador Linux, desde la 2-4, el puerto eth0 del Servidor Linux estará conectada a un puerto troncal  del switch para que este permita la comunicación entre las multiples vlans, como se indica en la siguiente imagen,

Los comandos necesarios para realizar la configuración en el enrutador Linux para múltiples Vlans, son los siguientes:

linux-7o72:~ # vconfig add eth0 2
linux-7o72:~ # vconfig add eth0 3
linux-7o72:~ # vconfig add eth0 4


También es necesario realizar las configuraciones de la dirección de red para cada una de las nuevas interfaces:
ifconfig eth0.2 172.16.2.1 netmask 255.255.255.0 broadcast 172.16.2.255
ifconfig eth0.3 172.16.3.1 netmask 255.255.255.0 broadcast 172.16.3.255
ifconfig eth0.4 172.16.4.1 netmask 255.255.255.0 broadcast 172.16.4.255

El comando vconfig puede configurar una serie de parámetros adicionales como el nombre de la vlan, y otros mas sin embargo para el ejemplo, utilizaremos los parámetros mínimos para el funcionamiento. Una vez que se han definido las interfaces virtuales es posible visualizar los datos relacionados por medio del comando ifconfig -a , igual que se hace con las interfaces virtuales.

Esta configuración no es permanente es decir una vez que reinicien el equipo todo el trabajo se perderá, en caso de requerir que esto sera permanente es posible crear un escript como el siguiente.

## Script creación de múltiples vlan en un enrutador linux (Linux Router ##
#!/bin/bash
#Creando las vlan
vconfig add eth0 2
vconfig add eth0 3
vconfig add eth0 4

#asignando ip alas vlan
ifconfig eth0.2 172.16.2.1 netmask 255.255.255.0 broadcast 172.16.2.255
ifconfig eth0.3 172.16.3.1 netmask 255.255.255.0 broadcast 172.16.3.255
ifconfig eth0.4 172.16.4.1 netmask 255.255.255.0 broadcast 172.16.4.255 
 
#activación del enrutamiento en Linux#
echo "1" > /proc/sys/net/ipv4/ip_forward 
 
echo Todas las interfaces están creadas !!! 

De esta manera ya esta tenemos un enrutador linux para multiples vlan,  posteriormente, es necesario que se realice las configuraciones en las PC con las siguientes configuraciones, para el ejemplo solamente se describe la configuración de la PC con dirección 172.16.2.10






Configuracion en el Switch

Para este ejemplo utilizare un switch WS-C2950G-24TS de Cisco, porque a como todos saben las configuraciones varian de a cuerdo a la marca y modelo. Sin embargo esto funcionaria en cualquier tipo de marca siempre y cuando el switch permita crear vlans. (Para esta parte es necesario un switch que sea administrable y soporte creacion de vlan)

Las configuraciones necesarias en el switch son las siguientes:

Sw1# configure terminal
Sw1(config)# interface G0/1
Sw1(config-if)# switchport mode trunk
Sw1(config-if)# switchport trunk encapsulation dot1q
Sw1(config-if)# exit

Configuracion de Rango de interfaces 
Interfaces Vlan o Subred
F0/1 – 8
Vlan 2
F0/9 – 16
Vlan 3
F0/17 – 24
Vlan 4
Sw1(config)# interface range f0/1 - 8
Sw1(config-if)#  switchport mode access
Sw1(config-if)#  switchport access vlan 2

Sw1(config)# interface range f0/9 - 16
Sw1(config-if)#  switchport mode access
Sw1(config-if)#  switchport access vlan 3 
 
Sw1(config)# interface range f0/17 - 24
Sw1(config-if)#  switchport mode access
Sw1(config-if)#  switchport access vlan 4 
 

En este momento solo sera necesario probar el funcionamiento de nuestra red y podrá hacer ping desde la PC con dirección IP 172.16.2.10 a la PC con dirección IP 172.16.3.10
 

 


14 comentarios:

Anónimo dijo...

excelente articulo Derman.

Derman Zepeda dijo...

Gracias... espero que alguno de los otros también sean de tu agrado.

Anónimo dijo...

Excelente, gracias.
Creo q esto me va a ser muy util

Anónimo dijo...

Muchisimas gracias

Anónimo dijo...

Muy buen articulo Derman, ahora solo nos falta algo sobre administración de redes

Derman Zepeda dijo...

Que te gustaría en particular?

Anónimo dijo...

Seria interesante configuracion de Nagios, y alguno para asignar ancho de banda

Derman Zepeda dijo...

Ok,, ya casi tengo listo el manual de instalación de nagios,,,

Anónimo dijo...

Gracias, estaba buscando esto!

Anónimo dijo...

y si lo trabajo con dns como queda la configuracion de named.conf?

Derman Zepeda dijo...

En el dns no hay que cambiar nada.... queda igual..

Anónimo dijo...

El broadcast para todas las Vlan es 172.16.2.255?
Saludos, y gracias.

hugo dijo...

Derman: tu artículo es excelente, y gracias por compartir tus conocimientos. Sólo quería comentarte que encontré un pequeño error en las direcciones de broadcast de las eth0.3 y eth0.4; seguramente producto del "copy & paste". (Eth 0.3 -> broadcast 172.16.3.255//Eth 0.4 -> bcast:172.16.4.255). Saludos,

Derman Zepeda dijo...

Saludes Hugo, esta lista la corrección.

Publicar un comentario