Set 242013
 

pfSense

Qualche giorno fa la versione 2.1 di pfSense è uscita dalla fase di “release-candidate” ed è stata finalmente rilasciata.

Al momento credo si tratti di una delle pochissime firewall-appliance  a supportare pienamente IPV6 e rilasciata con licenza open-source.

In un precedente articolo avevo esplorato alcune delle caratteristiche di questo prodotto. Continue reading »

Apr 042013
 

pfSense

Vista la mia innata predilezione per l’open source, una tra le mie appliances preferite negli ultimi anni è stata ENDIAN.

Si tratta di un buon progetto italiano che riunisce in un’ambiente LINUX i “soliti noti” nel campo della sicurezza e del networking  (SNORT, iptables, SQUID, Dansguardian, ClamAV…) dando la possibilità di controllare tutto per mezzo di un’accattivante interfaccia web. E’ molto facile da configurare, anche se alcune funzionalità vengono sacrificate proprio per aumentarne la facilità di configurazione.

E disponibile una versione “community” con pochissime limitazioni e scaricabile gratuitamente.

Purtroppo il team ENDIAN ha deciso di effettuare quello che secondo la mia modestissima opinione è un vero suicidio tecnologico/commerciale mancando di supportare IPV6.

Infatti al momento non viene rilasciata alcuna notizia ufficiale circa una futura implementazione del nuovo protocollo. Qualche “voce”  indica come possibile l’adozione di IPV6 con il rilascio della versione 3.0. (tra diversi anni, con l’attuale ciclo di release….). Ogni richiesta in merito sui vari forum viene sistematicamente ignorata.

Immagino siano pochi gli amministratori di sistema che dovendo scegliere oggi un nuovo firewall optino per una soluzione priva di IPV6.

Io ho iniziato a cercarne uno che almeno nella roadmap abbia un’implementazione totale di tutti i servizi con il nuovo protocollo.

Mi sono imbattuto in pfSense una soluzione open source basata su FreeBSD.

Siamo alla versione 2.01, ma è già disponibile uno snapshot beta 2.1 con un pieno supporto IPV6.

Tra le caratteristiche a mio avviso più interessanti: Continue reading »

Set 262012
 

sudo apt get install gogoc

sudo service gogoc start

Se tutto è andato bene potrete pingare (ping6 ovviamente) l’host IPV6.GOOGLE.COM ed ottenere un risultato analogo a questo:

fabri@PC111ubuntu:~# ping6 ipv6.google.com

PING ipv6.google.com(2a00:1450:400c:c05::63) 56 data bytes

64 bytes from 2a00:1450:400c:c05::63: icmp_seq=1 ttl=54 time=92.0 ms

64 bytes from 2a00:1450:400c:c05::63: icmp_seq=2 ttl=54 time=90.7 ms

64 bytes from 2a00:1450:400c:c05::63: icmp_seq=3 ttl=54 time=91.1 ms

64 bytes from 2a00:1450:400c:c05::63: icmp_seq=4 ttl=54 time=91.3 ms

64 bytes from 2a00:1450:400c:c05::63: icmp_seq=5 ttl=54 time=91.1 ms

64 bytes from 2a00:1450:400c:c05::63: icmp_seq=6 ttl=54 time=90.6 ms

^C

— ipv6.google.com ping statistics —

6 packets transmitted, 6 received, 0% packet loss, time 5005ms

rtt min/avg/max/mdev = 90.607/91.172/92.045/0.577 ms

I comandi di cui sopra attivano un tunnel TSP con un indirizzo IPV6 dinamico accedendo in modalità non autenticata a freenet6.

Per riferimento al TSP ed eventuali configurazioni aggiuntive consiglio un mio veccio articolo del 2009 che trovate qui: http://blog.vettore.org/?p=411 .

Se siete utenti fastweb vi consiglio di editare /etc/gogoc/gogoc.conf e sostituire la seguente riga:

server=anonymous.freenet6.net

con

server=tsp.ipv6.fastweb.it

Le prestazioni migliorano notevolmente 🙂

