Logo de Ephemera
Mar 4

Como autoconfigurar tu wireless en Debian GNU/Linux Escrito por kour el 1141502536

Desde hace bastante tiempo quería idearme un metodo de selección automática de red de forma que no tuviera que elegirla yo manualmente. Estoy seguro de que existen varias aplicaciones en KDE y GNOME que lo hagan de una manera “más bonita” pero yo pretendía que se realizara de forma automática desde el mismo momento en el que se ejecute el script de arranque de la red.

Después de buscar opciones ya desarrolladas como intuitively y waproamd me dí cuenta de que quizá no se adaptaran a lo que yo buscaba así que decidí ver si a alguien ya le habría ocurrido una solución como la que yo buscaba y … como casi siempre, apareció un punto de partida.

Desde esos puntos de partida, adapté el script para que funcionara de forma que yo entendiera lo que estaba haciendo en cada momento. Posiblemente las otras opciones puedan ser mejores pero esta puedo decir que es mía (que no es poco)

Para que funcione, lo primero que debemos hacer es editar nuestro fichero de interfaces para que aparezcan todas las posibles configuraciones. El fichero ahora se quedaría similar al siguiente:

keystroke:/home/kour# vim /etc/network/interfaces

[...]
auto eth1

#ZONA DE MAPEOS
#Lista de posibles redes por orden de prioridad
mapping eth1
        script /usr/local/sbin/autoWL.sh
        map $ESSID1 WL1
        map $ESSID2 WL2

#ZONA DE DEFINICIÓN DE REDES
iface eth1-WL1 inet dhcp
        wireless_essid $ESSID1
        wireless-keymode off
        wireless_mode managed

iface eth1-WL2 inet static
        wireless_key xxxxxxxxxxxxxxxxxxxxxxxxxx
        address $IP_DEL_PC
        gateway $IP_DEL_GATEWAY
        netmask $MASCARA
        wireless_essid $ESSID2
        wireless_keymode restricted
        wireless_mode managed

iface eth1-default inet dhcp
        wireless_ap any
        wireless_essid any
        wireless_key off
        wireless_mode Managed

Debemos editar los parametros $ESSID1, $ESSID2 , $IP_DEL_PC , $IP_DEL_GATEWAY, $MASCARA y la clave de nuestra Wireless para adaptarlas a nuestras necesidades

Una pequeña explicación de este archivo es:

  • Zona de Mapeos: En esta zona se configurará el script que se ejecutará para elegir la red y cada una de las posibles configuraciones que queremos añadir a nuestro script por orden de prioridad. Para añadir una nueva configuración añadiremos:

    map $RED_WIRELESS $SCRIPT_A_EJECUTAR

  • Zona de Definición de redes: En este apartado se parametrizaran cada una de las redes a las que nos queremos conectar. Así, por cada una de las redes a las que nos conectemos debemos hacer una nueva sección iface con nombre $IFACE-$SCRIPT_A_EJECUTAR. Además, crearemos una configuración por defecto con el nombre $IFACE-default

Después de configurar el archivo de interfaces, el siguiente paso será crear el archivo que se encargue de elegir cual es la red a la que conectarse. Una posible configuración de ese archivo es:

keystroke:/home/kour# vim /usr/local/sbin/autoWL.sh

#!/bin/bash

#DEFINICION DE VARIABLES
IFACE="$1"                  # Interface en la que queremos buscar wireless
IWLIST="/sbin/iwlist"       # Localización del iwlist
WL=`mktemp /tmp/WL.XXXXXX`  # Lista TMP de wireless encontradas
WILDCARD=1                  # Si se pone a 1 se intenta conectar a cualquier red disponible

# Si iwlist no existe devolvemos un error
if [ ! -x $IWLIST ]; then
        exit 1
fi

$IWLIST $IFACE scanning|grep ESSID | awk ‘BEGIN{FS=”\”";} {print $2;}’ > $WL
networks=`cat $WL|wc -l`
if [ $networks -ne 0 ]; then
        while read essid schema; do
                existe=`grep $essid $WL`
                if [ $existe ]; then
                        if [ $existe = $essid ]; then
                                echo $IFACE”-”$schema
                                rm $WL
                                exit 0
                        fi
                fi
        done

        if [ $WILDCARD -ne 0 ]; then
                echo $IFACE”-default”
                rm $WL
                exit 0
        fi
        rm $WL
        exit 1
fi
rm $WL
exit 1

Explicación: El script es sencillo, se van leyendo uno a uno los mapeos que hemos creado y vamos comprobando si se encuentran dentro de la lista de wireless que encuentra el iwlist. Si en algún momento coincide alguno lo devolvemos y salimos del script.

Para acabar sólo hace falta dar permisos de ejecución sobre el archivo que hemos creado.
keystroke:/home/kour# chmod 755 /usr/local/sbin/autoWL.sh

Espero que si encontrais algún error en el script, veis alguna manera de mejorarlo o cualquier otra cosa dejeis un comentario o os pongais en contacto conmigo y así mejoraremos todos.

Categorias: GNU/Linux, Informática, Recetillas |
 

Comentarios 'Como autoconfigurar tu wireless en Debian GNU/Linux'

#1

aklis dijo hace 2 años, 9 meses :

Firefox Firefox 1.5 sobre Linux Linux:

Solo una tonteria:

WL=`mktemp`



#2

kour dijo hace 2 años, 9 meses :

Firefox Firefox 1.0.7 sobre Debian GNU/Linux Debian GNU/Linux:

cambiado :) ¿Esto también se borra solo?



#3

aklis dijo hace 2 años, 9 meses :

Firefox Firefox 1.5 sobre Linux Linux:

No…pero si por cualquier incidencia, el archivo no se borra como debe, no hay ningun problema con la siguiente ejecucion.



#4

diseño web dijo hace 1 año, 9 meses :

Internet Explorer Internet Explorer 6.0 sobre Windows Windows XP:

Lo que me parece una pasada es el nuevo gestor de ventanas que se le puede instalar a linux, echarle un vistazo al compiz, le da mil vueltas al vista.
Un saludo
Juan
diseño web



Dejar un Comentario
Nombre (requerido)
E-Mail (No será publicado) (requerido)
Website

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image

Puedes usar las siguientes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Fortune

 

Es un spammer? Se merece que lo sodomicen con un bate de beisbol
--Bulmailing

 

Buscar

Blogroll

Categorías

Historico

Acaban de decir:

Que vienen buscando:

Hace ya algún tiempo:

Nuestro del.icio.us

De 0 a 65 queries en 0.780 segundos