Nonostante le varie minacce di esaurimento degli IP classici siano iniziate circa 10 anni fa ancora la situazione è apparentemente invariata. Sia chiaro, gli allarmi non sono del tutto vani, se siamo arrivati ai giorni nostri è perché le classi IPv4 assegnate sono si esaurite o in esaurimento, ma vengono poi distribuite dagli ISP, quindi la propagazione del problema si rallenta. Inoltre di tanto in tanto vengono recuperate classi inutilizzate che vanno quindi a prolungare la deadline per l’implementazione su larga scala del nuovo protocollo IPv6. Detto ciò IPv4 non avrà ancora lunga vita, il numero di dispositivi connessi è sempre in crescita (basta vedere quella esponenziale degli smartphone, e se facciamo un passo avanti pensando alla domotica a breve anche il frigoriferò dovrà avere il suo IP!) quindi presto o tardi il passaggio avverrà.
Ma siamo pronti?
I grandi player di internet, da Google a Facebook passando per Akamai hanno già l’infrastruttura pronta, e lo hanno dimostrato negli ultimi IPv6 days, ma le nostre reti? Vediamo come fare per predisporre la nostra LAN alla nuova connettività anche se il nostro provider non lo prevede, e proviamo se effettivamente il nostro motore di ricerca preferito è disponibile con il nuovo indirizzamento. Faremo la configurazione sul nostro firewall preferito: pfSense 2.1.
Preparazione
Come dicevamo prima la connettività attuale fornita dai provider è ancora in v4. Per ottenerne una di tipo v6 dobbiamo affidarci ad un tunnel, qualcuno con cui creare una sorta di VPN e che ci assegni un indirizzo v6. In Italia non c’è molta scelta, il broker che fornisce il POP più vicino a noi è Sixxs.
La prima cosa da fare è registrarsi presso Sixxs e fare richiesta per un nuovo tunnel. Le operazioni non sono immediate, ma nemmeno lunghe: le richieste sono processate semi-automaticamente, quindi potrebbe passare qualche ora dalla registrazione all’ottenimento del tunnel, quindi prepariamoci per tempo. Una volta ottenuto il tunnel con tutti i parametri possiamo procedere nella configurazione del fiewall.
pfSense
Come prima cosa occorre abilitare il ping sulla WAN dove attiveremo il tunnel, almeno dall’IP del POP. Andiamo quindi in Firewall > Rules > WAN ed inseriamo come prima regola la seguente (attenzione, la nostra VOD1 è la WAN prederfinita):
Creiamo ora il tunnel andando in Interfaces > (assign) > GIF, premere + e compilare i dati seguendo queste indicazioni, facendo riferimento alle informazioni inviate da Sixxs sul nostro tunnel:
- Parent interface: WAN;
- gif remote address: il campo SixXS IPv4;
- gif tunnel local address: Your IPv6;
- gif gunnel remote address: SixXS IPv6 / 64
Salvare e tornare in Interfaces > (assign), dove a questo punto premendo + dovrebbe comparire la il nuovo tunnel come OPT. Modificare l’interfaccia impostando il flag di abilitazione, e cambiando il nome in SIXXS. Per ora non modificare altri parametri (in particolare non toccare la configurazione IPv6).
pfSense dovrebbe aver creato un gateway automaticamente. Andiamo a verificare in System > Routing, apriamo quello relativo all’interfaccia SIXXS ed impostiamo il flag di Default Gateway. Il risultato finale dovrebbe essere simile a questo (almeno per la parte di Sixxs):
A questo punto il tunnel dovrebbe già essere attivo, e lo possiamo verificare andando in Status > Gateways, dove dovrebbe essere Online.
Siamo ad un passo dal primo ping, ma prima dobbiamo abilitare nel firewall il traffico IPv6. Andiamo in Firewall > Rules > LAN e modifichiamo la regola di default per consentire il traffico IPv4+IPv6 (oppure creiamo una nuova regola per il solo IPv6).
Finalmente possiamo fare un primo test. Andiamo in Diagnostics > Ping, selezioniamo come protocollo IPv6 e facciamo un ping a www.google.it. Ed ecco il risultato:
Fatto!
Configurazione LAN e DHCPv6
A questo punto abbiamo due possibilità. La più semplice e consigliata è quella di usare per la nostra LAN un blocco ULA (l’equivalente delle subnet private di IPv4) oppure usare una subnet pubblica instradata nel nostro tunnel. La seconda opzione è per chi intende assegnare degli indirizzi pubblici agli apparati della LAN, quindi evitare port forwarding e così via.
In ogni caso possiamo mantenere una rete ibrida IPv4+IPv6, assegnando agli host della LAN indirizzi di entrambi i tipi.
Andiamo in Interfaces > LAN ed impostiamo IPv6 configuration type a Static IPv6. Comparirà sotto la possibilità di inserire un indirizzo IPv6. Se abbiamo scelto di avere un rete ULA mettiamo come indirizzo fc00::1, altrimenti se abbiamo ottenuto una subnet da Sixxs mettiamo il Subnet prefix più un 1 finale, ovvero il primo indirizzo IPv6 disponibile della nostra subnet (ovviamente può essere un qualunque indirizzo, ma per comodità lasciamo che pfSense sia l’1). Salviamo e andiamo ad impostare il DHCPv6 in Services. Abilitiamo la spunta, e scegliamo il range di IP tra quelli disponibili suggeriti. Salviamo e ultimo passaggio andiamo sempre nella stessa schermata in Router Advertisements, ovvero il servizio principale di IPv6 per la nostra rete locale, scegliendo come prima opzione Router Only. Salviamo, et voilà la configurazione della rete LAN IPv6 è completata!
Se tutto è configurato correttamente un qualunque client (Ubuntu o Windows 7) dovrebbe ricevere sia l’IP v4 che quello v6. Se sono stati ricevuti entrambi gli IP possiamo provare (da Ubuntu), i tool ping6 e traceroute6. Ecco un esempio:
# traceroute6 www.google.it
traceroute to www.google.it (2a00:1450:4002:804::1017) from 2001:1418:100:xxx::190, 30 hops max, 24 byte packets
1 2001:1418:100:xxx::1 (2001:1418:100:xxx::1) 0.464 ms 0.824 ms 0.5 ms
2 gw-1420.trn-01.it.sixxs.net (2001:1418:100:xx::1) 57.19 ms 53.229 ms 57.654 ms
3 frejus.ITgate.net (2001:1418:10:2::2) 54.968 ms 53.574 ms 53.588 ms
4 if-0-2-12.samba.edge.TRN.ipv6.ITgate.net (2001:1418:10:2::1) 55.372 ms 65.915 ms 53.903 ms
5 if-9-4.scooby-monster.core.TRN.ipv6.ITgate.net (2001:1418:1:101::1) 55.291 ms 55.035 ms 55.505 ms
6 if-9-1.boogie.core.MIL.ipv6.ITgate.net (2001:1418:1:100::a) 55.436 ms 56.728 ms 55.452 ms
7 google-v6.mix-it.net (2001:7f8:b:100:1d1:a5d1:5169:96) 57.148 ms 55.254 ms 55.982 ms
8 2001:4860::1:0:458d (2001:4860::1:0:458d) 75.052 ms 56.469 ms 57.206 ms
9 2001:4860:0:1::209 (2001:4860:0:1::209) 57.355 ms 56.259 ms 55.743 ms
10 2a00:1450:8000:7::5 (2a00:1450:8000:7::5) 57.287 ms 57.505 ms 57.614 ms
E per capire se il nostro sito preferito lavora già in IPv6 o ancora in IPv4 possiamo installare un’estensione per Firefox che ci farà un riepilogo delle risorse e dei relativi IP per ogni sito che apriamo. E ciò vi consentirà di scoprire che quasi tutti i servizi Google girano già regolarmente su IPv6, Facebook è su IPv6, Bing su IPv4.
Per altre informazioni visitate la sezione del nostro blog.