ATTENZIONE! l’IPV6 che ottenete è pubblico e raggiungibile da internet ed il normale firewall (iptables)   non filtra i pacchetti V6.  Questa situazione può essere molto rischiosa se il vostro sistema non è correttamente configurato e aggiornato.

Set 252012
 

Prosegue su SIAMOGEEK l’interessante serie di articoli su IPV6.

Luigi descrive una soluzione basata su una linux box CentOS.

Diversamente da quella da me proposta nel precedente articolo, non richiede un hardware specifico, ma può essere implementata con qualsiasi PC di recupero o, in ambienti virtualizzati, con una VM molto leggera.

Vi consiglio la lettura dell’articolo.

Lo trovate qui: http://siamogeek.com/2012/09/tunneling-ipv6-linux-centos/

Set 232012
 

[ vista la rilevanza dell’argomento trattato ho pubblicato questo articolo anche su SIAMOGEEK che ha un audience decisamente più vasta]

(Disclaimer: seguite questo tutorial a vostro rischio e pericolo. Potreste incorrere in danni hardware (brick del dispositivo) intrusioni di hacker nel vostro sistema, o sviluppare dipendenza difficilmete curabile da IPV6. In nessun caso l’autore potrà essere ritenuto responsabile)

Nel nostro paese è molto difficile ottenere una connessione con IPV6 nativo per la casa o l’ufficio.

La soluzione di seguito proposta consentirà di portare IPV6 sulla vostra LAN in maniera trasparente.

Il dispositivo che consente di ottenere questo risultato è un router un po’ particolare, ma facilissimo da procurare. Probabilmente se siete informatici per professione o diletto lo avete già nella cassetta del materiale di scarto :-).

Nel mio caso ne ho reperiti un paio, ma la mia scelta è caduta sul più potente router/access point Dlink DIR-600.

Dlink DIR-600

Continue reading »

Dic 212010
 

..in anticipo di un anno sui maya, internet come la conosciamo  potrebbe collassare a causa dell’annunciata fine degli indirizzi IP disponibili.

Come si può vedere in vari countdown (p. es http://ipv6.he.net/statistics/) mancherebbero meno di due mesi al nefasto evento.

Sarà vero?

In realtà lavoro con internet da 15 anni e già ai tempi annunciavano la fine dello spazio di indirizzamento entro i successivi 5 anni.

Lo stesso contatore di HE circa 2 anni fa ne annunciava l’esaurimento entro 300 giorni….

Questo fa pensare che il tempo mancante  sia una specie di funzione asintotica!

Scherzi a parte, gli indirizzi stanno effettivamente finendo anche se probabilmente ci vorranno più di 2 mesi.

Cosa cambia?

Inizialmente nulla.

Tutti i provider ne hanno una scorta più che abbondante, ma diventerà più difficile per nuovi operatori farsi assegnare delle sottoreti nuove.

E col mondo IPV6?

Il nuovo standard dovrebbe garantire uno spazio di indirizzamento talmente vasto da poter fornire un indirizzo IP ad ogni atomo presente nell’universo  e quindi risolvere definitivamente il problema.

Peccato che ancora quasi nessuno lo usi.

Non più tardi di un anno fa ho litigato nientepopodimeno che con la nostra registration authority perchè il check automatico del nameserver necessario alla registrazione di un dominio nel TLD .IT falliva a causa del fatto che uno dei miei DNS era configurato anche per gestire domini V6.

I provider che offrono connettivita IPV6 nativa sono ancora pochissimi.

Molti dei prodotti software più diffusi non supportano appieno gli indirizzi “lunghi” (si anche Thunderbird ha problemi, anche se con i nomi funziona…).

Quelli che come me vogliono iniziare a sperimentare la “nuova” tecnologia sono obbligati ad usare un tunnelbroker o altre diavolerie simili.

Insomma, sembra che il nuovo standard si stia avviando molto lentamente.

Forse gli annunci mediatici che seguiranno l’esaurimento del mondo V4 daranno la scossa necessaria per avviare (con calma…non c’è una reale fretta!) la transizione?

Io ho fatto un bel po’ di sperimentazione ed effettivamente il V6 funziona ed offre notevoli vantaggi.

Per chi non lo avesse già fatto e volesse approfondire e mettere alla prova le sue conoscenze tecniche sull’argomento, consiglio la certificazione IPV6 online di Hurricane Electric ( http://ipv6.he.net/certification/).

Copre vari step dal più semplice (strumenti come ping6) al più complicato (configurazione DNS glue per domini V6) in maniera ordinata e completa.

Se riuscitrete ad ottenere la certificazione di livello “sage” sarete sicuramente in grado di configurare i vostri spazi di nomi e le vostre reti  per gestire anche IPV6.

Per il momento non serve quasi a nulla, ma prima o poi…..

Set 112009
 

Sulle riviste del settore l’argomento IPV6 è sempre più popolare.

Anche se sono state disatettese le più catastrofiche stime che, a partire dalla fine degli anni ’80, davano come prossimo l’esaurimento degli indirizzi IP liberi con il sistema attuale (V4),  è anche vero che con il ritmo attuale delle assegnazioni i netblock liberi si esauriranno entro 3 anni.

Pertanto è verosimile prevedere che l’interesse della comunità informatica per il nuovo spazio V6 crescerà molto nei prossimi mesi.

Poco tempo fa, spinto più da curiosità personale, che da reale necessità lavorativa, ho incominciato a sperimentare questo mondo nuovo.

Ho scoperto due cose interessanti:

1) il nuovo spazio di indirizzi è già attivo e frequentato

2) Non è così difficile accedervi.

