[Switch L2 - L3 con linux]
Switch L2 - L3 con linux
Voy a compartir con ustedes una interesante experiencia. Armar con un Pentium 1 y cuatro nics un switch L2 y L3.
Más allá de la experimentación en si misma, este tema tiene al menos un par de ventajas.
Para aquellos que están estudiando y no pueden más que practicar en entornos virtuales o para quienes trabajan en pequeños entornos de producción y no es fácil acceder económicamente a un switch que sea programable y que soporte características como VTP, VMPS, VLAN, QoS, STP, etc.
Este proyecto esta basado en LISA [1]. Un kernel de linux que implementa completamente todas las funciones de un switch capa 2 y capa 3.
Hay muy poca documentación, sino ninguna, sobre cómo programarlo pero eso es un problema menor puesto que su operación y concepto es similar a CISCO OS.
1. Descargamos Centos 5.4
Alternativamente podemos bajarlo por http desde:
http://vault.centos.org/5.4/isos/i386/
para una instalación minima necesitamos los CD 1, 3 y 4.
En las opciones del instalador ponemos “linux text” y a partir de ahí avanzamos respondiendo las preguntas hasta llegar al particionado.
Elegimos “personalizado” (cfdisk manual) y en las opciones creamos una partición primaria ext3 de 3~5 GB y una partición primaria de intercambio (swap) de 512Kb.
Personalizamos la lista de paquetes a instalar dejando seleccionado solo el “base system” y “editores”. En sistema base personalizamos la lista con tcpdump, telnet, irqbalance, bridge-utils, ftp, ipstate, sudo, system-config-network-tui, vconfig, wget.
2. Descargamos el kernel Lisa kernel 2.6.18-164 y kernel-devel
Iniciamos centos desde nuestra nueva instalacion y bajamos el kernel lisa:
Lo instalamos:
rpm -ihv kernel-2.6.18-164.6.1.el5.lisa2.0.1.i686.rpm
rpm -ihv kernel-devel-2.6.18-164.6.1.el5.lisa2.0.1.i686.rpm
reiniciamos para cargar el nuevo kernel.
3. Descargamos el componente lisa
Lo instalamos:
rpm -ihv liblisa-2.0.2_2.6.18-1.el5.i386.rpm
rpm -ihv lisa-2.0.2_2.6.18-1.el5.i386.rpm
rpm –ihv lisa-debuginfo-2.0.2_2.6.18-1.el5.i386.rpm
4. Deshabilitamos selinux e iptables
vi /etc/selinux/config
SELINUX=disable
chkconfig –level 345 ip6tables off
chkconfig –level 345 iptables off
5. Configuramos las interfaces
/etc/sysconfig/network-scripts/ifcfg-ethX
DEVICE=ethX
BOOTPROTO=static
ONBOOT=yes
(cambiamos X por cada una de nuestras interfaces)
Finalmente reiniciamos para cargar la nueva configuración.
6. Configuramos Lisa para nuestro entorno de producción.
Con la orden “swcli” ingresamos a la consola del Switch
[root@centos5.4]#swcli
Localhost.localdomain#show run
Localhost.localdomain#configure t
Localhost.localdomain(config)#hostname Lisa
Lisa(config)#enable secret pirulo
Lisa(config)#interface ethernet 0
Configuramos
Lisa(config-if)#interface vlan 1
Lisa(config-if)#ip address 192.168.254.254 255.255.255.0
configuramos vlan20
Lisa(config-if)#interface vlan 1
Lisa(config-if)#ip address 192.168.20.1 255.255.255.0
Lisa(config-if)#exit
configuramos trunk y allowed
Lisa#conf terminal
Lisa(config)#interface ethernet 0
Lisa(config-if)#switchport mode trunk
Lisa(config-if)#switch port trunk allowed vlan add 20
Guardamos la configuracion
Lisa#write memory
A partir de aquí esta en el entorno de cada administrador los comandos que necesitará ingresar hasta lograr la configuración deseada.
7. Alternativamente se puede bajar un Live CD
http://lisa.mindbit.ro/download/lisa/iso/lisa-livecd-2009-12-12.iso
Algunas fuentes cosultadas:
http://brezular.wordpress.com/category/gns3/linux-switch/lisa/
http://www.netstorming.com.ar/tag/switching/
https://projects.centos.org/trac/livecd/wiki/CreateImage
http://www.garfio.org.ar/descargas/garfio10minutos.pdf
http://www.garfio.org.ar/?page_id=3
https://projects.centos.org/trac/livecd/browser/trunk/CentOS5/unsupported/centos-livecd-installer.ks