Inicio > Linux, Redes Inalambricas > Configurar WPA2 bajo linux

Configurar WPA2 bajo linux

Sábado, 10 de enero de 2009 Dejar un comentario Ir a comentarios

Para empezar vamos a lidiar con un tema que todo el mundo con el privilegio de disponer de un sistema operativo Linux instalado, tarde o temprano se encontrará. Estamos hablando del fabuloso mundo inalámbrico. La verdad es que personalmente por mucho que se haya avanzado en este sentido, he de reconocer que configurar una tarjeta inalámbrica resulta mucho mas sencillo en sistemas Windows que en Linux. Es cierto que existen interfaces gráficos que nos pueden facilitar esta tarea como pueden ser knetworkmanager (KDE) / network-manager-gnome (GNOME), o uno que me gusta mas como wicd, pero suele resultar mucho mas intuitiva la configuración en un sistema Windows.Pero que le vamos a hacer si estamos enamorados del resto de ventajas que nos aporta nuestro querido pingüino.

.

Alaaaa.. que vamos. Por ir centrándonos en la faena, decir que el equipo sobre el que voy a realizar la configuración es un Acer Travelmate 6000:

 Vamos a ver algunos datos de nuestra maquinita:

uname -a
Laptop 2.6.24-16-386 #1 Thu Apr 10 12:50:06 UTC 2008 i686 GNU/Linux

cat /etc/issue
Ubuntu 8.04.1 \n \l

lspci
02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)

grep processor /proc/cpuinfo
processor : 0
model name : Intel(R) Pentium(R) M processor 1600MHz

 free
total used free shared buffers cached
Mem: 1538504 1237404 301100 0 39880 704388
-/+ buffers/cache: 493136 1045368
Swap: 650592 0 650592

En su día yo lo tuve que realizar a mano pero no es de extrañar que ahora cuando instalemos una distribución, tal como una ubuntu, nos reconozca nuestra tarjeta de red inalámbrica.

En nuestros caso cuando hemos lanzado el comando lspci, vemos que es así: Intel (ipw2200).

Una de la cosas por las que me gustan los sistemas Operativos basados en Debian es por su facilidad a la hora de realizar las instalaciones o actualizaciones a través de los repositorios que existen en internet.

Vemos que lo tenemos cargado:

lsmod | grep 2200
ipw2200 145352 0
ieee80211 34504 1 ipw2200

En caso de no reconocernos la tarjeta, tendríamos que descargar e instalar los drivers. Necesitamos los paquetes ipw2200-fw-2.3.tgz, ieee80211 y el driver ipw22000.

Algo asi como…

Lanzamos con privilegios de root o a través del comando sudo

sudo tar xvzf ipw2200-fw-2.3.tgz
sudo cp ipw-2.3-*.fw /usr/lib/hotplug/firmware/
sudo tar xvzf ieee80211-1.0.3.tgz
cd ieee80211-1.0.3
sudo sh remove-old
cd ..
sudo tar xvzf ipw2200-1.0.6.tgz
cd ipw2200-1.0.6
sudo sh remove-old
cd ..
cd ieee80211-1.0.3
make
sudo make install
cd ..
cd ipw2200-1.0.6
make
sudo make install

Esto venia muy bien esplicado en los foros de Ubuntu, ademas de los miles de paginas que existen en Internet aclarandonos este tema.

Para comprobar que todo se ha realizado de forma correcta modprobe –r ipw22000 y el lsmod visto anteriormente para comprobar que se ha cargado el módulo de forma correcta.

Si queremos poder trabajar en redes empresariales o domesticas protegidas a través WPA2 vamos a tener que instalarnos un paquetito que es wpasupplicant

sudo apt-get install wpasupplicant

debemos ahora generar un fichero que configuración con el siguiente contenido:

sudo gedit /etc/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant

network={
ssid=”X”
scan_ssid=1
proto=WPA2
key_mgmt=WPA-PSK
pairwise=TKIP
psk=”XXXXXXXXXXXXXX”
}

Este ficherito vemos que es clave para que todo esto funcione. Se le indica la red a la que nos queremos conectar, la encriptacion, contraseña… (man wpa_supplicant)

Para conocer el ssid en caso de no conocerlo podemos lanzar el siguiente comando

iwlist scan

eth1 Scan completed :
Cell 01 – Address: 00:21:91:E4:DD:E1
ESSID:”XX”
Protocol:IEEE 802.11bg
Mode:Master
Frequency:2.422 GHz (Channel 3)
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=93/100 Signal level=-34 dBm
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Extra: Last beacon: 132ms ago

Cuando reiniciemos la maquina podemos ejecutar dmesg que nos dará mucha información sobre el proceso de arranque de la maquina. Veremos si se han cargado los módulos que nos interesan

dmesg | grep ipw

 [ 45.246013] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq
[ 45.246018] ipw2200: Copyright(c) 2003-2006 Intel Corporation
[ 46.097457] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
[ 48.796230] ipw2200: Detected geography ZZM (11 802.11bg channels, 0 802.11a channels)

