Categorías

Calendario del Blog

Diciembre 2024
Dom Lun Mar Mie Jue Vie Sab
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Imagen Aleatoria

Imagen Aleatoria

Comentarios Recientes

Emblemas

Es Válido 0xCAE274D6
Soporta RSS2
Soporta Atom
Energizado por Jaws Project

Conectándome a diferentes access points

Por diferentes razones[1] jamás había lidiado con WiFi. Cuando la U.T.T. me proporcionó una laptop, tenía la misma configuración de red[2] en mi casa, por lo que tampoco me había preocupado porque las opciones cambiaran dependiendo de dónde me estaba conectando. Pues bien, aquellos bellos tiempos terminaron; hoy me encontré con la necesidad de conectarme a diferentes access points durante el día y:
  • abrir una terminal
  • modificar /etc/network/interfaces
  • levantar la tarjeta
es demasiado trabajo (también lo es abrir wifi-radar o kwifimanager). Así que me eché un clavado en el man de interfaces (y en los archivos de /usr/share/doc/ifupdown/examples/) e hice un pequeño script que me conecte al primer access point que tenga configurado. No pretende ser lo último y mucho menos la mejor opción, pero por ahora me sirve, ya lo iré depurando (acepto sugerencias).





/etc/network/interfaces /* lo he recortado =) */
auto eth2
mapping eth2
   script /usr/local/sbin/cual-ap.sh
# Después del map, he puesto el ESSID de cada access point
# esto es necesario para que funcione el script =)
   map Aserta_Bajio eth2-aserta
   map m77wifi eth2-casa
   map 019e37 eth2-ual

iface eth2-aserta inet dhcp wireless-essid Aserta_Bajio wireless-nickname "m77" wireless-mode Ad-hoc wireless-key 0011223344 pre-up /sbin/iptables-restore -n < /etc/network/iptables/eth2.aserta
iface eth2-casa inet static wireless-essid m77wifi wireless-nickname "m77" wireless-mode Master wireless-key aaaaaaaaaabbbbbbbbbb111111 address 192.168.77.77 netmask 255.255.255.0 gateway 192.168.77.1 pre-up /sbin/iptables-restore -n < /etc/network/iptables/eth2.casa
iface eth2-ual inet dhcp wireless-essid 019e37 wireless-nickname "m77" wireless-mode Managed wireless-key s:clavesupersecreta pre-up /sbin/iptables-restore -n < /etc/network/iptables/eth2.ual


/usr/local/sbin/cual-ap.sh
#!/bin/bash
######################################
#### Para /etc/network/interfaces ####
#### verifica que essid esta dis- ####
#### ponible, y si concuerda con  ####
#### alguno... adelante.          ####
######################################
cualessid=""
disponibles=`iwlist eth2 scanning |grep ESSID | cut -d \" -f2`
#echo "Disponibles: $disponibles" >&2
while read red tarjeta
do
   if [ "$cualessid" ]
   then
      continue
   fi
#   echo " Probando $red con $tarjeta" >&2
   if [[ -n `echo $disponibles |grep $red` ]]
   then
      cualessid=$tarjeta
   fi
done
if [ "$cualessid" ]
then
   echo $cualessid
   exit 0
fi
exit 1


No creo que requiera explicación ya que esta muy sencillo, pero va: el script se ejecuta automáticamente al ejecutar ifup eth2 o bien ifup -a (ya que la tengo en auto). Primero escanea -ejem... busca- los essids disponibles, luego entra a un ciclo while donde las variables red y tarjeta van obteniendo los valores de cada uno de los map (de /etc/netwok/interfaces) y al encontrar el primero que concuerde se trata de conectar a él. (Lo primero que haré será cambiar ese grep por algo más elegante... y fiable). Por último, si no hay coincidencias, sale con 1 lo cuál previene que se levante la tarjeta.




[1] Es mi primer laptop, no tenía un access point, soy muy flojo, existen wifi-radar, kwifimanager, etc...


[2] Misma clase c, mismos dns, mismo gw...

#1 Re: Conectándome a diferentes access points

Mari, <> / 3 Abril, 9:18pm  
avatar

¡Gracias amigo! Aunque el script no me ha jalado aún, me sirvió mucho tu bloque de conexión de tu casa porque al fin pude configurar mi laptop con él.

[ Responder (0) ]