Siamo giunti all’ultima “puntata” del nostro piccolo progetto relativo alla creazione e messa in opera di un hotspot (o access point) completamente rispondente all’attuale situazione legislativa italiana. Vediamo come monitorarne l’attività da remoto e gestirne l’unità esterna.
Dopo aver correttamente autenticato i nostri utenti, averne tracciato e limitato il traffico (niente p2p) e sincronizzato l’attività del router/access point con un server remoto e arrivato il momento di installare e configurare una piccola utilità di monitoraggio capace di toglierci, all’occorrenza, le “castagne dal fuoco”.
MONIT: UN CUSTODE AL VOSTRO SERVIZIO
Parlo di MONIT, un interessantissimo progetto dalle molte potenzialità, che si prenderà cura di controllare il vostro sistema ed eventualmente riavviare quei servizi che accidentalmente dovessero “crashare” o comunque non più rispondere; il tutto avvisandovi via email e mettendovi a disposizione una comoda interfaccia web di controllo direttamente accessibile da browser!!
MONIT abbina queste incredibili funzioni ad una leggerezza invidiabile ed a una semplicità di configurazione che vi permetterà di essere, cosi come recita il sito del progetto, “up and running in 15 minutes”.
E’ infatti sufficiente andare ad interagire con un singolo file di configurazione:
vi /etc/monitrc
in cui andremo ad inserire (eventualmente modificando le singole voci secondo le vostre esigenze):
set daemon 300 # intervallo controllo servizi = 300 secondi set logfile /mnt/log/monit.log # destinazione file di log, se avete effettuato la modifica hardware per l'aggiunta di una unità esterna o disponete di presa usb set mailserver smtp.gmail.com port 587 # mail cui inviare le notifiche. Io utilizzo GMAIL username "username@gmail.com" password "passwordmail" using tlsv1 with timeout 30 seconds set alert username@gmail.com # indirizzo a cui inviare tutte le notifiche set httpd port 2812 and # attiva web server sulla porta 2812 allow admin:password # proteggi accesso server http con user e pass #######Seguono i servizi da controllare e le azioni da intraprendere in caso di interruzione o sovrautilizzazione check process radiusd with pidfile /var/run/radiusd.pid start program = "/etc/init.d/radiusd start" stop program = "/etc/init.d/radiusd stop" check process dropbear with pidfile /var/run/dropbear.pid start program = "/etc/init.d/dropbear start" stop program = "/etc/init.d/dropbear stop" if failed port 22 protocol ssh then restart check process dbclient with pidfile /var/run/dbclient.pid start program = "/etc/init.d/ssh_tunnel start" stop program = "/etc/init.d/ssh_tunnel stop" check process ulogd with pidfile /var/run/ulogd.pid start program = "/etc/init.d/ulogd start" stop program = "/etc/init.d/ulogd stop" check system 127.0.0.1 if memory usage > 75% then alert if cpu usage (user) > 70% then alert if cpu usage (system) > 40% then alert if cpu usage (wait) > 20% then alert check device mmc-esterna with path /dev/mmc/disc0/part1 start program = "/etc/init.d/mmc restart" stop program = "/etc/init.d/mmc stop" if space usage > 80% then alert
Qualora si rendesse necessario adattare la configurazione alle vostre necessità potete tranquillamente fare riferimento al file monitrc: è veramente ben commentato !
Come potete vedere monitoreremo il corretto funzionamento del server radius, del tunneling ssh verso il nostro server remoto e del demone ULOG preposto al logging del traffico.
A tal fine dovrete andare a modificare il file di inizializzazione come segue:
vi /etc/init.d/ulogd
in cui inserirete:
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=60
STOP=60
BIN=ulogd
DEFAULT=/etc/default/$BIN
LOG_D=/var/log
PID_F=/var/run/$BIN.pid
start() {
[ -f $DEFAULT ] && . $DEFAULT
$BIN $OPTIONS
sleep 5
pgrep -f -n $BIN > $PID_F
}
stop() {
#killall $BIN
[ -f $PID_F ] && kill $(cat $PID_F)
}
reload() {
stop
start
}
E’ inoltre necessario accertarsi, onde non ricevere “falsi positivi”, che in
/etc/rc.d
MONIT sia l’ultimo servizio ad avviarsi.
Per comodità vi copio le priorità presente nella mia cartella:
S02nvram -> ../init.d/nvram S05netconfig -> ../init.d/netconfig S10boot -> ../init.d/boot S15mmc -> ../init.d/mmc S20fstab -> ../init.d/fstab S40network -> ../init.d/network S45firewall -> ../init.d/firewall S50cron -> ../init.d/cron S50dropbear -> ../init.d/dropbear S50radiusd -> ../init.d/radiusd S50telnet -> ../init.d/telnet S55ssh_tunnel -> ../init.d/ssh_tunnel S60dnsmasq -> ../init.d/dnsmasq S60led -> ../init.d/led S60ulogd -> ../init.d/ulogd S70monit -> ../init.d/monit S95done -> ../init.d/done S97watchdog -> ../init.d/watchdog S99sysctl -> ../init.d/sysctl
Qualora dobbiate modificare qualcuna di queste voci è sufficiente andare a cambiare il valore START rinvenibile all’inizio del corrispondente file in
/etc/init.d
SWAPFILE: UN AIUTO CONCRETO
Vista la mole del carico che farete gravare sul vostro router è auspicabile andiate a creare uno swapfile.
A tal fine, dopo aver modificato l’hardware come indicato in precedenza (beninteso che questa non si rende necessaria qualora il vostro router disponga di presa usb), dovrete semplicemente caricare la partizione all’avvio del sistema (assicurandovi in precedenza di averla formattata come FAT32, FAT16 o EXT3):
vi /etc/init.d/mmc
in cui inserirete:
#!/bin/sh /etc/rc.common
# MMC Script
START=15
STOP=99
start()
{
echo "0x9c" > /proc/diag/gpiomask
insmod mmc
mount /dev/mmc/disc0/part1 /mnt
}
stop()
{
sync
umount /dev/mmc/disc0/part1
rmmod mmc
echo "0x0000" > /proc/diag/gpiomask
}
restart()
{
stop
start
}
Il presente script da per “scontato” che voi utilizziate un Linksys WRT54GL (gpio2 compatibile) ed abbiate già scaricato il relativo driver (fate riferimento alla guida suindicata per maggiori informazioni o per adattarlo all’hardware in vostro possesso).
Creiamo uno swapfile:
dd if=/dev/zero of=/mnt/swapfile bs=1024k count=256 mkswap /mnt/swapfile
Ed attiviamolo all’avvio del sistema:
vi /etc/config/fstab
in cui modificheremo come segue le linee inerenti la partizione di swap:
config swap option device /mnt/swapfile option enabled 1
Il nostro hotspot è ora pronto ad entrare in funzione, il mio prossimo progetto su questo filone sarà inerente l’utilizzo di una Fonera in abbinamento a Chillispot e a Gnokii per l’autenticazione a mezzo sms.