Per chi si avvicina per la prima volta a questo mondo, essendo ancora molto difficile ottenere una connessione nativa IPV6 nel nostro paese, l’accesso alla rete  è possibile in diversi modi.

Il più semplice è quello di utilizzare un “tunnel broker” che, sfruttando come veicolo di trasporto il normale protocollo V4, consente di collegare il vostro computer (o la vostra rete) ad un provider IPV6 attraverso un tunnel.

Il vostro computer manterrà anche la normale connettività V4 lavorando in una modalità definita “dual stack”.

I pacchetti V6 usciranno dal tunnel, mentre gli altri continueranno a fluire attraverso il vostro gateway predefinito. Nel caso l’host da raggiungere abbia contemporaneamente un indirizzo V4 e V6 lo stack V6 prende il sopravvento.

Ci si aspetta che, quando la connettività V6 prenderà piede, i computer connessi ad internet manterranno la modalità dual stack per essere in grado di raggiungere i “vecchi” indirizzi.

I tempi per un totale abbandono del V4 su internet non sono al momento prevedibili. Alcune stime parlano di 15/20 anni…quindi non sarà una transizione improvvisa ed avremo tutto il tempo di prepararci.

I sistemi utilizzati dai tunnel broker sono diversi. Io consiglio di sperimentare uno dei seguenti:

  • Protocollo TSP autenticato, utile soprattutto se si dispone di un IP dinamico o connessione dial-up
  • tunnel 6 in 4, soprattutto se si dispone di un IP statico pubblico, ma anche con indirizzo dinamico può funzionare con qualche accorgimento.

Con entrambi i sistemi, anche se possedete solo una connessione con IP dinamico, è possibile ottenere l’assegnazione di una subnet /64 statica, corrispondente a qualche milione di indirrizzi IP.

Connessione con protocollo TSP

E’ necessario installare un software TSP e collegarsi ad un provider compatibile.
Di solito funziona anche dietro firewall e NAT.

Un buon provider gratuto è freenet6. Potete registrarvi ed ottenere il vostro account.

Sempre dal sito dovete scaricare il client.

Ho effettuato la prova su una distro LINUX CentOS 5.3 compilando il codice sorgente. Su altre versioni di LINUX dovrebbe funzionare con poche variazioni.

Una volta effettuato il download, decomprimete il file ed entrate nella cartella creata.

A questo punto, se il vostro computer dispone dei normali strumenti di sviluppo:

make target=linux

make target=linux installdir=/usr/local/gw6c

Otterrete così l’eseguibile.

cd /usr/local/gw6c/bin

vi trovate nella cartella dell’eseguibile.

E’ presente anche un’esempio del file di configurazione.

cp gw6c.conf.sample gw6c.conf

Avete così un file di configurazione valido, che dovete però editare.

