Grupo Linuxero del Bajío

Configuracion de un servidor para VLAN en Ubuntu

julinuxhack

Bueno, no es fácil hablar sobre VLAN. Una VLAN no es otra cosa que una LAN virtual.

Todos sabemos que para configurar una red debe de existir una una entrada y una salida, aunque exista un servidor para las VLAN, deben de existir una entrada y una salida exclusivamente, para eso, se utilizan la misma cantidad de tarjetas de red que la misma cantidad de redes virtuales (VLAN) deben de tener.

Para no hacerla mas de emoción, en Ubuntu, podemos hacer varias VLAN con una sola tarjeta de red.

Lo que necesitamos es lo siguiente:

  1. Tener instalado nuestro Ubuntu.
  2. Tener conexión a Internet.
  3. Tener actualizado el kernel con la versión mas reciente
  4. Instalar los paquetes VLAN, DHCP.
  5. Configurar y demonizar.

Empecemos con el punto 3, o sea,el punto del kernel. Para poder actualizar mejor el kernel, es necesario instalarlo desde los repositorios del sistema operativo y no desde la fuente, porque este último método es más engorroso. Pero bueno, la elección es libre.

Respecto a la instalación de la VLAN y el DHCP, es necesario:

  1. Abrir una terminal.
  2. Escribir el siguiente comando:
sudo apt-get install vlan dhcp3-server

Nos pedirá la contraseña de sudo, y con esto instalaremos tanto la VLAN como el DHCP.

Procedemos al punto 5. Configurar y demonizar.

Desde la misma terminal damos el siguiente comando:

cd /etc/dhcp3/

Estando ahí damos el siguiente comando:

sudo nano dhcp3.conf

En la parte final del archivo colocamos algo parecido a esto:

subnet 192.168.121.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.121.51 192.168.121.249;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.121.255;
  option routers 192.168.121.254;
  option domain-name-servers 192.168.121.1, 201.167.126.5, 200.53.250.1;
}

subnet 192.168.122.0 netmask 255.255.255.0 {
  ddns-updates on;
  range 192.168.122.11 192.168.122.249;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.122.255;
  option routers 192.168.122.252;
  option domain-name-servers 192.168.122.1, 201.167.126.5, 200.53.250.1;
}

subnet 192.168.124.0 netmask 255.255.255.0 {
  ddns-updates on;
  range 192.168.124.11 192.168.124.249;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.124.255;
  option routers 192.168.124.254;
  option domain-name-servers 192.168.124.1, 201.167.126.5, 200.53.250.1;
}

Como verán, estoy configurando tarjetas de red, a cada VLAN le ponemos sus rangos correspondientes, es decir, a cada VLAN le ponemos su IP correspondiente, con su broadcast, netmask, dns y el rango que queremos que se otorgue las IPs dinámicas.

Ya teniendo esto, guardamos los cambios. Quiero hacer mención que utilizo nano para editar el archivo o crearlo, pero no es necesario que utilicen nano para hacerlo, hay mas editores.

Nos vamos a cualquier ruta de directorios y creamos una carpeta, en este caso, me dirijo al siguiente directorio

cd /opt/

Ya estando dentro de /opt, creamos un subdirectorio al que le pondré VLAN, para ello, introduzco el comando:

sudo mkdir vlan.

Me dirijo al directorio:

cd vlan

Estando dentro del directorio, escribimos el siguiente comando:

sudo nano vlan.sh

Vamos a crearnos el archivo vlan.sh

Dentro de el, escribimos (la parte comentada no se escribe, solo la estoy poniendo parea explicar):

El comando modprobe sirve para dar la orden de activación de algún dispositivo, en este caso el 8021q que es con el que funcionan todas las VLAN

modprobe 8021q

después añadimos a la tarjeta de red eth0 los nombres que llevaran sus VLAN.

vconfig add eth0 220 vconfig add eth0 180 vconfig add eth0 30

después configuramos las VLAN poniéndoles la dirección IP que llevarán, junto con sus respectivas máscaras y su broadcast

ifconfig eth0.220 inet 192.168.220.1 netmask 255.255.255.0 broadcast 192.168.220.255

levantamos la VLAN para que quede funcionando. Y así seguimos haciéndolo con las demás interfaces

ifconfig eth0.220 up

ifconfig eth0.180 inet 192.168.180.1 netmask 255.255.255.0 broadcast 192.168.180.255

ifconfig eth0.180 up

ifconfig eth0.30 inet 192.168.30.1 netmask 255.255.255.0 broadcast 192.168.30.255

ifconfig eth0.30 up

Posteriormente, detenemos el servidor dhcp y lo volvemos a arrancar, con los siguientes dos comandos:

/etc/init.d/dhcp3-server stop
/etc/init.d/dhcp3-server start

La razón del porque detenemos los demonios del DHCP es porque, como se inicia primero que la VLAN, entonces, el servidor de DHCP no sabe a quién otorgarle la configuración, así es que para que tenga a quien dársela, detenemos el DHCP y lo volvemos a hacer jalar, para que ahora sí sepa a quien dar la configuración puesto que ya esta levantado la VLAN. Guardamos los cambios y salimos de ahí.

Pero aun nos falta un último paso: cuando reiniciemos el servidor, habrá un problema y es que cuando se reinicie perderá su configuración, y para que no se pierda, lo demonizamos, es decir, le decimos al sistema que cuando se inicie, también inicie nuestra configuración, para ello, nos vamos al directorio en donde se guardan los demonios, a través del siguiente comando:

cd /etc/init.d

Ahí creamos un archivo, con el comando: sudo nano vlan

Colocamos lo siguiente:

#!/bin/sh
#vlan

case$1in
  ’start’)
     ./opt/vland/vlan.sh ;;
  ’stop’) ;;
  *) echo “Usage: $0 { start \| stop }” ;;
esac exit 0

Fíjense bien lo que hacemos:

./opt/vland/vlan.sh ;

el punto antes de la diagonal dice que se ejecutará el script anteriormente realizado. Ponemos la dirección en donde se encuentra el archivo previamente realizado. le damos guardar y listo, nuestras VLAN están configuradas.

Pero aparte de la VLAN, podemos hacerlo más extenso, creamos una iptables o netfilter, un proxy, un DNS, un sniffer y un IDS, y así tendremos lo mejor protegida nuestras redes virtuales.