venerdì 7 marzo 2014

Algoritmo di funzionamento della politica italiana

Da buon informatico, ho riassunto il funzionamento della politica italiana...

1. Il nuovo politico, 'candidato' di turno, promette A, B, C (meno tasse, piu' lavoro etc) 
2. Il candidato 'guadagna' consensi dai soliti polli (noi cittadini) 
3. Il candidato diventa primo ministro con o senza regolari elezioni (ormai è indifferente)
4. Il (ormai) primo ministro annuncia che manterrà i suoi impegni
5. D'un tratto esce una notizia che per colpa di qualcuno (l'europa, la germania, la crisi, un peto di un islandese etc) non si può mantenere la promessa di A , B, C 
5. Le tasse vengono aumentate, i diritti dei lavoratori cancellati, i salari abbassati...
6. Ovviamente, il primo ministro di turno perde consensi (quello solito.. dei soliti polli)
7. Il primo ministro  viene 'licenziato' dal re..
8. D'un tratto irrompe (sui media) un nuovo leader di un solito partito 
9. Torna al punto 1

lunedì 17 febbraio 2014

Configurazioni utili con DD WRT

Accendere e spegnere il wireless in base all'orario
In DD WRT, nei router con chip Athereos non c'è lo scheduler per accendere o spegnere il WiFi in 
automatico.

Ecco i comandi da impostare in Cron per accendere e spegnere il wireless.
In questo caso: acceso dalle 08:30 del mattino e spento alle 23:30 di ogni giorno.

30 23 * * * root /sbin/ifconfig ath0 down
30 8 * * * root /sbin/ifconfig ath0 up; startservice lan



Direzionare il traffico da un IP sorgente verso una VPN
Qui la spiegazione di come applicare delle policy in base alle quali instradare (routing) il traffico di un certo indirizzo IP (o blocco di indirizzi IP) verso una interfaccia diversa dalla default.
Obiettivo: configurare una VPN PPTP, quindi direzione il traffico proveniente solo da un ristretto numero di dispositivi verso la VPN, mentre per i restanti dispositivi, uscire normalmente verso Internet.
Finalità: utilizzare un unico dispositivo (router) evitando l'acquisto di un secondo router; permettere la sicurezza dello scambio di dati solo per un PC o device, mentre evitare tale pratica per gli altri (Wifi devices, altri pc).

Una volta configurata una connessione VPN PPTP, viene creata una nuova interfaccia (generalmente chiamata PPP0) che altri non è che il tunnel VPN PPTP. 

A questo punto, bisogna semplicemente dire al nostro router che tutto il traffico proveniente, ad esempio, dall'IP 192.168.1.10 deve transitare verso l'interfaccia ppp0 invece che verso l'eth0. Come ?

Ecco la mia domanda posta su ServerFault.

Giustamente, chi mi ha risposto, mi ha fatto notare che il routing di rete, non si preoccupa dell'indirizzo ip sorgente, ma si preoccupa solo dell'indirizzo ip di destinazione, ossia "non mi interessa chi sei, ti dico come raggiungere il tuo indirizzo di destinazione". 
Allora, mi ha suggerito questa soluzione: 


  1. Create a new default route on an alternative table ip route add table 55 default via 192.168.120.10 dev ppp0
  2. Mark traffic you want to route iptables -t mangle -I PREROUTING 1 -s 192.168.1.40 -j MARK --set-mark 55
  3. Create a rule so that traffic marked as 55 is routed via table 55 ip rule add fwmark 55 table 55
Prima di tutto però, è necessario cancellare la route di default verso 192.168.120.10 (il gateway pptp), ed inserire il gateway normale della mia Lan, coi comandi


  1. ip route del default via 192.168.120.10 dev ppp0
  2. ip route add default via 192.168.1.254 dev eth0


In pratica, mi suggerisce di (punto 1) creare una tabella di route alternativa (table 55) con impostato come gateway la mia interfaccia ppp0 (pptp vpn), quindi, (punto 2) con iptables (che è il firewall di ubuntu) di premarcare il traffico proveniente dall'indirizzo Ip di mia scelta (192.168.1.40), infine (punto 3) di stabilire una regola di routing, ossia, quando il traffico è marcato come 55 (è un numero scelto a caso), di applicare la tabella di routing 55. 

Per rendere tutto persistente, ho salvato tutti i punti sopra citati nella sezione Amministrazione -> Comandi -> Startup: 

echo "myip=$(ifconfig | grep -A 1 'ppp0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1") >> /tmp/firewallscript.sh


rm /tmp/firewallscript.sh
echo "ip=\$(ifconfig | grep -A 1 'ppp0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)" >> /tmp/firewallscript.sh
echo "ip route del default via \$ip dev ppp0;" >> /tmp/firewallscript.sh
echo "ip route add default via 192.168.1.254 dev eth0;" >> /tmp/firewallscript.sh
echo "ip route add table 55 default via \$ip  dev ppp0;" >> /tmp/firewallscript.sh
echo "iptables -t mangle -I PREROUTING 1 -s 192.168.1.40 -j MARK --set-mark 55;" >> /tmp/firewallscript.sh
echo "iptables -t mangle -I PREROUTING 1 -s 192.168.1.41 -j MARK --set-mark 55;" >> /tmp/firewallscript.sh
echo "iptables -t mangle -I PREROUTING 1 -s 192.168.1.42 -j MARK --set-mark 55;" >> /tmp/firewallscript.sh
echo "ip rule add fwmark 55 table 55;" >> /tmp/firewallscript.sh