Debemos conocer cual es nuestra interface de Red Inalámbrica

iwconfig

eth1 IEEE 802.11g ESSID:”XXX”
Mode:Managed Frequency:2.422 GHz Access Point: 00:21:92:E5:1D:E3
Bit Rate:54 Mb/s Tx-Power=20 dBm Sensitivity=8/0
Retry limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=95/100 Signal level=-31 dBm Noise level=-87 dBm
Rx invalid nwid:0 Rx invalid crypt:19 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Y por ultimo lanzamos el siguiente comando y a cruzar los dedos:

 sudo wpa_supplicant -i eth1 -c /etc/wpa_supplicant.conf -D ipw -w -dd

 Trying to associate with SSID ‘XXX’
Associated with 00:21:91:e4:dd:e1
WPA: Key negotiation completed with 00:21:91:e4:dd:e1 [PTK=TKIP GTK=TKIP]
CTRL-EVENT-CONNECTED – Connection to 00:21:91:e4:dd:e1 completed (auth) [id=0 id_str=]

Parece que hemos tenido suerte.

Si tenemos configurada la interface, en nuestro caso en el archivo /etc/network/interface

auto eth1
#iface eth1 inet dhcp
iface eth1 inet static
address 10.207.220.193
netmask 255.255.255.0
gateway 10.207.220.254

Ya deberíamos de estar conectados a la red inalámbrica

Podemos generar un Script que podemos guardar en el directorio de servicios /etc/init.d con el nombre que queramos:

vi /etc/init.d/wifi

#! /bin/sh
# wifi: wpa_supplicant init
echo ” * [Wifi]: Enabling WPA supplicant…”
if [ -x /sbin/wpa_supplicant ]; then
/sbin/wpa_supplicant -B -i eth1 -c /etc/wpa_supplicant.conf -Dwext -w
fi
exit 0

Con el parametro -B lo arrancamos como demonio

Incluso le podemos decir que lo arranque de forma automática

sudo ln -s /etc/init.d/wifi.sh /etc/rcS.d/S60wifi

Vamos a comprobar que verdaderamente esta funcionando. Para ello vamos a utilizar el comando iwconfig

iwconfig

eth1 IEEE 802.11g ESSID:”XXX”
Mode:Managed Frequency:2.422 GHz Access Point: 00:21:91:E4:DD:E1
Bit Rate:54 Mb/s Tx-Power=20 dBm Sensitivity=8/0
Retry limit:7 RTS thr:off Fragment thr:off
Encryption key:8AC3-23AC-B154-3C0B-B218-ED8C-1A08-3E85-347C-901E-BE5D-7570-9DD9-F281-A112-811E Security mode:open
Power Management:off
Link Quality=94/100 Signal level=-33 dBm Noise level=-89 dBm
Rx invalid nwid:0 Rx invalid crypt:20 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:9 Missed beacon:0

Podemos comprobar que nos dice que ya estamos asociados.

Ademas antes hemos visto que nos daba el siguiente mensaje:

CTRL-EVENT-CONNECTED – Connection to 00:21:91:e4:dd:e1 completed (auth) [id=0 id_str=]

podemos hacer un ping a nuestro Gateway

ping 10.207.220.254

PING 10.207.220.254(10.207.220.254) 56(84) bytes of data.
64 bytes from 10.207.220.254: icmp_seq=1 ttl=64 time=5.78 ms
64 bytes from 10.207.220.254: icmp_seq=2 ttl=64 time=3.37 ms

y un ping hacia fuera con el permiso de nuestro amigo google

ping www.google.es
PING www.l.google.com (209.85.129.99) 56(84) bytes of data.
64 bytes from fk-in-f99.google.com (209.85.129.99): icmp_seq=1 ttl=243 time=90.0 ms
64 bytes from fk-in-f99.google.com (209.85.129.99): icmp_seq=2 ttl=243 time=99.6 ms
64 bytes from fk-in-f99.google.com (209.85.129.99): icmp_seq=3 ttl=243 time=90.2 ms

Si vamos realizando pruebas, cambiando por ejemplo el tipo de encriptación, la contraseña o cualquier otro parámetro veremos los diferentes mensajes de error que vamos obteniendo.

Algunos comandos que pueden ser de interés:

iwlist eth1 frequency

eth1 11 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Current Frequency=2.422 GHz (Channel 3)

ifconfig para poder configurar la interface de red:

ifconfig eth1 10.200.1.198 netmask 255.255.255.0
ifconfig eth1 up
route add -net 10.200.1.0 netmask 255.255.255.0 gw 10.200.1.254

Hay muchos mas comandos para jugar con las interfaces pero ya los iremos viendo. Lo mas importante es tener una idea de los que hacen y tirar de nuestro amigo man de linux y google para profundizar cuando nos haga falta.

Hasta la próxima y suerte a todos.

Enviar a un amigo: Share this page via Email
  1. Sin comentarios aún.
  1. Sin trackbacks aún.
*