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