3039
Commento:
|
5809
Script logging
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 26: | Linea 26: |
Linea 29: | Linea 30: |
Lo potete scaricare per il vostro target da qui: http://downloads.openwrt.org/backfire/10.03.1-rc4/brcm-2.4/packages/ | |
Linea 30: | Linea 32: |
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 |
Linea 33: | Linea 34: |
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]] |
Linea 35: | Linea 36: |
con il contenuto del pacchetto scaricabile da [[http://stefanopilla.it/Ninux/SplashPage/htdocs.zip|qui]] Una configurazione fondamentale è quella di cambiare nel file /etc/nodogsplash/nodogsplash.conf il paramentro GatewayInterfaces mettendo l'interfaccia collegata ad internet (di default su OpenWRT Kamikaze è la br-lan) quindi: |
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 40: | Linea 39: |
GatewayInterface br-lan | GatewayInterface ath0 |
Linea 42: | Linea 41: |
Linea 74: | Linea 72: |
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 }}} |
|
Linea 79: | Linea 93: |
== Accedere a Ninuxoo == Aprire /etc/config/dhcp e settare {{{ rebind_protection '0' }}} |
|
Linea 82: | Linea 102: |
== 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. |
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)
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...