// Stai leggendo ...

L'angolo dello Smanettone

[Howto] Hotspot in regola con la Pisanu (parte 4): monitoraggio remoto e swap file

image_previewSiamo 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.

Commenti

commenti


I commenti all'articolo

5 commenti for “[Howto] Hotspot in regola con la Pisanu (parte 4): monitoraggio remoto e swap file”

  1. [...] 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 |
  2. [...] 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 |
  3. 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 |

Lascia un commento

Devi essere autenticato per lasciare un commento.