jueves, 29 de septiembre de 2011

Soporte de vlans y 802.1q en Linux OpenSuse

En esta semana un amigo me consulto como podía hacer para resolver un problema con un servidor en Linux con una sola tarjeta de red y quería configurar squid, dns, apache y dhcp. El problema se debe a que antes lo había realizado con un servidor con dos interfaces de red.

Bueno acá esta una posible solución para este problema, principalmente porque en su trabajo tiene un switch administrable y se puede hacer uso de este recurso. Con esto se estara realizando la configuracion de un servidor linux con soporte de vlans y específicamente soporte del protocolo IEEE 802.1q.

La siguiente gráfica muestra el esquema tradicional que tenían antes de que se dañara el servidor. Con una interfaz publica y una conectada a la red privada.




Nota: La dirección IP 201.190.10.9 es inventada.

En este esquema todos los equipos podían conectarse a Internet por medio de este servidor proxy.

Ahora veamos el proceso para configurar lo mismo con un servidor que solo posee una tarjeta de red. Para esto configuraremos un par de vlans en el switch (como ejemplo utilizo un Cisco 2960) aunque esto puede realizarse con cualquier switch que tenga soporte de vlan.


Switch>enable
Switch#
Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.

Creacion de las vlan 10 y 20 (vlan 10 la utilizaremos para red que viene de Internet y la red 20 para la red local)

Switch(config)#vlan 20
Switch(config-vlan)#name internet
Switch(config-vlan)#end

Switch(config)#vlan 10
Switch(config-vlan)#name red-local
Switch(config-vlan)#end

Tambien es necesario configurar un puerto como troncal, en el que se conectara la tarjeta que tiene el Servidor Linux.

Switch(config)#int f0/1
Switch(config-if)#switchport access vlan 20 (Acá en este puerto se conecta el cable que viene desde Internet)

Switch(config)#int f0/24
Switch(config-if)#switchport mode trunk
Switch(config)#do wr

Bueno esto es todo lo que hay que hacer en el switch Cisco 2060, ahora solamente hace falta realizar las configuraciones en el servidor Linux, para el caso utilizare un equipo con OpenSuse 11.3.


Lo primero que hay que hacer es instalar el paquete de “vlan - Implementación VLAN 802.1q para Linux”,

Posteriormente se pueden ejecutar los siguientes comandos:

#Creando las vlan
vconfig add eth0 20
vconfig add eth0 10


#asignando ip alas vlan
ifconfig eth0.20 201.190.10.10 netmask 255.255.255.0
ifconfig eth0.10 192.168.1.1 netmask 255.255.255.0

Como mencione anteriormente es indispensable que el puerto donde se conecte el servidor, este configurado como puerto truncal (trunk) en el switch, en caso de que el switch no agregue automáticamente las vlans en el puerto troncal, se deberá de especificar que la vlan 20 y vlan 10 están permitidas en el puerto.

La otra forma de configurar esto consiste en la creación de los archivos ifcg-vlan10 y ifcg-vlan20 con el siguiente contenido:
 
Archivo ifcg-vlan10
----------------------------------
BOOTPROTO='static'
BROADCAST=''
ETHERDEVICE='eth0'
ETHTOOL_OPTIONS=''
IPADDR='192.168.1.1/24'
MTU=''
NAME=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
PREFIXLEN='24'


Archivo ifcg-vlan20
----------------------------------
BOOTPROTO='static'
BROADCAST=''
ETHERDEVICE='eth0'
ETHTOOL_OPTIONS=''
IPADDR='201.190.10.10/24'
MTU=''
NAME=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
PREFIXLEN='24'

Una vez configurado esto es necesario realizar una reinicialización de la red con el comando /etc/init.d/network restart

Ya que se realizan estos pasos al dar el comando ifconfig aparecen las interfaces de redes creadas y se pueden utilizar de la misma manera que en un servidor con dos interfaces de red.  Es decir los pasos para configurar squid, dns, dhcp, etc, se realiza de la misma manera que en el esquema tradicional.

2 comentarios:

Bond Arum dijo...

Hola: Muy bueno el recurso que nos compartes. ahora mi duda es la siguiente en mi caso estoy poniendo un equipo con 2 tarjetas de red y sistema operativo debian, por eth0 ingresa la ip del internet y por eth1 debe comunicarse a una vlan11, el problema es que mi sistema operativo no soporta ponerle 2 gateways ya que se pierde una u otra

Anónimo dijo...

Una pregunta: en donde se definen (en el switch) las interfaces asignadas a la VLAN 10 ? Veo que sólo se asigna f0/1 a la VLAN 20.

Publicar un comentario