SixXS - IPv6 Deployment & Tunnel Broker

SixXS HomePage

About SixXS:

SixXS (Six Access) is a free, non-profit, non-cost service for Local Internet Registries (LIR's) and endusers. The main target is to create a common portal to help company engineers find their way with IPv6 networks deploying IPv6 to their customers in a rapid and controllable fashion. To reach these targets we are providing a whitelabel IPv6 Tunnel Broker and Ghost Route Hunter, an IPv6 route monitoring tool and various other services to help out where needed.

In breve, SixXS offre (quasi) gli stessi servizi di gogo6: perché quasi? Beh, innnanzitutto la rete SixXS è davvero vasta: i suoi "PoP* (Point of Presence)" sono dislocati pressoché in tutto il globo (Italia compresa: in particolare a Torino) ma l'aspetto secondo me veramente positivo è la professionalità con cui gli Operatori gestiscono l'infrastruttura.

  • PoP

The SixXS system provisions multiple PoPs. A PoP (Point of Presence) is a router/machine serving IPv6 in IPv4 tunnels. In RFC3053 IPv6 Tunnel Broker terminology a PoP would be called a Tunnel Server, while SixXS is the Tunnel Broker. Each one of these PoPs is under complete control of the owner and using its own DFP for serving out addresses to its clients under the policies defined by PoP's owners. SixXS manages the day to day aspects of these PoPs and provides the software and knowledge to run them properly. To keep the quality high we've defined a couple of requirements for an ISP to become a SixXS PoP. Additional PoPs are welcome from all around the world.

Dunque vediamo come funziona SixXS:

ci si registra al sito immettendo i propri dati come faremmo con un normalissimo ISP (Nome, Cognome, indirizzo, email, telefono ed una breve descrizione sul perché siamo interessati a far parte del progetto IPv6 di SixXS) e si attende la validazione dell'email.

Una volta che l'email è stata da noi confermata, seguendo un link inviatoci alla stessa, si aspetta nella coda di moderazione "umana": ovvero un Operatore leggerà/controllerà le informazioni fornite all'atto di registrazione/sottoscrizione al servizio e deciderà se accettare o meno la stessa (i tempi possono variare da uno a sette giorni).

Se tutto è andato per il meglio potremo già vedere nella nostra homepage (previo login) tutte le operazioni eseguite finora da ambo i lati (registrazione al sito, conferma email, accettazione richiesta, invio di email da parte degli Operatori etc etc) nonché tutte le info sul nostro dominio IPv6 nel database WHOIS di SixXS; una cosa che ho apprezzato è la possibilità di nascondere alcuni dati immessi in fase di registrazione nel WHOIS (che sono appunto l'indirizzo, il telefono, la mail ..).

Ottimo, la parte burocratica è quasi terminata; non resta che richiedere il famigerato tunnel IPv4 > Ipv6: verremo guidati nella scelta del PoP migliore (di solito il più vicino al nostro endpoint v4) con la solita richiesta di specificare con qualche riga di testo perché vorremmo connetterci a quel PoP (nel caso la lista tra cui scegliere sia popolata da diversi elementi) e poi si aspetta di nuovo l'attivazione finale del tunnel (tempo richiesto: circa un'ora).

Questa volta non mi sono interessato alla "situazione" Windows ma mi sono dedicato direttamente alla parte Linux: vediamo quello che c'è da fare per connettersi al tunnel IPv6 su Debian squeeze:

# apt-get install aiccu radvd

Al termine dell'installazione parte la configurazione automatica di aiccu, la quale ci chiede di immettere i nostri dati di login con i quali ci siamo registrati sul portale SixXS e siamo a cavallo. Per quanto riguarda radvd riceveremo le spiegazioni su dove trovare un file di configurazione di esempio (/usr/share/doc/radvd/examples/simple-radvd.conf) che andrà copiato sotto /etc/radvd.conf.

La mia attuale configurazione è questa:

interface eth0
{
   AdvSendAdvert on;
   MinRtrAdvInterval 5;
   MaxRtrAdvInterval 15;
   prefix 2001:1418:XXX::/64
   {
        AdvOnLink on;
        AdvAutonomous on;
   };
};

Le varie voci configurate sono spiegate in "man radvd.conf"; per quanto riguarda il prefix, questo si riferisce alla subnet (assegnata dal provider) sulla quale eseguire l'advertisement degli indirizzi (ovvero quello di cui si occupa radvd). Da notare che il prefix deve sempre e comunque essere un /64, nonostante sixxs ci assegni una /48.

Ultima cosa che ci viene richiesta da radvd per il suo corretto funzionamento è abilitare la voce "net.ipv6.conf.all.forwarding=1" nel file di configurazione di sysctl (/etc/sysctl.conf); una volta apportata questa modifica, applichiamola al volo eseguendo da root:

# sysctl -p

Quindi avviamo radvd:

# /etc/init.d/radvd start

Se tutto è andato per il meglio (dovrebbe..) possiamo controllare sulla nostra home nel portale SixXS la stato del tunnel ed eseguire qualche "ping6" di controllo verso il PoP e magari verso l'esterno (ad esempio verso "ipv6.google.com") Quando un dispositivo abilitato all'uso di IPv6 entrerà in rete gli verrà assegnato un IPv6 dal demone radvd e sarà subito collegato: questo host avrà come gateway la Linux box, la quale a sua volta sfrutterà il tunnel sixxs per raggiungere i domini v6, forwardando il traffico dell'intera rete locale.

P.S.

Per configurare un indirizzo statico alla scheda di rete interna (in genere la eth0) sulla macchina che farà ga Gateway IPv6 per la lan, si può usare il comando:

ip -6 addr add 2001:1418:XXX::1/64 dev eth0

Nota: Ad ogni riavvio della rete sulla macchina dove girà il tunnel (ad esempio dopo un reboot) sarà necessario reimpostare l'indirizzo IP statico per la eth0 quindi probabilmente è meglio farlo usando /etc/networking/interfaces. Una configurazione minimale potrebbe essere questa:

 iface eth0 inet6 static
     address 2001:1418:XXX::1
     netmask 64

IPv6 Firewall Tester