[...] PARTE 2: Le configurazione di rete ed il radius server PARTE 3: Logging del traffico, backup e blocco del p2p PARTE 4: Il monitoraggio remoto e l’unità disco esterna [...]
Commentato da Howto: Hotspot Wifi basato su Openwrt in regola con la Pisanu | Libera il VoIP | | agosto 28, 2009, 00:22 |[...] PARTE 2: Le configurazione di rete ed il radius server PARTE 3: Logging del traffico, backup e blocco del p2p PARTE 4: Il monitoraggio remoto e l’unità disco esterna [...]
Commentato da lejubila's blog » Howto: Hotspot Wifi basato su Openwrt in regola con la Pisanu | settembre 20, 2009, 00:57 |[...] Leggi l’articolo originale [...]
Commentato da lejubila's blog » [Howto] Hotspot in regola con la Pisanu (parte 4): monitoraggio remoto e swap file | ottobre 1, 2009, 14:03 |Mitico tutorial.
Sarà alla base della mia formazione in “HOW TO Create an hot spot” che rispetti le leggi in italia.
Sai qualcosa sulle legislazioni negli altri paesi?
Commentato da Michele Scarlato | maggio 2, 2010, 19:02 |Ti ringrazio per i complimenti e l’apprezzamento.
Non conosco quali possano essere i vincoli posti dagli altri paesi, la data retention purtroppo per noi la stanno prevedendo un pò dappertutto a vedere i tg
Commentato da skumpic | maggio 3, 2010, 00:54 |