Configuración de nodos wireless
(1)
Participando en una red inalámbrica ciudadana(W.O.M.A.N).
Bienvenidos al primer episodio de una entrega de artículos que van a estar dedicados a las redes inalámbricas ,tan de moda en éstos tiempos. En ésta serie de artículos vamos a ir explicando como ser un miembro de una de las comunidades wireless que hay en toda España ,gracias a la ayuda de nuestro amantisimo software libre y de las ventajas que nos ofrece. Éste primer “tomo” se va a centrar en la explicación de por qué aparecieron las comunidades wireless , su finalidad y los primeros aspectos de configuración para que nuestro GNU/Debian se convierta en un magnífico AP(Access Point).
1. Aspectos Filosóficos de las Comunidades Wireless Cómo se puede ver en las últimas exposiciónes dedicadas a la informática y la tendencia actual por la movilidad , la tecnología wireless en la actualidad es la más demandada ,tanto por clientes, como por los Isps que ofertan dicho servicio. Las comunidades empezamos a movernos antes de que la moda se hiciera dueña de todo el mercado ,gracias a la tecnología que existía alrededor del protocolo 802.11b (11Mbs).Ésta tecnología que llevaba creada desde hace unos 10 o 12 años y debido a que el núcleo de Linux estaba preparado para soportar dicha tecnología ,tanto en versiones Pcmcia cómo en versiones Pci(Pci o Plx) pudimos ir probando las posibilidades de éste protocolo y de éste hardware. Hace cosa de 2 años y un par de meses fué cuando comunidades como fueron Madridwireless , Zaragozawireless ,Guadawireless y otras comunidades más cómo fué Red libre, pensaron por que no se aprovecha ya que no hay todavía nada ni nadie que legisle sobre este protocolo para poder ir desarrollando redes literalmente Libres,en las cuales todo el mundo pudiera ser un Isp de su zona o simplemente de su casa.Se empezó a hablar de ideas que al principio parecian que sólo se iban a reducir a que dieran cobertura a pequeñas ciudades o a barrios,pero la gran idea de las redes ciudadanas comenzó a tomar forma a que la gente se tomára en sério lo que unos pocos pensaron. Poco a poco la bola que supuso una creación de una red independiente de las grandes multinacionales o ogros de la información y éste sueño de que la gente puede tener información navegando sin ningún tipo de control del que cada grupo quiera se comenzó a hacer posible. Otra de las ideas que se tuvieron y que fué la que primero nos convenció para iniciar éste grandisimo proyecto fué la de lograr que en los pueblos , en nuestro caso los de la sierra madridleña ,a los cuales no llega la “grandísima” telaraña de las “grandes” operadoras de telefonía, pues gracias a nuestra modesta colaboración llegar a cubrir esos pequeños pueblos con una red de datos que esas compañías no querían implantar. Pero lo que realmente hizo que creciera el interés en los que íbamos entrando en las comunidades ,era el de poder aprender y enseñar a los que sentían curiosidad por las cosas que se hacían dentro de éstas comunidades(crear hackers del wireless).Lo que más hizo que ésto llamára la antención a la gente fué lo de poder hacer antenas con botes de patatas fritas o con cajas de galletas holandesas.Hubo anécdotas con éstos tipos de antenas , que ya contarémos más adelante, cómo por ejemplo, que a uno de mis antenas de bote de patatas fuera confundida con un sonar para detectar ballenas.
En resumidas cuentas las comunidades wireless fueron creadas para poder expresar las ganas que tiene la gente de moverse y poder crear cosas que se daban por censuradas por unos pocos y que la gente hiciera con ellas lo que siempre a querido, una red gestionada por uno mismo o por un grupo de gente y que nadie le diga como es la mejor forma de usarla .Gracias al Software Libre (GNU) y al Sistema Operativo (GNU/Debian) y a Linux poder crear algo más con dicha tecnología abierta ,libre y poder crear una arquitectura potentísima, con un simple ordenador antiguo(pII o pI , ppc,etc) poder lograr una potencia que sólamente las grandes empresas podrían adquirir,vamos a empezar a explicar cómo logramos esa “pedazo” máquina. 2.Comenzamos con el Nodo Wireless Bueno a partir de ahora nos vamos centrar en lo que realmente nos a traido aquí que es la creación de un nodo wireless y como ser un Nodo de una de éstas redes ciudadanas. Vamos a ir explicando de forma progresiva y explicando los términos para que nadie desde el principio tenga ningún tipo de duda. 2.1Que vamos a necesitar para nuestro nodo. 1.Tarjeta inalámbrica La tarjeta inalámbrica (wireless card) es un dispositivo de red, comercializado normalmente en formato PCMCIA (aunque existen versiones PCI y adaptadores PCMCIA->PCI). Es la encargada de transmitir datos, mediante el pequeño módem de radio que incorporan, y lanzan señales en la frecuencia de 2.4Ghz. Las tarjetas inalámbricas PCMCIA son capaces de operar sin ninguna antena externa (llevan una minúscula antena incorporada en su interior), aunque de esta manera, su alcance no suele superar unos pocos cientos de metros en el mejor de los casos. La forma de diferenciar un tipo de tarjetas inalámbricas de otras es la siguiente: Según el chipset que llevan incorporado en su construcción los modelos principales son los basados en los conocidos chipsets como es el Prism2 ,Prism2.5 el cual fue el pionero en tener la posibilidad de funcionar en modo Access point , es decir como el centralizador de la cobertura wireless de nuestra red.Otro modelo típico es el modelo creado por Lucent denominado como Orinoco dicho chipset lo l levan marcas como son ,Avaya ,Lucent, Orinoco ,etc .Hasta hace relativamente poco tiempo éstas tarjetas no se podían poner en modo AP por que el chipset está cerrado a diferencia del Prism2 que estaba abierto casi desde su lanzamiento,por lo que estas tarjetas no se podían poner en dicho modo,ahora mismo ya se pueden poner en esta forma , si quieres ampliar este tema visita este enlaze http://madridwireless.net/docs/hermesap/hermesap.html .En la actualidad han aparecido otros chipsets (Atmel)pero nosotros nos quedaremos con estos que son los que mas movimiento han tenido desde su creación. 2.GNU/Debian o cualquier distribución de GNU/Linux Necesitamos una máquina que tenga una versión de nuestra distribución favorita, en éste artículo vamos a trabajar con una GNU/Debian Sid(unstable) con un kernel 2.4.20 3.Antena si se quiere dar más cobertura a nuestra zona. Existen muchos tipos de antenas pero este punto lo analizaremos con gran profundidad en números sucesivos.
Imágen nodoenmarcha.png
Figura 1 Nuestro equipo conectado a nuestro nodo (Wavemon) Pues como véis son pocos los requisitos mínimos para hacer que una de nuestras máquinas obsoletas sea un bonito access point de una red que creemos.Bueno ya que lo básico está analizado empezaremos por donde dice todo el mundo que hay que empezar que es por el principio que va a ser compilando nuestro querido kernel de Linux para dejarlo todo perfecto nos vamos a centrar en todo lo referente a la red.
3.Compilación del kernel Para compilar un kernel lo primero que hay que hacer es bajarse de la pagina kernel.org la última versión del mismo o si usamos Gnu/Debian hacer el seguiente comando, por ejemplo si queremos bajarnos el kernel 2.4.20 haremos najwa:/home/qemm#apt-get install kernel-source-2.4.20 Esto lo que hace es descargarnos los sources a nuestro archivo /usr/src/ ahi tenemos los sources de nuestros kernels .Una vez hecho ésto descompimos el source najwa:/home/qemm#tar xvfj kernel-source-2.4.20.tar.bzip2 najwa:/home/qemm/linux-2.4.20#make menuconfig Así ya estaría descomprimido y listo para que nos metamos a configurar nuestra máquina,vamos a suponer que todo lo que no es referente a linux está configurado dentro del kernel. Lo siguiente sería ir viendo el árbol del kernel para ir localizando los siguientes parámetros ,hay dos formas de compilarlo uno con lo que es el soporte pcmcia dentro del
kernel que es la forma que yo siempre he hecho (ésta es la opción que vamos a usar)o con el paquete de pcmcia desactivado y posteriormente lo compilariamos nosotros a mano esto lo que nos va a posibilitar es ir metiendo las últimas versiones del paquete pcmcia-cs sin necesiadad de compilar el kernel. Las opciones del kernel que vamos a ir configurando son las siguientes. 1) Networking options En esta opción nos encontramos la posibilidad de hacer que nuestro Nodo pueda ser adaptado para poder tener una buena seguridad gracias a las opciones Network packet filtering que nos va a poder permitir usar iptables , que es el paquete principal para que nuestra máquina sea un fortín frente a los “juanquers” que intentarán divertirse entrando a nuestro querido Nodo.También nos va a permitir usar reglas de Nat que ya explicaremos lo que es Nat y para que lo vamos a usar, pero principalmente será para hacer que nuestro nodo sea un fortín frente a los “juanquers” que intentarán meterse en nuestra red. Otra opción que es conveniente activar es 802.1d Ethernet Bridging ,ésto nos va a permitir integrar nuestro Nodo en nuestra red LAN y por último una opcion que es para los usuarios avanzados como es la opción Qos and/or fair queueing que nos va a servir para optimizar nuestra a red al máximo. La foto 2 es muestra mis opciones del kernel para que veais como queda.
Figura 2 pantallazo de la optición Networking options
2) Network device support Ésta opcion es la encargada de configurar nuestros “drivers” para nuestra red.Si tenemos modem habría que activar los módulos correspondientes a PPP(point to point protocol) pero lo que nos interesa a nosotros es activar las opciones para nuestra tarjeta wireless. Las seccion en la que nos tendriamos que meter es la Wireless Lan (non-hamradio), dentro encontramos los “drivers”para nuestro modelo de tarjeta en éste modulo tenemos los correspondientes para tarjetas orinoco , prism2 , Cisco , Aironet que son los modelos más usuales en los nodos con 802.11b más adelante crearemos otro nodo con tarjetas que no tengan estos chipsets.En la imágen siguiente vereis los modulos que tendrémos que usar para nuestras tarjetas.
Figura 3 Pantallazo de Network device support Si tenemos un nodo con Prism ,que es lo recomendable para comenzar a crear nodos con linux debido a la sencillez que implica,habría que activar las opciones Prism 2.5 PCI 802.11d support (Orinoco/Prism2/Symbol) para poder usar tarjetas que esten en nuestro ordenador de sobre mesa ,al activarla nos saldrán otras 2 opciones las cuales son Hermes in PLX9052 based PCI adaptor support que nos va a hacer que podamos usar adaptadores PCI->Pcmcia con tarjetas con el chipset Orinoco y la otra es Prism 2.5 PCI 802.11b adaptor support cuya misión es la misma que la anterior pero para tarjetas Orinoco.También habría que activar las opciones AT&T Wavelan & DEC Roamabout DS support (Para orinoco) o las correspondientes a Aironet(Para tarjetas cisco y los chipsets correspondientes). Para pcmcia habría que activar Hermes PCMCIA card support Una vez configurado las opciones anterioes tenemos que activar la opción PCMCIA network device support y en su interior activar NE2000 compatible PCMCIA support. Con ésto tendremos configurado nuestro kernel ,pero aún tenemos que configurar nuestra tarjeta Prism2 y para ello tenemos que hechar mano del modulo llamado hostap que nos va a permitir que nuestra tarjeta (chipset Prism2) pueda configurarse como un
AP. Tras configurar todo bien y haber salvado tenemos que hacer la compilación del kernel ésto lo vamos a hacer así: najwa:/home/qemm/linux-2.4.20#make dep && make clean && make bzImage && make modules && make modules_install Terminada la compilación hacemos lo siguiente: cp arch/i386/boot/bzImage /boot/vmlinuz-kernel-2.4.20 Os voy a explicar como es y con ésto terminamos la primera entrega.
4.Configuración de Hostap Buscamos en internet el driver http://hostap.epitest.fi/ Nos bajamos la version que queramos yo voy a usar la versión hostap-0.0.1 descomprimimos el tar.gz (tar xvfz hostap-0.0.1.tar.gz),a continuación nos metemos en el directorio que nos crea y hacemos lo siguiente , es muy sencillo. make Nos saldrá lo siguiente make make make make make make
pccard PC Card (PCMCIA) driver (Prism2 or Prism2.5) plx PLX-based PCI card with PC Card pci Prism 2.5 PCI Card crypt Make hostap_crypt*.o hostap Make hostap.o 2.5 Make all modules for Linux kernel 2.5.x
Dependiendo del tipo de interfaz que tengamos tendremos que hacer un make distinto si por ejemplo tenemos una PCMCIA tenemos que hacer make pccard o si es un adaptador PCMCIA sera make plx . Una vez hecho esto nos dice lo que tenemos que hacer Run 'make install_pccard' as root to install hostap_cs.o Run 'make install_plx' as root to install hostap_plx.o Run 'make install_pci' as root to install hostap_pci.o Con esto ya simplemente nos queda reiniciar el servicio pcmcia y se acabó las instalación del driver hostap. Bueno ,por éste número ya tenemos más que suficiente para ir abriendo boca por lo que ir leyendo cosillas en internet(www.madridwireless.net) para ir avanzando por que en los siguientes números veremos , creación de una vpn para pertencer al entramado de una comunidad wireless , profundizaremos en el uso de hostap , crearemos un firewall , enroutamiento, y muchas cosas más. Licencia del Documento Copyright (c) 2004 José Javier Espejo Corral(
[email protected]) Se otorga permiso para copiar, distribuir y/o modificar este documento según los términos de la Licencia GNU Para Documentación Libre (GNU Free Documentation License), versión 1.2 o cualquier versión posterior publicada por la Free Software Foundation. Esta licencia está disponible en http://gnu.org/copyleft/fdl.html.