Connect with us

Ipv6 tutto quello che dovete sapere

Featured News

Ipv6 tutto quello che dovete sapere

IPv6 sta per “Internet Protocol version 6” ed è il protocollo che rimpiazzerà l’attuale protocollo su cui si basa Internet, detto IPv4. Fino ad ora la maggior parte degli utenti Internet usa IPv4, un protocollo ormai vecchio di 20 anni con molte falle di sicurezza e ormai prossimo alla saturazione, per cui si sta assistendo all’esaurimento degli indirizzi IPv4 assegnabili, che stanno ormai per terminare, ma dei quali hanno necessariamente bisogno le nuove macchine mconnesse a Internet. L’IPv6 attualmente convive con IPv4, appoggiandosi a una rete IPv6-Over-IPv4 chiamata 6bone, la quale appoggia a sua volta sulla attuale rete Internet IPv4, tramite un sistema di tunneling dati IPv6 inseriti in normali pacchetti IPv4. Le aspettative sono che, fra qualche anno, IPv6 rimpiazzerà completamente IPv4.

La differenza sostanziale fra IPv6 e IPv4 è nella struttura degli indirizzi, che nella vecchia versione dell’Internet Protocol è in base dieci ( es: 62.98.231.67 ), mentre nella nuova versione è in base 16 (esadecimale). Un esempio di IPv6 può essere: 2001:6c8::401::70a.

Vediamo meglio la sua struttura: Il nuovo IP è formato da 8 blocchi di 16 bit l’uno. Guardando l’esempio precedente noterete che i blocchi non sono 8 ma 6, in effetti sono 8 ma due blocchi sono racchiusi tra “ :: “ perché sono tutti zeri. Nella forma completa quindi sarebbe stato:

2001:06c8:0000:0000:0401:0000:0000: 070a.

Un’altra forma di scrittura dell’Ipv6 è la Nibble. Questa forma è usata per la zona inversa dei DNS (Domain Name Server). Questa forma prevede che l’IP venga scritto al contrario, cifra per cifra, senza contrazioni e che ogni carattere venga separato da un punto. Facciamo un esempio:

Se l’ip è: 2001:6c8:0:401::70a, nella forma nibble sarà

a.0.7.0.0.0.0.0.0.0.0.0.1.0.4.0.0.0.0.0.0.0.0.0.8.c.6.0.1.0.0.2.ip6.int.

Si è un po lunghetta… Sono esattamente 32 caratteri + i punti + ip6.int. Coraggio, scrivetelo e contate per sicurezza. Altra novità è che la netmask che nella versione 4 era usata per individuare nodi e reti scompare e viene sostituita dal prefix. l prefix è quella scritta che segue l’IP ovvero /16 /64 /127 .
A cosa serve? A dirvi quanti IP vi sono stati dati, o meglio il numero di bit fissi. Per esempio se vi viene data una /128 voi non potete modificare nessuna cifra perché tutte le cifre sono fisse (128 bit). Se vi danno una /120 vuol dire che avete a disposizione 256 IP. Come ho ottenuto questo numero? Semplice: ho sottratto al numero massimo di bit il numero di bit fissi: quindi 128-120=8 e questo mi dice che 2^8 è il numero di IP che posso usare. E’ da considerare che gli indirizzi IPv6 assegnati dai Tunnel Broker (ovvero dei provider che offrono servizi di tunneling IPv6-over-IPv4 gratis) sono statici, pertanto si può usufruire della comodità di un IP statico, risolvibile in un nome di dominio via DNS senza dover essere aggiornato ad ogni cambio di IP.

I più recenti sistemi operativi (Sistemi Win a partire da Win2k(SP1)) sono dotati di supporto del tunneling IPv6-Over- IPv4 integrato. In alcune distribuzioniLinux per installare il protocollo IPv6 è necessaria una ricompilazione del kernel (per i kernel monolitici) mentre per altre, è sufficiente un semplice e indolore caricamento del modulo relativo a IPv6 (modprobe ipv6). Per funzionare, un tunnel IPv6 ha bisogno di essere configurato da 2 lati: Lato server (il Tunnel Broker) e Lato client (il nostro PC). Il lato server viene configurato autonomamente dal tb(tunnel broker), mentre per la configurazione del lato client tocca a noi =).

Per attivare un tunnel di dati IPv6-Over- IPv4, ovviamente bisogna essere iscritti a un tunnel broker. I tunnel broker Italiani più famosi al momento sono: Edisontel, NGnet(telecom talia), 6b0ne.org e 6bone.ws . Ogni tb ha delle procedure di autenticazione e aggiornamento IPv4 differenti, ma non di molto. In ogni caso, sulle homepage dei tunnel broker sono presenti How-To e FAQ abbastanza esaurienti. Dopo essersi iscritti a un tb, si dovrebbe icevere una email con i dati del proprio tunnel, che sono:

Login e Password (ovviamente)
Proprio Indirizzo IPv6 (e/o la propria Subnet, se ve ne è stata assegnata una)
Endpoint IPv4 (ovvero l’ip del tunnel broker)
Endpoint IPv6 (l’IPv6 del tunnel broker, non sempre necessario)

E’ da considerare il fatto che il tunnel broker, per consentire il transito di dati IPv6 su pacchetti IPv4 e per configurare il “lato server” prima accennato deve conoscere il nostro indirizzo IPv4, il quale (essendo nella maggior parte dei casi dinamico, salvo linee a banda larga tipo xDSL, etc)deve essere aggiornato a mano sul sito web del proprio tunnel broker, oppure con degli script appositi (script bash per Linux, script Perl per Win),che tramite richieste HTTP, evitano di inserire a mano login, password e Indirizzo Pv4.

IPV6 su Linux
Per verificare se c’è bisogno o meno della ricompilazione del kernel di Linux, digitate (da root)

[root@localhost /root]# modprobe ipv6

Fatto questo, digitate:

[root@localhost /root]# ifconfig
loLink encap:Local Loopback
inet addr:127.0.0.1
Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
-> La riga che ci interessa, mse avete questo iniziate a msaltare di gioia

UP LOOPBACK RUNNING
MTU:16436
Metric:1
RX packets:20 errors:0
dropped:0 overruns:0 frame:0
TX packets:20 errors:0
dropped:0 overruns:0
carrier:0
collisions:0 txqueuelen:0
RX bytes:1400 (1.3 Kb)
TX bytes:1400 (1.3 Kb)

Se siete fortunati, e la vostra distro supporta IPv6 nativamente, l’output di “ifconfig” sarà qualcosa simile a: In questo esempio viene elencata solo
l’interfaccia lo e nessuna interfaccia ppp perché il comando è stato eseguito offline =)

[root@localhost /root]#
Dopo aver fatto ciò, per sicurezza pinghiamo
il corrispondente di localhost
(127.0.0.1) in ipv6, ovvero ::1

[root@localhost /root]# ping6 ::1

Se tutto è andato bene , osserverete un output del genere (per interrompere i ping, premete CTRL-C) Se invece non avete fatto i salti di gioia perché la vostra distribuzione Linux non supporta IPv6 nativamente, non correte Al balcone per buttarvi giù; bensì leggete sotto e tenetevi forte, ci aspetta un avventuroso viaggio nella ricompilazione del kernel di linux. Vi ricordo che per ricompilare il kernel, dovete avere i suoi sorgenti in /usr/src/linux , se non li avete procurateveli dai cd della vostra distro oppure scaricateli da www.kernel.org.

Ecco i passi:

PING ::1(::1) from ::1 : 56 data bytes
64 bytes from ::1: icmp_seq=0 hops=64 time=55 usec
64 bytes from ::1: icmp_seq=1 hops=64 time=45 usec
64 bytes from ::1: icmp_seq=2 hops=64 time=44 usec
64 bytes from ::1: icmp_seq=3 hops=64 time=46 usec
64 bytes from ::1: icmp_seq=4 hops=64 time=45 usec
64 bytes from ::1: icmp_seq=5 hops=64 time=47 usec
64 bytes from ::1: icmp_seq=6 hops=64 time=42 usec
—- ::1 ping statistics —-
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.042/0.046/0.055/0.006 ms
[root@localhost /root]#

