Italiano English
Modifica History Actions

Differenze per "SplashPage"

Differenze tra le versioni 1 e 14 (in 13 versioni)
Versione 1 del 2011-01-07 01:16:51
Dimensione: 2438
Autore: stefanopilla
Commento:
Versione 14 del 2012-09-11 09:21:55
Dimensione: 5809
Commento: Script logging
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 11: Linea 11:
In realtà il messaggio che si vuole far passare è che non si è lasciata la Wireless aperta perchè ci si è dimenticati di mettere la "passuord" ma che tutto ciò è voluto e che fa parte del progetto Ninux.org In realtà il messaggio che si vuole far passare è che non si è lasciata la Wireless aperta perchè ci si è dimenticati di mettere la password ma che tutto ciò è voluto e che fa parte del progetto Ninux.org
Linea 14: Linea 14:
Un AccessPoint con Openwrt (Kamikaze 8.09) Un AccessPoint con Openwrt (Backfire 10.03.1 RC4)
Linea 25: Linea 25:
Ci sono un po di problemi del package NoDogSplash con OpenWRT Kamikaze 8.09:

1) Le dipendenze del pacchetto principale sono incomplete quindi bisogna installarle manualmente.

2) Lo script di avvio non viene installato se si installa NoDogSplash tramite
Nei vecchi package di NoDogSplash di OpenWRT ci stava qualche bug, quindi siate sicuri che il vostro opkg scarica il pacchetto più recente che è questo:
Linea 32: Linea 28:
opkg install nodogsplash nodogsplash_0.9_beta9.9.6-1_brcm-2.4.ipk
Linea 34: Linea 30:
Per risolvere il primo problema operiamo nel seguente modo: Lo potete scaricare per il vostro target da qui: http://downloads.openwrt.org/backfire/10.03.1-rc4/brcm-2.4/packages/
Linea 36: Linea 32:
- Entriamo in SSH sul dispositivo e installiamo i package necessari con i seguenti comandi: a questo punto basta sostituire il contenuto in /etc/nodogsplash/htdocs