Lasciatelo inalterato tranne i seguenti valori:

userid=

passwd=

server=amsterdam.freenet6.net

auth_method=passdss-3des-1

prefixlen=64

log_filename=/var/log/gw6c.log

Questa è una configurazione semplice che consente una connessione autenticata che provoca l’assegnazione di un solo indirizzo V6 statico dal vostro lato del tunnel. Sono possibili configurazioni più complesse che prevedono l’assegnazione di una subnet totalmente gestibile dal vostro lato, utilizzando come router il PC che attiva la connessione.

E’ possibile persino la delega del DNS reverse.

Tali configurazioni complesse esulano da questo articolo.

Ok ci siamo!

./gw6c

Dovrebbe uscire una serie di messaggi che vi conferma l’attivazione del tunnel

digitando (da root)

ifconfig

dovreste visualizzare insieme alle altre un interfaccia di tipo tun con parametri simili a questi:

tun       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

-00

          inet6 addr: 2001:5c0:1400:b::3811/128 Scope:Global

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1280  Metric:1

          RX packets:9 errors:0 dropped:0 overruns:0 frame:0

          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:500

          RX bytes:688 (688.0 b)  TX bytes:272 (272.0 b)

l’inet6 address è il vostro indirizzo IPV6 (in questo caso 2001:5c0:1400:b::3811)

Per testare la connessione provate a pingare qualche indirizzo IPV6

[fvettore@fvettore ~]$ ping6 -c3n ipv6.google.com

PING ipv6.google.com(fx-in-x68.google.com) 56 data bytes

64 bytes from fx-in-x68.google.com: icmp_seq=0 ttl=57 time=280 ms

64 bytes from fx-in-x68.google.com: icmp_seq=1 ttl=57 time=322 ms

64 bytes from fx-in-x68.google.com: icmp_seq=2 ttl=57 time=239 ms

— ipv6.google.com ping statistics —

3 packets transmitted, 3 received, 0% packet loss, time 1998ms

rtt min/avg/max/mdev = 239.472/280.930/322.749/33.998 ms, pipe 2

Se il ping va a buon fine va a buon fine significa che la connessione funziona.

Potete collegarvi col browser a www.kame.net e, se la tartarughina si muove, siete connessi tramite V6.

Bene ora disconnettetevi immediatamente!

Un brutale

killall gw6c

dovrebbe sortire lo scopo.

State infatti navigando utilizzando un IPV6 pubblico raggiungibile direttamente dall’esterno. Pertanto è consigliabile configurare un firewall.

Gli hacker hanno da tempo scoperto il V6….

Sotto LINUX Centos c’è il pacchetto ip6tables che funziona in maniera molto simile a iptables.

Il file di configurazione è /etc/sysconfig/ip6tables

Sulla CentOS, nell’installazione di default, trovate già qualcosa di simile:

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:RH-Firewall-1-INPUT – [0:0]

-A INPUT -j RH-Firewall-1-INPUT

-A FORWARD -j RH-Firewall-1-INPUT

-A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT

-A RH-Firewall-1-INPUT -p icmpv6 -j ACCEPT

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT

-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp –dport 5353 -d ff02::fb -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp –dport 32768:61000 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 32768:61000 -j ACCEPT

#-A RH-Firewall-1-INPUT -m tcp -p tcp –dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp6-port-unreachable

COMMIT

Decommentate la penultima riga se desiderate che la vostra macchina sia accessibile tramite SSH.

service ip6tables start

Il firewall dovrebbe partire.

Per rendere permanente la protezione del firewall al prossimo avvio:

chkconfig ip6tables on

Ora se volete potete far ripartire il vostro client TSP e navigare con IPV6!

Con un ulteriore piccolo sforzo potete creare uno script di avvio da mettere in /etc/init.d ed utilizzare gw6c come un normale servizio.

Connessione con tunnel 6in4

Avviene senza l’installazione di un software specifico.
Essendo un tipo di connessione non autenticato, è necessario comunicare al provider l’indirizzo IPV4 da cui si attiva il tunnel.

Di solito si può fare attraverso un normale form http, rendendo possibile la modifica del vostro “enpoint V4” con un semplice script, anche se avete un IP dinamico.

