Objectiu:
L’objectiu d’aquest tutorial és molt simple, poder accedir a xarxes sense fils des del nostre portàtil. Per a la configuració s’ha utilitzat un Debian Lenny amb una tarja d’accés WiFi Ralink RT2860. El dispositiu no importa massa, però algun paràmetre pot ser diferent segons el driver utilitzat.
S’accedirà a xarxes protegides amb xifratge WPA. Adaptant la configuració es pot fer que el sistema accedeixi sense massa dificultats a xarxes amb xifratges com ara WEP, o xifratge d’empresa emprant un Radius.
Es considera que el driver està correctament instal·lat i és funcional. No entrarem en temes de modprobe, insmod i similars…
Configuració:
Tenim diverses opcions, i d’altres que no comentarem, per configurar l’accés WiFi de la nostra màquina. El problema és que existeixen un munt de configuracions disponibles i variades i no és l’objectiu d’aquest tutorial explicar-les totes, ni molt menys. Un cop s’entengui el proces bàsic es recomana llegir la documentació especifica del cas que ens pertoqui.
NetworkManager:
La primera opció senzilla que tenim és utilitzar NetworkManager. Aquesta solució funcionarà correctament sempre que la xarxa a la que ens connectem disposi d’assignació d’adreces IP de manera dinàmica (DHCP). En cas de no ser així la xarxa no es configurarà i no tindrem connexió.
Si aquesta és la nostra situació (tenir sempre accés a xarxes amb DHCP) l’única configuració que hem de fer és eliminar les configuracions de les interfícies que volem que NetworkManager gestioni (ethX, raX, wlanX…) del fitxer /etc/network/interfaces.
Aquest quedarà així:
auto lo iface lo inet loopback
Per instal·lar NetworkManager fem:
$ apt-get install network-manager network-manager-gnome $ adduser usuari netdev
A l’arrencar de nou l’entorn Gnome tindrem nm-applet carregat i podrem configurar les nostres xarxes de manera senzilla i gràfica.
Si NetworkManager no troba xarxes sense fils pot ser degut a que la interfície està baixada. Això ho podem solucionar amb:
$ ifconfig interfície up
Wicd:
Una altra possibilitat força similar és Wicd. Aquesta encara es troba en fase de desenvolupament però sembla que serà força més versàtil a l’hora de configurar les xarxes, així com el seu adreçament, que NetworkManager. La pàgina web és: wicd.sourceforge.net
Opcions bàsiques de Gnome:
En el menú Sistema > Administració > Xarxa de Gnome hi ha la opció de configurar accessos molt bàsics a xarxes amb xifratge WEP o sense xifratge. Com que no és l’objectiu d’aquest tutorial no comentarem res més al respecte.
Opció “Deixar-se de tonteries i configurar-ho manualment, que per això utilitzem GNU/Linux no?”, també coneguda com a masoquista 🙂 :
Tot i que sembli mentida aquesta és la solució, tot i que la menys intuïtiva, més versàtil i poderosa de totes. Un cop configurada la base la resta surt gairebé sol. Anem per passos.
El primer que hem de configurar és l’arxiu /etc/network/interfaces, que és el que fan servir comandes com ara ifup o ifdown per carregar la configuració de les diferents interfícies de xarxa. La configuració de la interfície ra0 (el nom pot ser diferent segons el driver i la detecció del sistema, ho trobarem amb ifconfig -a, o iwconfig) quedarà així:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp # Xarxa sense fils allow-hotplug ra0 iface ra0 inet manual wpa-driver wext wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp iface xarxa1 inet dhcp iface xarxa2 inet static address 192.168.1.20 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1
Com es pot veure estem configurant el roaming per a 3 xarxes, una per defecte (default), una xarxa amb adreçament automàtic (xarxa1) i una altra amb adreçament estàtic (xarxa2). Les dues últimes les associarem a punts d’accés diferents.
Anem a configurar l’arxiu /etc/wpa_supplicant/wpa_supplicant.conf. En el nostre cas és com aquest:
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 ap_scan=1 fast_reauth=1 eapol_version=1 network={ ssid="AccesPoint1" key_mgmt=WPA-PSK pairwise=TKIP psk="contrasenya1" id_str="xarxa1" } network={ ssid="AccesPoint2" key_mgmt=WPA-PSK pairwise=TKIP psk="contrasenya2" id_str="xarxa2" }
Aquí veiem que el paràmetre id_str ha de concordar amb el que s’ha configurat en l’arxiu /etc/network/interfaces ja que cada configuració de xarxa dependrà del punt d’accés al que ens connectem.
Això és tot. Quan arranquem el sistema les interficies de xarxa s’aixecaran i es configuraran mitjançant l’arxiu /etc/network/interfaces que, alhora, farà les supliques wpa mitjançant l’arxiu /etc/wpa_supplicant/wpa_supplicant.conf escollint la configuració del punt d’accés que es trobi disponible en aquell moment per mitja de la configuració en id_str.
Com a nota addicional tenim que per aixecar una interfície podem fer:
$ ifup interfície
Per baixar-la podem fer:
$ ifdown interfície
Opcions avançades:
Es pot donar el cas que en un moment donat es trobi disponible més d’un punt d’accés configurat i que ens interessi accedir a un en concret. Per fer això podem utilitzar l’eina wpa_cli.
Aquesta ens permetra llistar les configuracions de wpa_supplicant:
$ wpa_cli list 0 AccesPoint1 any [CURRENT] 1 AccesPoint2 any
Si en aquest moment ens interessés accedir a l’altre punt d’accés (AccesPoint2) farem el següent:
$ wpa_cli sel 1
L’1 correspon al número de la xarxa que apareix a la llista superior.
Documentació:
Les eines utilitzades en aquesta entrada tenen moltes més opcions, com sempre. És recomana molt llegir la documentació de:
$ man ifconfig $ man ifup $ man ifdown $ man iwconfig $ man wpa_supplicant $ man wpa_cli
i sobretot, la que conté mes informació interessant sobre el tema:
$ man wpa_supplicant.conf