cd /usr/src/linux
make menuconfig
Per Kernel 2.2.x selezionate:
Code maturity level options
[*] Prompt for development and/or incomplete code/drivers Networking Options
[*] Kernel/User netlink socket
[*] Netlink device emulation
[*] The IPv6 protocol (EXPERIMENTAL)
[*] IPv6: enable EUI-64 token format
[*] IPv6: disable provider based addresses Per Kernel 2.4.x selezionate: Code maturity level options
[*] Prompt for development and/or incomplete code/drivers Networking Options
[*] Kernel/User netlink socket
[*] Routing messages
[*] The IPv6 protocol (EXPERIMENTAL

Uscite e digitate al prompt:

make dep
make clean
make bzImage
cd /usr/src/linux/arch/i386/boot

Ora che abbiamo in nostro nuovo kernel con l’ipv6 abilitato dobbiamo farlo partire All’avvio quindi facciamo:

cp bzImage /boot/bzImage6

E’ importante che non sovrascriviate il vecchio bzImage, quindi durante la copia cambiategli nome, io per esempio ho messo bzImage6. Ora andiamo sul file di configurazione del lilo per dirgli che all’avvio Vogliamo scegliere se far partire linux col vecchio o col nuovo kernel, quindi:

cd /etc Editiamo il file di configurazione di lilo:

pico lilo.conf (oppure lo editate con un editor
grafico) Alla fine del file aggiungiamo:

Stiamo bene attenti a mettere un label diverso da quello delle righe precedenti, io per esempio ho messo IPv6. Salviamo il file e per vedere se tutto a posto scriviamo: lilo e come risposta dovremmo avere una cosa del genere:

linux* IPv6

Se è così ora non rimane altro che resettare la macchina e all’avvio scegliere il nuovo kernel.

i m a g e = / b o o t / b z I m a g e 6
label=IPv6 read-only
root=/dev/hda2

A questo punto se digitate ifconfig dovrebbe apparire fra le varie interfacce quel famoso INET6 di cui ho parlato prima. Per maggiore sicurezza, provate a pingarlo come detto prima “ ping6 ::1 “.

IPV6 SU WINDOWS
Assicurarsi che il proprio Windows 2000 sia aggiornato con il Service Pack 1 o 2, altrimenti lo si dovrà aggiornare prima di procedere. Se il proprio Windows 2000 è aggiornato al Service Pack 1 scaricare lo stack per SP1, altrimenti se è aggiornato al Service Pack 2 scaricare lo stack per SP2(semplice). Una volta scaricato lo stack IPv6 adatto, installalo seguendo le istruzioni a video. (per SP2 è sufficiente eseguire hotfix dalla cartella setup). A questo punto seguire i seguenti passi: (se disponi di una scheda ethernet installata salta direttamente al punto 7)
1. Start -> Impostazioni -> Pannello di controllo e selezionare Installazione nuovo hardware
2. Selezionare Aggiungi/risolvi problemi quindi cliccare su Avanti
3. Dall’elenco mostrato selezionare Aggiungi nuova periferica e cliccaresu Avanti
4. Selezionare No, l’hardware sarà selezionato da un elenco e cliccare nuovamente su Avanti
5.Selezionare Scheda di rete, quindi cliccare su Avanti
6. Nella colonna “Produttori” selezionare Microsoft e nella colonna “Scheda di rete” selezionare Scheda Microsoft Loopback quindi cliccare su Avanti
7. Cliccare su Start -> Impostazioni -> Rete e connessioni remote quindi premere il tasto destro su Connessione alla rete locale e selezionare “Proprietà”
8. Dovrebbe aprirsi una nuova finestra dalla quale cliccare su “Installa” 9. Selezionare Protocollo e poi cliccare su “Aggiungi”
10. Dall’elenco selezionare “Microsoft IPv6 Protocol”

Con Windows la questione’ banale:

Microsoft Windows [Versione xxxxxx]
(C) Copyright 1985-2010 Microsoft Corp.
C:\Documents and Settings\VIP3R> ipv6 install
installazione in corso…Operazione riuscita.

…Ed ecco fatto. Al massimo è richiesto un riavvio della macchina.
Quindi, dopo aver visto come configurare uno stack IPv6 su una macchina Linux o Windows, procediamo a configurare il lato client relativo al tunneling IPv6, ovvero configurare la propria macchina per permettere il tunneling IPv6-Over-IPv4.

I comandi Windows…
Questa fase, parlando di OS Windows, è uniforme, e non ci sono differenze tra i due sistemi operativi di casa Microsoft che supportano IPv6.
Si tratta principalmente di due comandi: uno per connettersi all’Endpoint IPv4 e un altro per “alzare” il proprio IPv6, ovvero usare l’IPv6 assegnatoci dal tunnel broker.

Il primo:
ipv6 rtu ::/0 2/::PROPRIO. ENDPOINT.IPv4 pub ——> ipv6 rtu ::/02/::xxx.xxx.xxx.xxx pub

Mentre il secondo:
ipv6 adu 2/PROPRIO:IPv6 ——> ipv6 a d u 2/xxxx:xxxx:

I Comandi Linux
Per le varie Distribuzioni Linux, i comandi per aprire il tunneling IPv6 possono essere variabili da distribuzione a distribuzione. Essenzialmente abbiamo i seguenti tre comandi, usati nella maggior parte delle distribuzioni:
1) Per alzare l’interfaccia sit0, ovvero un interfaccia di rete IPv6-Over-IPv4 digitiamo:

[root@localhost viper]# ifconfig sit0 up

2) Assegniamo il nostro IPv6 con il seguente comando:

[root@localhost viper]# ifconfig sit0 inet6 add il:nostro:ipv6

3) Ci connettiamo all’endpoint IPv4 con:

[root@localhost viper]# route – A inet6 add ::/0 gw::endpoint.ipv4 sit0

Ti potrebbe Interessare

Continue Reading

More in Featured News



News


Top News

To Top