Un ottimo provider che fornisce il servizio gratuitamente è Hurricane Electric.

Potete registrarvi su www.tunnelbroker.net ed attivare fino a 4 tunnel.

Potete anche scegliere il vostro PoP (point of presence) cioè il punto di accesso più vicino alla vostra connessione in modo da limitare la latenza. Io ho ottenuto prestazioni migliori utilizzando quello tedesco.

Dal vostro pannello di controllo potete attivare il tunnel, avendo l’accortezza, se siete dietro NAT, di specificare come vostro endpoint V4, l’indirizzo pubblico del vostro router.

Dovrebbe funzionare con qualsiasi firewall che lascia passare il protocollo 41.

Nella parte inferiore della schermata trovate le istruzioni per configurare il tunnel sul vostro computer, disponibili per varie versioni di sistema operativo.

Prima di attivarlo vale la pena configurare il firewall come spiegato in precedenza….

Sul sito trovate parecchie risorse utili nel caso vogliate approfondire la vostra conoscenza sull’argomento.

Vi consiglio di iscrivervi per la certificazione.

Non è difficile all’inizio, ma vi invoglierà a sperimentare configurazioni sempre più complesse.

Altri metodi, provider…e SIXXs

Ci sono diversi altri servizi disponibili su internet. Alcuni sono basati su tecnologie differenti.
Vale una segnalazione SIXXs che è uno dei più quotati.

Lo staff è formato da persone molto competenti.

Purtroppo ho avuto l’impressione che alla loro genialità corrisponda un’uguale dose di arroganza.

A seguito della registrazione, otterrete un certo numero di “crediti”, che dovrete usare con la massima parsimonia per compiere le operazioni più semplici, come aprire un tunnel. Non è ammesso alcun errore, altrimenti verrete penalizzati.

Dopo aver cambiato un paio di endpoint perchè non riuscivo ad alzare il tunnel a causa (ho scoperto dopo…) di una poco aggiornata versione del sistema operativo, mi sono trovato con il credito sotto zero.

Quasto mi impedirà di richiedere l’assegnazione di una subnet ancora per qualche settimana, cioè fino a quando il credito sarà ritornato sufficiente. Ho provato a richiedere un credito ulteriore, come spiegato nelle FAQ, ma non ho ottenuto neppure una risposta.

Per concludere, pur apprezzando un servizio così professionale, non vedo motivo di utilizzarlo quando altri provider offrono prestazioni analoghe senza tante limitazioni e/o imposizioni.

Quale usare?

Per la sola navigazione la soluzione TSP ha numerosi vantaggi. Potete attivarla in maniera semplice anche da un computer portatile.

Se volete provare a configurare una rete più complessa e permanente, la soluzione 6in4 dà maggiori garanzie di stabilità e configurabilità.

Ho provato a configurare la mia rete domestica utilizzando la subnet statica assegnata. Con poco sforzo, attraverso la delega del DNS reverse, ho definito gli  hostname di tutti i PC della rete.

Ora sono raggiungibili dall’esterno (attraverso un firewall opportunamente settato) con indirizzi statici.

Per i PC non è solitamente necessario configurare nulla, basta attivare l’interfaccia V6 e, attraverso l'”autoconf” troveranno il loro IP statico che non cambierà ai riavvii successivi. 

La feature del DNS reverse è offerta da molti, ma non sono riuscito a farla funzionare con freenet6, anche se è prevista dal TSP. Probabilmente la colpa è mia, riproverò con più calma.

Con HE, invece, è possibile una delega RDNS per oguno dei tunnel attivati e funziona molto bene.

Con SIXXs, in teoria, è possibile, ma non ho avuto modo di testarla viste le difficoltà di cui sopra.

Dove iniziare?

su wikipedia i concetti di base http://it.wikipedia.org/wiki/IPv6

IPV6 Mini Howto http://www.mrball.net/tutorials/ipv6-go6.html

Huurricane Electric tunnelbroker http://tunnelbroker.net/

Freenet6 http://freenet6.net

SIXXs http://sixxs.net

IPV6 Knoledge Center su freenet6 http://wiki.go6.net/index.php?title=Main_Page