Quindi, sempre in crontab ho aggiunto il lancio dello script schedulato ogni 5 minuti (lo so, non è bello farlo ripetere, ci vorrebbe un if che controlli se già non esista la regola..ma fa niente)

*/5 * * * * root sh /tmp/firewallscript.sh

Che dire... funziona bene!!
E finalmente ho imparato un pò di quel mondo che è il routing con Linux !

lunedì 3 giugno 2013

Tips

Bloccare il traffico su DD-WRT se non si è connessi in VPN:iptables -I FORWARD -i br0 -o vlan2 -j DROP



martedì 7 agosto 2012

Xperia Mini (Sk17i) vs Xperia X10 mini

Da un mesetto circa ho cambiato terminale Android, passando dal mio primo smartphone Xperia X10 Mini, ad un Xperia Mini Pro (versione successiva e profondamente modificata del più piccolo smartphone Android in commercio).
Le differenze tra i due sono abissali, soprattutto in termini di reattività ed il motivo è presto spiegato: l'X10 mini è dotato di un processore Qualcomm da 600 Mhz, mentre il Mini/Mini Pro ha un processore da 1 Ghz (oltre, alle migliorie in termini progettuali dei due processori utilizzati).

Questo, in termini di prestazioni, cambia completamente l'esperienza utente: i tempi d'attesa, che nell'x10 Mini erano ...lunghi, nel Mini/Mini Pro, sono assenti.

La versione del Mini Pro è Android ICS mentre l'X10 mini si fermava ad Android 2.3 (se modificato con Cyanogenmod)

Un altro aspetto da tenere in considerazione è lo schermo. Premettendo che in pochi apprezzano uno smarphone con schermo piccolo, al contrario di me, che non sopporto le tavolette di oggi (schermi da 4/5 pollici), il cambio di schermo dall'X10 mini al Mini/Mini Pro è notevole, passato da 2.55" per 240x320 pixel, a 3" per 320x480 pixel. Inoltre il Mini/Mini Pro usa la tecnologia BRAVIA di Sony: il risultato è uno schermo magnifico, nitido e visibile anche sotto la luce del sole.

Altro aspetto piacevolissimo, è la registrazione dei video in HD a 720p, che sull'X10 mini non era possibile a causa del processore, non abbastanza potente per il lavoro.
Parlando della tastierina presente, invece, benchè in rete, la gente l'apprezzi molto, io preferisco usare la tastiera virtuale, con il T9.

Le foto ed i video hanno qualità buona a mio giudizio, ma non sono un tecnico foto / video, quindi è un giudizio.. da prendere con le pinze!

Parlando dell'autonomia della batteria: precedentemente il mio X10 Mini non finiva la giornata. Era davvero scarsa. Questo nuovo Mini invece ha una durata almeno raddoppiata.

Capitolo applicazioni: con il Mini o Mini Pro, quelle da me provate funzionano tutte bene, ad esempio Whatsapp, Skype, Dropbox... etc.

Capitolo giochi: senza voto, perchè non li installo e non uso gli smartphone per giocare

Riporto due sole note negativa: la prima è il peso (120gr) e lo spessore, un po' eccessivo del nuovo Mini. Niente di davvero trascendentale: certo il peso dell'X10 mini è impareggiabile.
La seconda che mi infastidisce un po' di più è la scarsa maneggevolezza dei pulsanti del volume: nell'X10 mini erano molto comodi, mentre nel Mini sono poco in rilievo e quindi più difficili da premere.

In entrambi i modelli invece, la presa mini USB (che funge da caricatore del cellulare) è bloccata da uno scomodissimo gommino che io, fin dal primo giorno di vita dei miei due smartphone... ho segato con un bel paio di forbici!

Infine: sono riuscito a comprare questo cellulare da eBay, nuovo, da un venditore tedesco a soli 120,00 € rispetto al miglior prezzo italiano, cioè 160 € di Mediaworld, in Italia, vendendo il mio vecchio, come usato a 60 €... non male no ?

Per concludere, a me lo smartphone / cellulare piace piccolo: deve essere maneggevole, stando in tasca senza .. sentirlo. Allo stesso tempo, mi piace veloce e potente: devo poter registrare un video in HD, fare delle belle foto... navigare quando serve, o controllare la mail. Il Mini ha la forma perfetta (il peso un pò meno). Se in futuro Sony aggiornerà lo stesso tipo con i nuovi processori, nuovi sensori, nuovi Cmos da (magari) 12 megapixel e ottiche migliorate... il tutto nella stessa dimensione di smartphone... mi manterranno come cliente ;).

Riporto un'immaginetta presa in prestito, che mostra il cambio in dimensione dello schermo e del case dello smartphone.