Configuración del dispositivo Wireless bajo Linux

El primer punto es obtener la máxima información acerca del dispositivo desde las paginas web del proveedor, información del mantenedor o creador del driver de linux, etc...

De este modo se evitan sorpresas como que no exista soporte desde Linux, o que el dispositivo sea incompatible con otros existentes ya en nuestra WLAN. El siguiente punto puede ayudarnos a evitar estos agradables contratiempos.

Dispositivos disponibles para Linux

Existe una amplia gama de dispositivos. Para obtener información la mejor fuente es la pagina web de los fabricantes, entre ellas destacar los de las más utilizadas:

Un sitio interesante donde encontrar dispositivos es:

http://hydra.carleton.ca/info/wlan.html

Y puede consultarse también [TOURR02].

Una vez realizado esto, los pasos son los que siguen.

Configuración del núcleo

Es requisito imprescindible que el kernel disponga del driver adecuado para el dispositivo de red que nos disponemos a instalar. Para ello debemos comprobar si en los fuentes del kernel esta disponible alguno, y compilarlo bien como modulo insertable o directamente en el mismo núcleo. Esta última opción aporta mayor eficiencia a la hora de ejecutar el código, por el contrario, si cambiamos de adaptador, posiblemente necesitaremos recompilar el núcleo.

Si el dispositivo soporta las Wireless Extensions, debemos asegurarnos que estas están disponibles en el núcleo. Esto último se consigue compilando el kernel con la opción CONFIG_NET_RADIO, la cual permite seleccionar drivers del conjunto de radio dispositivos disponibles.

Configuración del adaptador Wireless

Cumplido el paso anterior, el núcleo es capaz de utilizar el dispositivo de red. Disponemos de varias herramientas para comprobar la configuración, supondremos que el driver soporta las Wireless Extensions:

  • IOCTL:

    El método básico de configuración de cualquier dispositivo. Wireless Extensions amplian el juego de llamadas IOCTL . Las nuevas llamadas están definidas en el archivo fuente del kernel linux-x.x.xx/include/wireless.h.

  • IWCONFIG

    Es una herramienta para configurar todos los dispositivos específicos del controlador y del mismo dispositivo de red. Presenta un interfaz similar a la herramienta para dispositivos de red ifconfig, sus parámetros son:

    • Freq / Channel:

      Bien frecuencia de uso o secuencias de canales.

    • Nwid:

      Identificador de red virtual, para identificar a los dispositivos que se encuentran en redes lógicas distintas operando en la misma frecuencia.

    • Protocol:

      Protocolo que se utilizara a nivel de enlace.

    • Sens

      Sensibilidad para la recepción de tramas.

    • Enc

      Clave de encriptación utilizada.

    Estos parámetros se establecen dependiendo del dispositivo.

  • /proc/net/wireless

    Se trata de una copia de /proc/net/dev que proporciona la siguiente información del dispositivo:

    • Status

      Información, dependiente del dispositivo, que informa del estado.

    • Quality

      • Link

        calidad de recepción.

      • Level

        potencia de señal en recepción

      • Noise

        Nivel de ruido en recepción

    • Discarded

      • Nwid

        Tramas con identificadores de red inválidos.

      • Crypt

        Tramas imposibles de descifrar.

      • Misc

        Sin uso.

Configuración TCP/IP

Si disponemos de una red en la que todos los nodos son alcanzables, la configuración IP no entraña mas problemática que la habitual: asignar una red o subred, configuración de la dirección IP, dirección de un DNS y un Gateway.

Si nuestra topología es compleja, como cuando no todos los nodos son alcanzables, posiblemente necesitemos realizar una configuración más cuidadosa para permitir que todos los segmentos de la red sean visibles.

Si el dispositivo que se encarga de proveer conectividad es un Access Point, entonces no necesitamos configuración adicional pues este puente funciona a nivel OSI 2.

Sin embargo, estos dispositivos son caros y propietarios, por lo que podemos suplirlo con una maquina Linux haciendo IP routing. En este segundo caso, hemos de cuidar la configuracion IP. Ahora, cada uno de los segmentos WLAN a interconectar deben tener una subred IP distinta.

Para mas información, consultar [ARCO02].

Ejemplo 2.1. Configuración de un adaptador ejemplo

Para configurar un adaptador Lucent Wavelan en linux, utilizaríamos el modulo waveland.o del núcleo, o bien lo recopilaríamos con la opcion CONFIG_NET_RADIO y escogeríamos en el menú correspondiente dicho controlador.

Los parámetros posibles que acepta el adaptador y que estableceriamos con la herramienta WCONFIG son:

  • Frecuencias: 10 diferentes valores desde 2.422 a 2.462Ghz.

  • Network ID: identificador de hasta 16 bits.

  • Encriptación: DES/AES 64 bits. Podemos indicar la clave, los valores ON/OFF, tipo de algoritmo o número de clave para sistemas multi clave.

Por tanto, podríamos integrar el adaptador en nuestra red lógica número 0x000000FF, operando por ejemplo a 2.462 Ghz y encriptando las comunicaciones con el cifrador DES de 64 bits.

En cuanto a la configuración IP, supongamos que no disponemos de un AccessPoint y que entre nuestro nodo y alguno de la red no existe conexión.

En este caso necesitaremos configurar un nodo intermedio con IP routing, es decir, que sirva de router entre este nuevo nodo y aquel o aquellos entre los que no existe conexion.

Para resolverlo, necesitaremos asignar una subred IP diferente al nuevo nodo, de este modo cuando intente comunicar con los nodos a los que no existe covertura, se resolvera mediante enrutamiento IP a traves del nodo que actua como router

Para mas información acerca de este y otros dispositivos consultar [TOURR02]

Para consultar información detallada de la configuración IP consultar [ARCO02]