Dopo aver finalmente sistemato quasi totalmente l’aspetto del blog, vi propongo un articolo che spiega passo passo come implementare il protocollo IPv6 sul sistema operativo FreeBSD (un sistema operativo opensource). Anzitutto vediamo cos’è e quali sono le novità del protocollo IPv6: esso e stato ideato come evoluzione e non come rivoluzione di IPv4. I cambiamenti principali introdotti nel nuovo protocollo si possono raggruppare nelle seguenti categorie:
- Capacità di instradamento e indirizzamento espanso (dimensione dell’indirizzo IP da 32 a 128 bit).
- Semplificazione del formato dell’header (anche se gli indirizzi IPv6 sono quattro volte più lunghi di quelli IPv4, l’header IPv6 è solo due volte più grande di quello IPv4).
- Supporto migliorato per le opzioni.
- Meccanismo di individuazione dei flussi.
- Possibilità di estensioni future per il protocollo.
- Ottimizzazione delle funzioni di controllo.
- Nuovo tipo di indirizzo chiamato indirizzo anycast.
- Capacià di autenticazione e privacy.
- Allineamento su 64 bit anzichè su 32 bit.
Ora vediamo come configurare FreeBSD per supportare IPv6:
come prima cosa aggiungete, se non presenti, le seguenti righe al vostro kernel (se usate un’architettura x86, il file di conf potrete trovarlo su /usr/src/sys/i386/conf ; se non l’avete mai modificato il suo nome ‘di default’ e’ GENERIC).
options INET6
device gif
A questo punto ricompilate il kernel con il comando
# cd /usr/src && make kernel
… ed effettuate un riavvio della macchina.
Benissimo, ora non resta che iscrivervi ad un tunnel broker. Ecco alcuni dei tunnel broker più famosi:
Una volta effettuata l’iscrizione lanciare lo script per effettuare il tunnelling; ecco lo script che uso io ad esempio:
———————- cut here ———————-
#!/bin/sh
MYIPv4=”`ifconfig tun0 | awk ‘{if($1==”inet”) print $2}’`” # Prende automaticamente il vostro IPv4 se usate tun0 come interfaccia di connessione
TBIPv4=”1.2.3.4″ # IPv4 del tunnel broker
MYIPv6=”2001:15a8:xxxx::” # IPv6 client assegnatovi dal tunnel broker
TUNLIF=”gif0″
echo -n “Configuration gif0.. ”
ifconfig $TUNLIF create tunnel $MYIPv4 $TBIPv4 up
ifconfig $TUNLIF inet6 $MYIPv6 prefixlen 128
route add -inet6 default -interface $TUNLIF
———————- cut here ———————-
… salvate questo script in file file chiamato (ad esempio) tunnel-broker.sh, rendetelo eseguibile e quindi eseguitelo:
# chmod 700 tunnel-broker.sh
# ./tunnel-broker.sh
Ora testate se effettivamente il tunnel broker funziona con un semplice ping6:
# ping6 www.6bone.net
… dovreste ottenere come output qualcosa del tipo:
one@freebsd:~> ping6 www.6bone.net
PING6(56=40+8+8 bytes) 2001:1418:100:41::2 –> 2001:5c0:0:2::24
16 bytes from 2001:5c0:0:2::24, icmp_seq=0 hlim=58 time=287.495 ms
16 bytes from 2001:5c0:0:2::24, icmp_seq=1 hlim=58 time=274.830 ms
16 bytes from 2001:5c0:0:2::24, icmp_seq=2 hlim=58 time=270.861 ms
se è così, complimenti, avete abilitato il protocollo IPv6 sulla vostra macchina :-)
Potete sfruttare il vostro tunnel IPv6 per navigare, connettervi ad irc, offrire servizi IPv6 (apache2, sshd, etc. etc.).