Conectándome con el portatil a la red pública de la fonera pude comprobar que había algunas páginas a las podía conectar sin tener que pasar por chillispot. Por ejemplo, podía leer mi correo de gmail o visitar flickr. Editando el archivo de configuración del chillispot me encontré esto:
root@OpenWrt:/etc# cat chilli.conf
radiusserver1 radius01.fon.com
radiusserver2 radius02.fon.com
radiussecret garrafon
dhcpif eth1
uamsecret garrafon
uamallowed 209.85.129.99,209.85.129.104,209.85.129.147
uamanydns
uamallowed www.martinvarsavsky.net,www.google.com,www.flickr.com,static.flickr.com,video.google.com,216.239.51.0/24,66.249.81.0/24
uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com,www.skype.com,66.249.93.0/24,72.14.207.0/24,72.14.209.0/24,84.96.67.0/24,213.91.9.0/24,80.118.99.0/24
uamallowed shop.fon.co.kr,secure.nuguya.com,inilite.inicis.com,fon-en.custhelp.com,maps.fon.com,c20.statcounter.com
uamallowed www.fon.com,acceso.fon.com,en.fon.com,es.fon.com
uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com
uamserver https://login.fon.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/cp/index.php
Es una lista de urls permitidas por las que se puede navegar sin tener que estar autenticado. Revisando algunas de esas ips he visto que la mayoría son de google, flickr,... pero hay otras que no tengo ni idea. Entonces he pensado que no quería que los Aliens que se conecten a mi punto de acceso Fon puedan navegar libremente por Google, Flickr, Skype,.... Lo primero que se me ha ocurrido ha sido comentar las líneas de las webs no permitidas y reiniciar el chillispot, pero cual ha sido mi sorpresa que no ha funcionado. Revisando con más detalle el script de chillispot (/etc/init.d/N50chillispot) he visto que cuando se arranca se descarga de Fon (en la función radconfig) el archivo de configuración, lo almacena en /tmp/chilli.conf y comprueba mediante un hash MD5 si el que acaba de descargar y el existente son iguales o no. En caso de que el existente haya sido modificado, lo borra y mueve el que se ha descargado a la ruta original. Así Fon tiene control total sobre las webs por las que los Aliens pueden o no navegar:
radconfig() {
/usr/sbin/chilli_radconfig \
-c /dev/null \
--radiusserver1="$RADIUSSERVER" \
--radiussecret="$RADIUSSECRET" \
--adminuser="$RADIUSADMUSR" \
--adminpasswd="$RADIUSADMPWD" \
--radiusnasid="$MAC" \
--dhcpif $wifi_ifname \
> $TMP_C
[ -n "$(cat $TMP_C)" ] && {
MD5SUM_TMP=$(md5sum $TMP_C | awk '{ print $1 }')
MD5SUM_ETC=$(md5sum $ETC_C | awk '{ print $1 }')
if [ ! "$MD5SUM_TMP" = "$MD5SUM_ETC" ]; then
rm $ETC_C
mv $TMP_C $ETC_C
circular_log $LOG_LOOP_F "RELOAD"
do_reload
else
circular_log $LOG_LOOP_F "NO RELOAD"
fi
return 0
}
circular_log $LOG_LOOP_F "NO RELOAD"
}
¿Qué podemos hacer para evitar esto?. Muy sencillo, simplemente cambiamos el signo de la comparación (la línea comentada del if es la original):
radconfig() {
/usr/sbin/chilli_radconfig \
-c /dev/null \
--radiusserver1="$RADIUSSERVER" \
--radiussecret="$RADIUSSECRET" \
--adminuser="$RADIUSADMUSR" \
--adminpasswd="$RADIUSADMPWD" \
--radiusnasid="$MAC" \
--dhcpif $wifi_ifname \
> $TMP_C
[ -n "$(cat $TMP_C)" ] && {
MD5SUM_TMP=$(md5sum $TMP_C | awk '{ print $1 }')
MD5SUM_ETC=$(md5sum $ETC_C | awk '{ print $1 }')
# if [ ! "$MD5SUM_TMP" = "$MD5SUM_ETC" ]; then
if [ "$MD5SUM_TMP" = "$MD5SUM_ETC" ]; then
rm $ETC_C
mv $TMP_C $ETC_C
circular_log $LOG_LOOP_F "RELOAD"
do_reload
else
circular_log $LOG_LOOP_F "NO RELOAD"
fi
return 0
}
circular_log $LOG_LOOP_F "NO RELOAD"
}
y ya está capado. Ahora editamos el archivo de configuración de Chillispot y comentamos las webs que no queremos que se puedan utilizar:
root@OpenWrt:/etc# cat chilli.conf
radiusserver1 radius01.fon.com
radiusserver2 radius02.fon.com
radiussecret garrafon
dhcpif eth1
uamsecret garrafon
#uamallowed 209.85.129.99,209.85.129.104,209.85.129.147
uamanydns
#uamallowed www.martinvarsavsky.net,www.google.com,www.flickr.com,static.flickr.com,video.google.com,216.239.51.0/24,66.249.81.0/24
#uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com,www.skype.com,66.249.93.0/24,72.14.207.0/24,72.14.209.0/24,84.96.67.0/24,213.91.9.0/24,80.118.99.0/24
#uamallowed shop.fon.co.kr,secure.nuguya.com,inilite.inicis.com,fon-en.custhelp.com,maps.fon.com,c20.statcounter.com
uamallowed www.fon.com,acceso.fon.com,en.fon.com,es.fon.com
uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com
uamserver https://login.fon.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/cp/index.php
y finalmente reiniciamos Chillispot.
Si ahora nos conectamos desde a la señal wifi de Fon y ponemos una web como http://www.google.com, Chillispot nos reenviará automáticamente al Portal de login de Fon.
El próximo paso: Actualización de la Fonera a DD-WRT.
6 comentarios:
Está interesante el tema, pero yo ya le metí dd-wrt :P.
Cuando se lo pongas ya te preguntaré si te va bien o que, que yo tengo algunos problemillas (será pq el firmware es beta).
En mi blog colgué como meterle dd-wrt por si quieres echarle un vistazo (drjrules.blogspot.com)
hola
me he perdido en la segunda imagen
como pongo: radconfig para podes modificarlo he puesto root@OpenWrt:~#radconfig
y me sale el signo > debajo
gracias
Hola,
radconfig es una función dentro del script de configuración de chillispot que se encuentra en /etc/init.d/N50chillispot.
Modifícalo ahí.
Suerte...
gracias Ivan ya he conseguido capar web y añardir otras.
saludos
Gracias por tu ayuda Ivan,Muy bueno el aporte
Hola,
@Anónimos: Me alegro de que os haya servido a los dos.
Saludos, Iván.
Publicar un comentario