con il contenuto del pacchetto scaricabile da [[http://svn.ninux.org/svn/ninuxdeveloping/splashpage/htdocs.tar.gz|qui]]

Una configurazione fondamentale è quella di cambiare nel file /etc/nodogsplash/nodogsplash.conf il paramentro GatewayInterfaces mettendo l'interfaccia dove si collegheranno gli utenti e visualizzeranno la splash page. Quindi:
Linea 39: Linea 39:
opkg install ip GatewayInterface ath0
Linea 41: Linea 41:
{{{
opkg install iptables-mod-extra
}}}
{{{
opkg install iptables-mod-imq
}}}
{{{
opkg install iptables-mod-ipopt
}}}
{{{
opkg install kmod-ipt-extra
}}}
{{{
opkg install kmod-sched
}}}
{{{
opkg install tc
}}}
Per il secondo problema bisogna installare NoDogSplash dal sito ufficiale con il seguente comando:
Per rendere l'avvio persistente dopo il reboot usare lo script di init.d:
Linea 62: Linea 44:
opkg install http://kokoro.ucsd.edu/nodogsplash/latest.ipk /etc/init.d/nodogsplash enable
Linea 64: Linea 46:
a questo punto basta sostituire il contenuto in /etc/nodogsplash/htdocs

con il contenuto del pacchetto (package da creare)

Avviare poi lo script con
In entrambi i casi, che si segua la procedura standard o l'alternativa, è possibile avviare [[NodogSplah|NodogSplash]] con
Linea 71: Linea 49:
/etc/init.d/nodogspalsh start /etc/init.d/nodogsplash start
Linea 76: Linea 54:
/etc/init.d/nodogspalsh start /etc/init.d/nodogsplash stop
Linea 78: Linea 56:
{{{
}}}
== Download/Upload Limits e Security ==
E' possibile modificare alcuni parametri del file /etc/nodogsplash/nodogsplash.conf per limitare la banda da dedicare agli utenti che si collegano all'hotspot.

Per utilizzare questa feature modificare i valori

{{{
TrafficControl yes
}}}
{{{
DownloadLimit 384
}}}
{{{
UploadLimit 64
}}}

Utilizzando backfire 10.03.1rc5 è necessario decommentare le ultime 3 righe del file /etc/init.d/nodogsplash per abilitare il controllo della banda.
{{{
# if not using traffic control,
# you can comment out the following 3 lines:
do_module_tests "imq" "numdevs=2"
do_module_tests "ipt_IMQ"
do_module_tests "sch_htb"
}}}
E' necessario inoltre installare i seguenti pachetti
{{{
opkg install iptables-mod-imq
opkg install kmod-ipt-imq
opkg install kmod-sched
}}}

Se non si vuole che gli utenti collegati all'HotSpot possano "vedere" la propria subnet è sufficiente decommentare e inserire la propria rete sulla riga

{{{
FirewallRule block to 192.168.1.0/24
}}}
== Accedere a Ninuxoo ==
Aprire /etc/config/dhcp e settare
{{{
  rebind_protection '0'
}}}
Linea 79: Linea 100:
Si è quindi ottenuta una pagina che viene visualizzata non appena un client prova a collegarsi ad internet attraverso l'HotSpot. Per navigare è necessario cliccare sul logo Ninux oppure sul pulsate continua. Si è quindi ottenuta una pagina che viene visualizzata non appena un client prova a collegarsi ad internet attraverso l'HotSpot. Per navigare è necessario cliccare sul segno di spunta in basso alla pagina.

== Piccolo script di logging e LED ==
=== BOZZA ===
Con questo script è possibile loggare gli accessi al nostro hotspot e avere qualche info in più.
Creiamo un file in /root/blinkled.sh
{{{
#!/bin/sh
NOW=$(date +"%Y/%m/%d %H:%M.%S")
LOGFILE=/root/logs/$(date +"%Y%m%d").log
NDS=`/usr/bin/ndsctl status | grep "Current" | awk '{print $3}'`
DWN=`/usr/bin/ndsctl status | grep "Total download" | awk '{print $3}'`
UPL=`/usr/bin/ndsctl status | grep "Total upload" | awk '{print $3}'`

if [ $NDS -eq 0 ]
then
   echo "empty"
   echo 0 > /sys/class/leds/ubnt\:orange\:dome/brightness
   echo 0 > /sys/class/leds/ubnt\:green\:dome/brightness
   echo 1 > /sys/class/leds/ubnt\:green\:dome/brightness
else
   if [ $NDS -eq 1 ]
   then
       echo "single client"
       echo 0 > /sys/class/leds/ubnt\:green\:dome/brightness
       echo 0 > /sys/class/leds/ubnt\:orange\:dome/brightness
       echo 1 > /sys/class/leds/ubnt\:orange\:dome/brightness
   else
       echo "multi"
       echo timer > /sys/class/leds/ubnt\:orange\:dome/trigger
       echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_on
       echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_off
   fi
   echo $NOW\|$NDS\|$DWN\|$UPL >> $LOGFILE
fi
#echo $NOW\|$NDS >> $LOGFILE

NDSLINE=`/usr/bin/ndsctl status | wc -l`
if [ $NDSLINE -gt 25 ]
then
 i=1
 MAClist="19 30 41 52 63 74"
 for MACpos in $MAClist
 do
   MAC=`/usr/bin/ndsctl status | head -n$MACpos | tail -1 | awk {'print $4'}`
   ADD=`/usr/bin/ndsctl status | head -n$(($MACpos + 1)) | tail -1 | sed "s/Added: //g"`
   DWN=`/usr/bin/ndsctl status | head -n$(($MACpos + 7)) | tail -1 | awk '{print $2}'`
   UPL=`/usr/bin/ndsctl status | head -n$(($MACpos + 8)) | tail -1 | awk '{print $2}'`
   MACLOG=/root/logs/$($MAC | sed "s/://g").log
   echo $NOW\|$ADD\|$DWN\|$UPL >> $MACLOG
 done
fi
}}}

lo script andrà reso eseguibile e creata la cartella logs
{{{
chmod +x /root/blinkled.sh
mkdir /root/logs
}}}

è possibile schedulare l'esecuzione dello script ogni 5 minuti con CRON per avere a colpo d'occhio lo stato dei client collegati semplicemente guardando il LED posto sul device.



== TO DO ==
Script autoconfigurante per Ninux...

Splash Page

Ultimamente sono nati degli HotSpot che permettono di entrare nella rete Ninux.org semplicemente collegandosi a questi apparati.

Questa necessità è nata anche dal fatto che alcune zone non sono ancora "linkate".

Vediamo quindi come tirare su un HotSpot con pagina di accesso Ninux.

Introduzione

L'idea di base è quella di avere un HotSpot aperto che al primo accesso porti ad una pagina di benvenuto in cui si presenta il progetto Ninux e come contribuire.

In realtà il messaggio che si vuole far passare è che non si è lasciata la Wireless aperta perchè ci si è dimenticati di mettere la password ma che tutto ciò è voluto e che fa parte del progetto Ninux.org

Di cosa abbiamo bisogno

Un AccessPoint con Openwrt (Backfire 10.03.1 RC4)

NodogSplash

Iptables

Installazione

Questa guida presuppone abbiate già configurato il vostro access point per la navigazione in internet.

Consideriamo un access point che raggiunge la rete Ninux sulla sua interfaccia "br-lan" con indirizzo 192.168.100.1/24

Nei vecchi package di NoDogSplash di OpenWRT ci stava qualche bug, quindi siate sicuri che il vostro opkg scarica il pacchetto più recente che è questo:

nodogsplash_0.9_beta9.9.6-1_brcm-2.4.ipk

Lo potete scaricare per il vostro target da qui: http://downloads.openwrt.org/backfire/10.03.1-rc4/brcm-2.4/packages/

a questo punto basta sostituire il contenuto in /etc/nodogsplash/htdocs

con il contenuto del pacchetto scaricabile da qui

Una configurazione fondamentale è quella di cambiare nel file /etc/nodogsplash/nodogsplash.conf il paramentro GatewayInterfaces mettendo l'interfaccia dove si collegheranno gli utenti e visualizzeranno la splash page. Quindi:

GatewayInterface ath0

Per rendere l'avvio persistente dopo il reboot usare lo script di init.d:

/etc/init.d/nodogsplash enable

In entrambi i casi, che si segua la procedura standard o l'alternativa, è possibile avviare NodogSplash con

/etc/init.d/nodogsplash start

Per fermarlo

/etc/init.d/nodogsplash stop

Download/Upload Limits e Security

E' possibile modificare alcuni parametri del file /etc/nodogsplash/nodogsplash.conf per limitare la banda da dedicare agli utenti che si collegano all'hotspot.

Per utilizzare questa feature modificare i valori

TrafficControl yes

DownloadLimit 384

UploadLimit  64

Utilizzando backfire 10.03.1rc5 è necessario decommentare le ultime 3 righe del file /etc/init.d/nodogsplash per abilitare il controllo della banda.

# if not using traffic control,
# you can comment out the following 3 lines:
do_module_tests "imq" "numdevs=2"
do_module_tests "ipt_IMQ"
do_module_tests "sch_htb"

E' necessario inoltre installare i seguenti pachetti

opkg install iptables-mod-imq
opkg install kmod-ipt-imq
opkg install kmod-sched

Se non si vuole che gli utenti collegati all'HotSpot possano "vedere" la propria subnet è sufficiente decommentare e inserire la propria rete sulla riga

FirewallRule block to 192.168.1.0/24

Accedere a Ninuxoo

Aprire /etc/config/dhcp e settare

  rebind_protection '0' 

Conclusione

Si è quindi ottenuta una pagina che viene visualizzata non appena un client prova a collegarsi ad internet attraverso l'HotSpot. Per navigare è necessario cliccare sul segno di spunta in basso alla pagina.

Piccolo script di logging e LED

BOZZA

Con questo script è possibile loggare gli accessi al nostro hotspot e avere qualche info in più. Creiamo un file in /root/blinkled.sh

NOW=$(date +"%Y/%m/%d %H:%M.%S")
LOGFILE=/root/logs/$(date +"%Y%m%d").log
NDS=`/usr/bin/ndsctl status | grep "Current" | awk '{print $3}'`
DWN=`/usr/bin/ndsctl status | grep "Total download" | awk '{print $3}'`
UPL=`/usr/bin/ndsctl status | grep "Total upload" | awk '{print $3}'`

if [ $NDS -eq 0 ]
then
   echo "empty"
   echo 0 > /sys/class/leds/ubnt\:orange\:dome/brightness
   echo 0 > /sys/class/leds/ubnt\:green\:dome/brightness
   echo 1 > /sys/class/leds/ubnt\:green\:dome/brightness
else
   if [ $NDS -eq 1 ]
   then
       echo "single client"
       echo 0 > /sys/class/leds/ubnt\:green\:dome/brightness
       echo 0 > /sys/class/leds/ubnt\:orange\:dome/brightness
       echo 1 > /sys/class/leds/ubnt\:orange\:dome/brightness
   else
       echo "multi"
       echo timer > /sys/class/leds/ubnt\:orange\:dome/trigger
       echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_on
       echo 1000 > /sys/class/leds/ubnt\:orange\:dome/delay_off
   fi
   echo $NOW\|$NDS\|$DWN\|$UPL >> $LOGFILE
fi
#echo $NOW\|$NDS >> $LOGFILE

NDSLINE=`/usr/bin/ndsctl status | wc -l`
if [ $NDSLINE -gt 25 ]
then
        i=1
        MAClist="19 30 41 52 63 74"
        for MACpos in $MAClist
        do
          MAC=`/usr/bin/ndsctl status | head -n$MACpos | tail -1 | awk {'print $4'}`
          ADD=`/usr/bin/ndsctl status | head -n$(($MACpos + 1)) | tail -1 | sed "s/Added:   //g"`
          DWN=`/usr/bin/ndsctl status | head -n$(($MACpos + 7)) | tail -1 | awk '{print $2}'`
          UPL=`/usr/bin/ndsctl status | head -n$(($MACpos + 8)) | tail -1 | awk '{print $2}'`
          MACLOG=/root/logs/$($MAC | sed "s/://g").log
          echo $NOW\|$ADD\|$DWN\|$UPL >> $MACLOG
        done    
fi

lo script andrà reso eseguibile e creata la cartella logs

chmod +x /root/blinkled.sh
mkdir /root/logs

è possibile schedulare l'esecuzione dello script ogni 5 minuti con CRON per avere a colpo d'occhio lo stato dei client collegati semplicemente guardando il LED posto sul device.

TO DO

Script autoconfigurante per Ninux...