jueves, 18 de julio de 2013

Configurar router edgemax lite con coovachilli hotspot

Pasos seguidos:

  1. Actualizar a la última versión de firmware
  2. Meter los repositorios de Debian
  3. Descargar hasrel
    1. Instalar  librería que tiene la dependencia de hasrel
  4. Descargar deb de coova-chilli 1.3.0 para mips
  5. Editar fichero de configuración de chilli
  6. Activar DNS cache en el router
  7. Activar NAT masquerading



1- En el siguiente enlace se puede descargar la última versión hasta el momento del firmware de ubiquiti
 
 Para actualizar el firmware, hay que acceder al router por ssh o desde el CLI.
 
$add system image fichero_de_imagen.tar
 
Mas info en este enlace:  actualizar firmware
 
2- Una vez actualizado el firmware, hay que meter los repositorios de Debian en el router
Se pueden seguir las instrucciones en el siguiente link: debian repos
 
Comandos a seguir:
 
configure
set system package repository squeeze components 'main contrib non-free'
set system package repository squeeze distribution squeeze
set system package repository squeeze url http://http.us.debian.org/debian

set system package repository squeeze-security components main
set system package repository squeeze-security distribution squeeze/updates
set system package repository squeeze-security url http://security.debian.org
commit
save
exit

para actualizar el arbol una vez metidos los repositorios:
sudo apt-get update
 
3- Antes de instalar coovachilli, este necesita una dependencia "hasrel", que se puede 
descargar de los repositorios de debian
aquí dejo un enlace  haserl_0.9.29-3_mips.deb
 
una vez descargado se instala con 
# dpkg -i haserl_0.9.29-3_mips.deb
 
este dará fallo.. ya que necesita la siguiente dependencia que se puede bajar directamente
del repositorio  "liblua5.1-0".
Con el siguiente comando se puede instalar la dependencia sin problema
 
#apt-get install liblua5.1-0 

4 - Decargar el paquete de coovachilli 
 foro
 
 coova-chilli_1.3.0_mips.deb
    


 coova-chilli_1.3.0_mips.deb
 
para instalarlo
#dpkg -i coova....
 
5- Edición del fichero /etc/chilli/default
 
HS_WANIF=eth1            # El eth1 esta por dhcp conectado a un router
HS_LANIF=eth2            # En eth2 conectarían los usuarios del portal cautivo 
HS_NETWORK=10.11.0.0       # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0   # HotSpot Network Netmask
HS_UAMLISTEN=10.11.0.1     # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990            # HotSpot UAM Port (on subscriber network)
HS_UAMUIPORT=4990          # HotSpot UAM "UI" Port (on subscriber network, for embedded portal)
HS_DNS1=10.11.0.1    # he puesto esta DNS para hacer la cache
HS_DNS2=8.8.8.8
HS_NASID=nas01
HS_RADIUS=97.14X.XXX.XX
HS_RADIUS2=97.14X.XXX.XX
HS_UAMALLOW=www.coova.org
HS_RADSECRET=8U8W2CPTvVcD    # esta es mi clave de radius
HS_UAMSECRET=change-me     # Set to be your UAM secret
HS_UAMALIASNAME=chilli
HS_UAMSERVER=$HS_UAMLISTEN
HS_UAMFORMAT=http://\$HS_UAMLISTEN:\$HS_UAMUIPORT/www/login.chi
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
HS_MODE=hotspot
HS_TYPE=chillispot
HS_WWWDIR=/etc/chilli/www
HS_WWWBIN=/etc/chilli/wwwsh
HS_PROVIDER=Coova
HS_PROVIDER_LINK=http://www.coova.org/
HS_LOC_NAME="My HotSpot"           # WISPr Location Name and used in por
 
también hay que editar /etc/default/chilli para poner  start_chilli=1
  
root@ubnt:/home/ubnt# cat /etc/default/chilli 
START_CHILLI=1
CONFFILE="/etc/chilli.conf"
HS_USER="chilli"

6- Hacer que el rotuer tenga cache dns
he puesto que escucha en el eth2 para que los clientes de coovachilli sean los que tengan
acceso al cache de dns 
 
 
 
7- Activar masquerading NAT
 
 
 
 
Buenos pues con todo esto, ya debería ser una guía suficiente para empezar a probar 
el edgeos router con coovachilli 
 
 
 
8- Editar wwwsh, por algun motivo no funciona bien el fichero que viene por defecto

#!/bin/sh
# (c) 2007 David Bird; Released under GPL.
# This simple script dispatches the <file>.chi embedded CGI scripts.
# If <file>.chi exists, and we have haserl, then we run "haserl file.chi"
# Otherwise, we look for <file>.chi.sh files to run as shell scripts.

file=$(basename $1)
dir=$(dirname $1)
haserl=$(which haserl 2>/dev/null)
cd $dir

# should be make a bit safer!

if [ -z "$haserl" ]; then
    if [ -e "$file.sh" ]; then
        sh $file.sh
    else
        echo "<p>You need to install haserl to serve pages with this wwwsh script!</p>"
        echo "<p>see <a href='http://haserl.sourceforge.net/'>http://haserl.sourceforge.net/</a></p>"
    fi
    exit
fi

    $haserl $file