Introducción
Como veremos en este artículo, con Linux se pueden
hacer muchas virguerías que son imposibles en sistemas
operativos propietarios, como por ejemplo construir un Access
Point basado en Linux a partir de una tarjeta Conceptronic
(Chipset PRISM2) bastante barata y que no está, en principio,
preparada para hacer de Master (o access point) de una red.
Las forma de trabajo de las tarjetas wireless tienen básicamente
tres formas: ad-hoc y managed y master.
Ad-hoc: estas redes se construyen normalmente con
ordenadores con las tarjetas "normales" y se configuran de
modo que todos los ordenadores de la red trabajan "par a par",
todos reciben los paquetes de todos y envían sus propios
paquetes a todos los ordenadores de la red. Para esto no se necesita
nada especial, sólo definir una red con un nombre (ESSID),
preferiblemente encriptar a 128 bits (con WEP) y no tener demasiados
ordenadores en la misma red.
Managed: en este caso exite un servidor independiente,
Access Point (o Base Station en terminología
comercial de Apple) al cual se conectan todos los ordenadores. El
access point entonces envía las tramas 802.11 a los
destinatarios finales. Normalmente los access points soportan
roaming, es decir los clientes pueden estar en movimiento a
ir cambiando de punto de acceso de acuerdo a la potencia de la
señal. La diferencia fundamental entre una tarjeta que
soporte ser access point (o modo master) es que hay
que hacer bridging de paquetes IP y además manipulan los bits
de 802.11 a bajo nivel, normalmente en la propia tarjeta. También
los access points suelen ofrecer servicios de enrutado IP,
servidor DHCP y bridging sobre una Ethernet. Cuando un ordenador o
tarjeta está conectado a la red a través de un punto
de acceso se dice que está en modo managed.
Master: es el modo en que trabaja el access point
descrito en el punto anterior. Como veremos al final, es posible
también fabricar un access point con Linux.
Módulos del kernel
La mayoría de las tarjetas que se venden actualmente son
del tipo Orinoco (Lucent), Symbol HR y Prism 2. Todas ellas están
soportadas por el driver orinoco_cs incluido en el kernel
2.4.x, pero sólo para trabajar en modo managed o ad-hoc,
no soportan el modo master.
Además tienen un pequeño problema, los drivers no
están del todo actualizados con la última versión
y cuando la tarjeta comparte interrupciones con otros dispositivos
genera un montón de líneas de logs por "eventos
vacíos". Este problema ya está solucionado en las
últimas versiones que se pueden bajar de
http://ozlabs.org/people/dgibson/dldwd/
y compilarlos. Es bastante sencillo y el README lo explica
claramente.
Pero como veremos más adelante, existen otras opciones, los
nuevos linux-wlan-ng o el
fantástico hostap driver
para Prism2 (i.e. los usados por Conceptronic) que
nos permitirán hacer que nuestro Linux se convierta en un
access point de muy bajo coste si tenemos una tarjeta Prism2
de Intersil.
Configuración de la tarjetas: iwconfig
Una vez cargados los módulos del kernel que sean necesarios, la configuración
de las tarjetas se hace de forma similar a las ethernet con el comando ifconfig
pero esta vez ayudado con un nuevo comando, el iwconfig, que permite cambiar los
parámetros específicos de las redes inalámbricas. Por ejemplo:
- Identificador de red (essid)
- Frecuencia o canal (freq/channel)
- Modo (mode: master|managed|ad-hoc)
- Velocidad (rate)
- Clave de encriptación (key/enc)
- Potencia de transmisión (txpower)
- etc.
En pocas palabras, con iwconfig configuramos los parámetros especiales de wireless
y con el ifconfig configuramos los parámetros normales de la red IP.
NOTA sobre encriptación
Si especificamos una clave (key) en el iwconfig, las transmisiones estarán
encriptadas con el protocolo WEP. En Linux has dos formas de especificarlas:
- Con passphrase: iwconfig interface key "s:mi_clave". La clave debe ser de
5 caracteres para encriptación de 40 bits y de 13 para 128 bits (en realidad
de clave de 104 bits).
- Con clave en hexadecimal: iwconfig interface key "mi_clave_en_hexa". En este caso
se introduce la clave directamente con 5 o 13 caracteres especificados en
hexadecimal.
Para mayor seguridad se recomienda que los caracteres que forman la clave sean
aleatorios.
Usuarios de Mac OS X
Para introducir la clave en el gestor del Airport del Mac OS X, hay que hacerlo
con los caracteres en hexadecimal poniendo un $ al principio. |