Contenuti

w/arc Il protocollo IPV6

Introduzione

1. Rappresentazione simbolica di un indirizzo IPv6

La rappresentazione testuale simbolica standard di un indirizzo IPv6 è nella forma:

x❌x❌x❌x:x

L’indirizzo viene suddiviso in gruppetti di 16 bit (coppie di ottetti), utilizzando i due punti (:) come simbolo di separazione. Questi gruppetti di 16 bit vengono rappresentati in esadecimale, utilizzando solo le cifre che servono, dove queste saranno al massimo quattro. Per esempio, l’indirizzo

fe80:0000:0000:0000:02a0:24ff:fe77:4997

si può ridurre semplicemente a:

fe80:0:0:0:2a0:24ff:fe77:4997

Viene consentita anche un’ulteriore semplificazione in presenza di gruppetti adiacenti che risultano azzerati: una coppia di due punti (::) rappresenta una sequenza indefinita di gruppetti azzerati e può essere usata una volta sola in un indirizzo. In questo modo, l’esempio precedente può essere ridotto a quello che segue:

fe80::2a0:24ff:fe77:4997

In pratica, si deve intendere che quello che manca per completare l’indirizzo in corrispondenza del simbolo ::, contiene solo gruppetti di 16 bit azzerati.

2. Prefissi di indirizzo

Con IPv6, il concetto dimaschera di rete è stato semplificato e nei documenti RFC si parla piuttosto di prefisso di un indirizzo. Il termine rende meglio l’idea del senso che ha, in quanto porta l’attenzione a una parte iniziale dell’indirizzo stesso per qualche scopo. Il prefisso viene segnalato con un numero aggiunto alla fine di un indirizzo IPv6, separato da una barra obliqua (/) che indica il numero di bit iniziali da prendere in considerazione per un qualche scopo. In questo modo si indica la lunghezza del prefisso.

indirizzo_ipv6/lunghezza_prefisso

È importante osservare che l’indirizzo IPv6 abbinato all’indicazione della lunghezza di un prefisso, non può essere abbreviato più di quanto si possa già fare con questo genere di indirizzi. Si prenda in considerazione un indirizzo con l’indicazione della lunghezza del prefisso strutturato nel modo seguente (la lettera «h» rappresenta una cifra esadecimale diversa da zero):

hhhh:0000:0000:hhh0:0000:0000:0000:0000/60

<—- 60 bit —->

Il prefisso si estende per i primi 60 bit, ovvero le prime 15 cifre esadecimali. Sono ammissibili le forme normali di abbreviazione di questa indicazione:

hhhh:0:0:hhh0:0:0:0:0/60

hhhh::hhh0:0:0:0:0/60

hhhh:0:0:hhh0::/60

Al contrario, non sono ammissibili queste altre:

hhhh:0:0:hhh/60 –> non è valida in generale

hhhh::hhh0/60 –> si traduce in hhhh:0:0:0:0:0:0:hhh0/60

hhhh::hhh/60 –> si traduce in hhhh:0:0:0:0:0:0:0hhh/60

3. Tipi di indirizzi

Il sistema introdotto da IPv6 richiede di distinguere gli indirizzi in tre categorie fondamentali:unicast, anycast e multicast. Quello che in IPv4 era conosciuto come indirizzo broadcast non esiste più in IPv6.

  • **unicast
    **L’indirizzo unicast riguarda un’interfaccia di rete singola; in altri termini, un indirizzo unicast serve per raggiungere un’interfaccia di rete in modo univoco.

  • **anycast
    **L’indirizzo anycast serve per essere attribuito a più interfacce di rete differenti (in linea di principio, queste dovrebbero appartenere ad altrettanti componenti di rete distinti). Si tratta di un indirizzo che ha le stesse caratteristiche esteriori di quello unicast, che però viene attribuito a diverse interfacce di altrettanti nodi, con lo scopo di poter raggiungere semplicemente quello che risponde prima (quello più vicino in base al protocollo di instradamento). Per la precisione, i pacchetti inviati a un indirizzo anycast dovrebbero raggiungere un’unica interfaccia di rete.

  • multicast

    L’indirizzo multicast serve per essere attribuito a più interfacce di rete differenti (in linea di principio, queste dovrebbero appartenere ad altrettanti componenti di rete distinti). I pacchetti inviati a un indirizzo multicast dovrebbero raggiungere tutte le interfacce di rete a cui questo indirizzo è stato attribuito.

4. Allocazione dello spazio di indirizzamento

Così come è avvenuto con IPv4, anche gli indirizzi IPv6 sono stati suddivisi per scopi differenti. Si parla di tipo di indirizzo, riferendosi a questa classificazione. Questa distinzione avviene in base a un prefisso binario stabilito, definito FP, ovvero Format prefix (prefisso di formato). La tabella 106.1 riporta l’elenco dei prefissi di formato attuali (nel momento in cui viene scritto questo capitolo). Bisogna tenere presente che IPv6 è appena nato, per cui è necessario controllare la produzione dei documenti RFC se si vuole rimanere aggiornati a questo riguardo.

Prefisso

Allocazione

0000 00002

Riservato.

0000 00012

Non assegnato.

0000 0012

Riservato per l’allocazione NSAP.

0000 0102

Riservato per l’allocazione IPX.

0000 0112

Non assegnato.

0000 12

Non assegnato.

00012

Non assegnato.

0012

Indirizzi unicast globali aggregabili.

0102

Non assegnato.

0112

Non assegnato.

1002

Non assegnato.

1012

Non assegnato.

1102

Non assegnato.

11102

Non assegnato.

1111 02

Non assegnato.

1111 102

Non assegnato.

1111 1102

Non assegnato.

1111 1110 02

Non assegnato.

1111 1110 102

Indirizzi unicast link-local.

1111 1110 112

Indirizzi unicast site-local.

1111 11112

Indirizzi multicast.

Tabella 106.1. Spazio di indirizzamento di IPv6.

È importante osservare subito che il prefisso 0000 00002 (binario), incorpora alcuni indirizzi molto importanti: l’indirizzo «non specificato» (0:0:0:0:0:0:0:0 o anche ::), l’indirizzo locale di loopback (0:0:0:0:0:0:0:1 o anche ::1) e gli indirizzi ottenuti per incorporazione di quelli IPv4.

Un altro particolare interessante riguarda il fatto che solo gli indirizzi che iniziano per FF16 (1111 11112) sono di tipo multicast, mentre gli altri sono tutti unicast. Gli indirizzi anycast sono degli indirizzi con caratteristiche uguali a quelli unicast, a cui però è stato attribuito un ruolo differente.

5. Indirizzi unicast

Si è accennato al fatto che tutti gli indirizzi, tranne quelli che iniziano per FF16, sono di tipo unicast (e poi eventualmente tra questi si possono definire degli indirizzi anycast).

La caratteristica più importante degli indirizzi unicast è quella di poter essere aggregati a una maschera di bit continua, simile a quella di IPv4, senza il vincolo delle classi di indirizzi (come avveniva invece con IPv4).

Un nodo IPv6, cioè un componente collocato nella rete che riconosce questo protocollo, può trattare l’indirizzo IPv6 come un elemento singolo (nel suo insieme) oppure come qualcosa formato da diverse componenti, in base al ruolo che questo nodo ha nella rete. In pratica, a seconda del contesto, il nodo IPv6 potrebbe vedere l’indirizzo come un numero composto da 128 bit,

128 bit
indirizzo dell’interfaccia

`—————————————————————–'

oppure potrebbe riconoscere un prefisso relativo a una sottorete:

n bit 128-n bit
prefisso di sottorete id-interfaccia

`—————————————————————–'

In questo secondo caso si intende distinguere la parte di indirizzo relativa alla rete in cui si trova collocata l’interfaccia del nodo in questione, rispetto alla parte restante dell’indirizzo, che invece indica precisamente di quale interfaccia si tratti. Ma l’indirizzo unicast può essere visto come il risultato di un’aggregazione molto più sofisticata, dove si inseriscono livelli successivi di sottoreti in forma gerarchica, fino ad arrivare all’ultimo livello che permette di raggiungere la singola interfaccia.

5.1. Identificatori di interfaccia

La parte finale di un indirizzo unicast serve a identificare l’interfaccia nel collegamento (link), ovvero la rete fisica in cui si trova. Questa parte dell’indirizzo, definibile come identificatore di interfaccia (interface identifier), deve essere univoca all’interno del collegamento.
Eventualmente, potrebbe essere univoca anche in un ambito più grande.

La struttura di indirizzo unicast dipende principalmente dal tipo a cui questo appartiene, in base al prefisso di formato. In molti casi, la parte finale dell’indirizzo destinata a identificare l’interfaccia è di 64 bit (la metà di un indirizzo IPv6) e deve essere costruita secondo il formato IEEE EUI-64.
L’identificatore EUI-64 è un numero di 64 bit che serve a identificare il produttore e il «numero di serie» di un’apparecchiatura di qualche tipo. In pratica, un produttore ottiene un numero che rappresenta la sua azienda e questo viene usato come parte iniziale degli identificatori EUI-64 di sua competenza. Con tale numero potrà «marchiare» le proprie apparecchiature, avendo l’accortezza di utilizzare sempre numeri differenti per ogni pezzo, purché questi inizino tutti con il prefisso che gli è stato assegnato. In condizioni normali, un identificatore EUI-64 corretto è anche un numero univoco a livello globale.

Nel momento in cui l’interfaccia di rete a cui si attribuisce un indirizzo unicast dispone del numero EUI-64, è facile ottenere l’identificatore di interfaccia; quando questo non è disponibile si utilizzano altre tecniche per generare un numero che gli assomigli. Nel primo caso, si intuisce che il numero utilizzato per l’identificatore di interfaccia è anche univoco a livello globale, mentre negli altri casi questo non può essere vero in assoluto. A questo proposito, lo stesso numero EUI-64 contiene un bit che viene utilizzato per indicare il fatto che si tratti di un identificatore univoco a livello globale o meno. Si tratta del settimo bit più significativo, che così viene sottratto dai valori che può assumere la parte iniziale di 24 bit che identifica l’azienda (company id).

| identificatore EUI-64 | |ccccccuc cccccccc cccccccc|mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm| | azienda | numero di serie |

|ccccccuc cccccccc cccccccc|mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm mmmmmmmm| ^ | Se il settimo bit più significativo è uguale a zero, rappresenta un indirizzo univoco a livello globale.

Figura 106.1. Schema di un identificatore EUI-64 suddiviso in bit.

Per la precisione, un indirizzo unicast che termina con l’identificatore di interfaccia composto dall’identificatore EUI-64, inverte il bit che serve a riconoscerlo come univoco a livello globale. La motivazione di questa inversione è molto semplice: si vuole evitare che un indirizzo non univoco a livello globale debba avere per forza quel bit a uno, cosa che costringerebbe a una notazione dettagliata dell’indirizzo IPv6 corrispondente.

5.1.1. Identificatori di interfacce Ethernet

Le interfacce Ethernet hanno un indirizzo MAC, ovvero un indirizzo di livello 2 (secondo la stratificazione OSI/ISO) corrispondente all’identificatore EUI-48. L’organizzazione IEEE ha stabilito una conversione di questi identificatori nel nuovo formato EUI-64, inserendo il codice FFFE16 subito dopo i primi tre ottetti che identificano l’azienda (company ID). In pratica, il codice

00-80-ad-c8-a9-81

diventa:

00-80-ad-ff-fe-c8-a9-81

Di conseguenza, tenendo conto che il settimo bit di questo codice viene invertito, la parte finale dell’indirizzo IPv6 che lo incorpora diventa:

xxxx:xxxx:xxxx:xxxx:0280:adff:fec8:a981

5.2. Indirizzo non specificato

L’indirizzo 0:0:0:0:0:0:0:0, ovvero quello in cui tutti i 128 bit sono azzerati, è quello non specificato (unspecified address). Questo indirizzo non può essere assegnato ad alcun nodo e rappresenta l’assenza di un indirizzo.

Come regola, questo indirizzo non può essere utilizzato come destinazione di un pacchetto e nemmeno nella definizione delle regole di instradamento.

5.3. Indirizzo locale di loopback

L’indirizzo unicast 0:0:0:0:0:0:0:1 viene usato per identificare l’interfaccia virtuale locale, ovvero l’interfaccia di loopback.
Come tale, non può essere utilizzato per un’interfaccia fisica reale.

In pratica, un pacchetto destinato a questo indirizzo non deve uscire al di fuori del nodo (nella rete fisica esterna); inoltre, un pacchetto destinato a un altro nodo non può indicare come mittente questo indirizzo.

5.4. Indirizzi IPv6 che incorporano indirizzi IPv4

Nella fase di transizione da IPv4 a IPv6, oltre a tanti altri accorgimenti è stato stabilito un modo per rappresentare un indirizzo IPv4 all’interno di un indirizzo IPv6. Si distinguono due situazioni: gli indirizzi «compatibili IPv4» che riguardano nodi IPv6 e gli indirizzi che incorporano un indirizzo IPv4 riferito a un nodo che non è in grado di gestire IPv6.

Nel primo caso si utilizzano una serie di 96 bit azzerati seguiti dai bit dell’indirizzo IPv4,

80 bit 16 32 bit
0000…………………………0000 0000 indirizzo IPv4

`—————————————————————–'

nel secondo ci sono 80 bit azzerati, seguiti da 16 bit a uno; in fine ci sono i 32 bit dell’indirizzo IPv4.

80 bit 16 32 bit
0000…………………………0000 FFFF indirizzo IPv4

`—————————————————————–'

In presenza di indirizzi di questo tipo, è ammessa una notazione speciale. I due esempi seguenti mostrano l’indirizzo IPv4 192.168.1.1 incorporato in IPv6 nelle due situazioni descritte sopra:

::192.168.1.1
::FFFF:192.168.1.1

Gli indirizzi link-local si riferiscono all’ambito del collegamento in cui si trovano connesse le interfacce di rete. Questi indirizzi rappresentano uno spazio privato che non può essere raggiunto dall’esterno e, di conseguenza, non può attraversare i router. Evidentemente, tali indirizzi servono per scopi amministrativi particolari, legati all’ambito della rete fisica.

La struttura normale di un indirizzo link-local è molto semplice:

64 bit 64 bit
1111 1110 10…………….0000 identificatore di interfaccia

`—————————————————————–'

Come si può vedere, i primi 10 bit servono a definire il formato dell’indirizzo, stabilendo che si tratta del tipo link-local. A metà dell’indirizzo inizia l’identificatore di interfaccia, ottenuto dall’identificatore EUI-64 (già descritto in precedenza), che viene determinato in modo differente a seconda del tipo di interfaccia.

Dal momento che l’indirizzo link-local deve essere univoco solo all’interno del collegamento fisico in cui si trova, non richiede la distinzione in sottoreti e può essere determinato in modo automatico, eventualmente interrogando la rete stessa. Di solito, in presenza di interfacce Ethernet si utilizza il loro indirizzo MAC trasformandolo secondo la regola già vista a proposito dell’identificatore EUI-48.
Per esempio, un’interfaccia Ethernet il cui indirizzo MAC sia

00:80:ad:c8:a9:81

ottiene l’indirizzo IPv6 link-local

fe80:0000:0000:0000:0280:adff:fec8:a981

che si può abbreviare come

fe80::280:adff:fec8:a981

Ecco come potrebbe mostrarlo ifconfig:

eth0 Link encap:Ethernet HWaddr 00:80:AD:C8:A9:81
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::280:adff:fec8:a981/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:11 Base address:0x300

In questa situazione, dal momento che non c’è bisogno di organizzare tali indirizzi in sottoreti, l’unico prefisso che abbia un senso è quello dei primi 10 bit che stanno a indicarne il formato. Di conseguenza, un indirizzo link-local che porti l’indicazione della lunghezza del prefisso, utilizzerà normalmente il numero 10, come si vede nell’estratto generato da ifconfig mostrato sopra.

5.6.  Indirizzi site-local

Gli indirizzi site-local si riferiscono all’ambito di un sito e si possono utilizzare liberamente senza bisogno di alcuna forma di registrazione. Questi indirizzi rappresentano uno spazio privato che non può essere raggiunto dalle reti esterne al sito in questione.

La struttura normale di un indirizzo site-local è molto semplice:

10 bit 54 bit 64 bit
1111 1110 11 sottoreti identificatore di interfaccia

`——————————————————————'

I primi 10 bit servono a definire il formato dell’indirizzo, stabilendo che si tratta del tipo site-local; lo spazio tra l’undicesimo e il 64-esimo bit può essere utilizzato per strutturare gli indirizzi in sottoreti, in base alle esigenze del sito. La seconda metà dell’indirizzo viene riservata per l’identificatore di interfaccia, ottenuto dall’identificatore EUI-64 (già descritto in precedenza), che viene determinato in modo differente a seconda del tipo di interfaccia.

In pratica, rispetto a un indirizzo link-local cambia il prefisso di formato, aggiungendo la possibilità e la convenienza di suddividere lo spazio di indirizzi in sottoreti.

5.7.   Indirizzi unicast globali aggregabili

Allo stato attuale, nel momento in cui viene scritto questo capitolo, l’unico gruppo di indirizzi IPv6 previsto per una gestione globale (cioè per Internet) è quello che inizia con il prefisso 0012.
Senza entrare troppo nel dettaglio (considerato che si tratta di una materia che non è ancora consolidata), lo schema di indirizzamento di questi indirizzi potrebbe essere riassunto nel modo seguente:

3 13 + 8 + 24 bit 16 bit 64 bit
001 TLA + ris. + NLA SLA identificatore di interfaccia

`——————————————————————-'

Dopo ilprefisso di formato seguono 45 bit suddivisi in: un identificatore del primo livello di aggregazione (Top level aggregation), uno spazio di riserva e un identificatore successivo (Next level aggregation). Subito dopo seguono altri 16 bit la cui gestione dovrebbe essere affidata a un solo sito, per la gestione delle proprie sottoreti. Come sempre, la seconda metà dell’indirizzo è destinato all’identificatore di interfaccia.

In pratica, un sito che vuole utilizzare indirizzi IPv6 accessibili anche da Internet, dovrebbe ottenere un lotto di indirizzi composto dei primi 48 bit dal suo ISP, ottenendo la possibilità di gestirsi come vuole i 16 bit che precedono l’identificatore di interfaccia.

6. Indirizzi multicast

Un indirizzo IPv6 multicast serve a identificare e a raggiungere un gruppo di nodi simultaneamente. Gli indirizzi multicast hanno una struttura particolare:

8 4 4 112 bit
1111 1111 000T scop identificatore di gruppo

`—————————————————————-'

Il prefisso di formato è 1111 11112, ovvero FF16, a cui seguono 4 bit di opzione. Di questi 4 bit, è stato specificato solo il significato di quello meno significativo, che viene indicato convenzionalmente con la lettera «T» (gli altri devono essere azzerati fino a che verrà stabilito qualcosa di diverso).

  • T = 0 indica un indirizzo multicast assegnato permanentemente dall’autorità globale di Internet;
  • T = 1 indica un indirizzo multicast assegnato in modo provvisorio.

I 4 bit successivi rappresentano l’ambito dell’indirizzo multicast (scope). Il significato dei valori che può assumere questo campo sono indicati nella tabella 106.2.

Valore

Significato

016

Riservato.

116

Ambito node-local.

216

Ambito link-local.

316

Non assegnato.

416

Non assegnato.

516

Ambito site-local.

616

Non assegnato.

716

Non assegnato.

816

Ambito organization-local.

916

Non assegnato.

A16

Non assegnato.

B16

Non assegnato.

C16

Non assegnato.

D16

Non assegnato.

E16

Ambito globale.

F16

Non assegnato.

Tabella 106.2. Elenco dei valori per definire l’ambito di un indirizzo multicast.

La parte finale dell’indirizzo identifica il gruppo multicast nell’ambito stabilito dal campo scope. Tuttavia, nel caso di indirizzi stabiliti in modo permanente, l’identificatore di gruppo resta uguale per tutti i tipi di ambiti.

Per regola, non si può utilizzare un indirizzo multicast come mittente nei pacchetti IPv6, inoltre questi indirizzi non possono apparire nelle regole di instradamento dei router.

6.1.   Alcuni indirizzi multicast già definiti

Tutti gli indirizzi multicast del tipo ff0x:0:0:0:0:0:0:0 sono riservati e non possono essere assegnati ad alcun gruppo multicast. Oltre a questi sono interessanti gli indirizzi per «tutti i nodi»:

ff01:0:0:0:0:0:0:1 ff02:0:0:0:0:0:0:1

Questi servono a identificare i gruppi di tutti i nodi IPv6, nell’ambito 116 (node-local) e 216 (link-local). Inoltre, sono importanti gli indirizzi di «tutti i router»:

ff01:0:0:0:0:0:0:2 ff02:0:0:0:0:0:0:2 ff05:0:0:0:0:0:0:2

Questi servono a identificare i gruppi di tutti i router, nell’ambito 116 (node-local), 216 (link-local) e 516 (site-local).

7.  Riferimenti

Su Linux

Questa sezione nasce con l’intento di spiegare come installare quel protocollo chiamato Ipv6 su Linux.

Iniziamo subito a dire cosa serve:

  1. Una buona **distribuzione di Linux **
  2. Tutti i seguenti tool aggiornati: (Attenzione che ogni distribuzione ha i suoi tool perciò cercate i seguenti programmi per la vostra distribuzione o direttamente sul loro sito). NB: Le distribuzioni linux più nuove hanno la maggior parte di questi programmi già installati, o compresi nel cd di
    installazione)
    • - modutils2.1.121 o maggiore;
    • - net-tools1.54 o maggiore;
    • - iputils-20000121 o maggiori;
    • - nkit-0.4.1 o maggiore;
    • - tcpdump e libpcap disponibili sul sito http://www.tcpdump.org/;
    • - lukemftp-1.5beta2 o maggiore (è il client ftp);
    • - xinetd-2.1.8.8p2 o maggiore;
    • - ftpd-BSD-0.3.2-2.i386 o maggiore (se non avete bisogno del demone ftp potete non prenderlo);
  3. Il kernel da 2.2.17 in poi

Adesso se abbiamo installato tutti i pacchetti necessari, possiamo passare a ricompilare il kernel per il supporto Ipv6

Se volete modificare le impostazioni da ambiente x

[root@localhost.localdomain]# make xconfig

Altrimenti

[root@localhost.localdomain]# make menuconfig

Le opzioni che dovrete attivare per abilitare l’IPv6 sono:

Opzioni

Scelta

* Y = Yes; M = Module; N = No;

Code maturity Level Option

Prompt for development and/or incomplete code driver

Y

Neworking options

Packet socket
Unix domain sockets
TCP/IP networking
The IPv6 protocol
IPv6: enable EUI-64 token format
IPv6: disable provider based address

Y
Y
Y
Y
Y
Y

File systems

/proc filesystem support

Y

Kernel hacking

Magic sysrq key

Y

Bisogna ricordarsi anche di settare (se non lo sono già) in Network device support le opzioni PPP (point-to-point) support, e tutto il resto per il corretto funzionamento del sistema. Se dimenticate ad esempio “PLIP (parallel port) support” niente stampante , oppure senza “SLIP (Serial Port) support” niente porta seriale. Io consiglio di compilare tutto in maniera monolitica, cioè di settare tutto con un secco “yes” e non con “m” ossia modulo. Dopo aver finito, salvate le modifiche e uscite.

Adesso dobbiamo ricompilare il kernel

[root@localhost.localdomain]# make dep

[root@localhost.localdomain]# make clean

[root@localhost.localdomain]# make bzImage

[root@localhost.localdomain]# make modules

[root@localhost.localdomain]# make modules install

Ecco se non ci sono stati errori, avete ricompilato il kernel

Adesso andate nella directory /arch/i386/boot/ e copiamo il file bzImage in /boot/

Adesso non ci rimane che editare /etc/lilo.conf inserendoci queste linee

image = /bzImage

root = /dev/hda2

label = LinuxV6

read-only

Savate il file e state attenti al label non deve essere uguale … State attenti anche a /dev/hda2 che cambia a seconda della posizione in cui si trova l’hd.

Adesso lancia lilo

[root@localhost.localdomain]# lilo

Se vi dovessero dare problemi provate a scrivere

[root@loaclhost.localdomain]# ./lilo

oppure

[root@localhost.localdomain]# /bin/lilo

Se il sistema vi conferma che è stato aggiunto a lilo il nuovo kernel reboottate ed entrate con il nuovo kernel

Adesso se è andato tutto bene fate

[root@localhost.localdomain]# ifconfig

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:3924 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

se c’è anche inet6 addr: ::1/128 Scope:Host allora tutto va bene!! Altrimentiqualcosa è andato storto.

Se va bene possiamo andare avanti. Editiamo /etc/protocols aggiungendo:

ipv6 41 IPv6 # IPv6

ipv6-route 43 IPv6-Route # Routing Header for IPv6

ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6

ipv6-crypt 50 IPv6-Crypt # Encryption Header for IPv6

ipv6-auth 51 IPv6-Auth # Authentication Header for IPv6

ipv6-icmp 58 IPv6-ICMP icmpv6 icmp6 # ICMP for IPv6

ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6

ipv6-opts 60 IPv6-Opts # Destination Options for IPv6

naturalmente se non esistono.

Poi editiamo /etc/hosts e ci aggiungiamo:

::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts

#è il nome del pc mettete quello che volete

Salvate e poi verificare che tutto funza pingandovi con ping6 in questo modo:

[root@localhost.localdomain]# ping6 ::1

PING ::1(::1) from ::1 : 56 data bytes

64 bytes from ::1: icmp_seq=0 hops=64 time=61 usec

64 bytes from ::1: icmp_seq=1 hops=64 time=57 usec

64 bytes from ::1: icmp_seq=2 hops=64 time=57 usec

64 bytes from ::1: icmp_seq=3 hops=64 time=56 usec

64 bytes from ::1: icmp_seq=4 hops=64 time=55 usec

— ::1 ping statistics —

5 packets transmitted, 5 packets received, 0% packet loss

round-trip min/avg/max/mdev = 0.055/0.057/0.061/0.005 ms

Ecco se otterrete questo messaggio è andato tutto bene, adesso iscrivetevi ad un Tunnel Broker:

Ci sono molti altri Tunnel broker, sta a voi scegliere quello che volete.

Lo script di attivazione del tunnel lo troverete anche nei siti dei rispettivi Tunnel Broker.

Se volete entrare in irc con Ipv6 scaricatevi il BitchX (BitchX ircii-pana-1.0c17, compilandolo con l’opzione –enable-ipv6).

Ecco fatto, abbiamo finito.

Su Windows

Vedremo l’utilizzo di Ipv6 su IRC (Internet Relay Chat) montato in un sistema operativo “Windows 2000 Professional” .

Naturalmente molti si chiederanno perché installare Ipv6, non è necessario installarlo perché si può continuare a chattare come sempre senza nessun problema ma con Ipv6 c’è il vantaggio che tutti gli altri utenti che sono in chat non possono vedere il nostro indirizzo IP, al contrario del normale collegamento. Quindi senza il nostro indirizzo IP non saremmo più soggetti ad attacchi lamah o smurf a volte molto fastidiosi, infatti Ipv6 ovvia a questo problema in quanto il nostro indirizzo IP lo conosciamo solo noi e il server che ci offre il servizio Ipv6 (In questo caso si dice che si crea un tunnel tra noi utenti ed il server).

Installazione di Ipv6:

L’installazione è alquanto semplice e richiede solamente 3 download, in fatti x il corretto funzionamento di Ipv6 bisogna scaricare

Ora che abbiamo scaricato questi componenti bisogna installarli tutti ed eseguire i necessari riavvii, dopo di che bisogna andare su

Start -> Impostazioni -> Pannello di Controllo -> Installazione Guidata Hardware

Poi scegliere l’opzione

Aggiungi/Risolvi Problemi (periferica)

e cliccare su avanti.

Una volta comparso l’elenco scegliere l’opzione

Aggiungi Nuova Periferica

e cliccare su avanti.

La domanda successiva è Avviare la ricerca di nuovo hardware? Qui scegliere No, l’hardware sarà selezionato da un elenco e cliccare su avanti.

Nella nuova lista scegliere come tipo di hardware Schede di rete e cliccare su avanti.

Nella nuova lista scegliere come produttore Microsoft e selezionare come scheda di rete Scheda Microsoft LoopBack e cliccare su avanti.

In questo modo è come se il nostro PC avesse una scheda di rete installata anche se fisicamente la scheda non esiste (a meno che tu non l’abbia).

Ora andare su

Start -> Impostazioni -> Reti e Connessioni Remote -> Connessione Alla Rete Locale (LAN)

Qui cliccare col destro sulla voce e selezionare proprietà poi cliccare su

Installa…

Selezionare

Protocollo

E nella nuova lista la voce

Microsoft Ipv6 Protocol

e spuntarlo nell’apposita casella

Ora necessario effettuare una registrazione al server che farà da tunnel tra noi ed esso

- URL della registrazione (Ce ne sono anche tanti altri) http://www.6bone.it/cgi-bin/tb.cgi?oper=iscrizione

Una volta effettuata la registrazione bisogna controllare l’e-mail immessa durante la registrazione perché li troveremo tutti i dati necessari per l’impostazione dell’Ipv6

Ora aprire il prompt di MSDos che si trova su

Start -> Programmi -> Accessori -> Prompt di MS-Dos

Una volta aperto scrivere :

ipv6 rtu ::/0 2/::62.94.0.65 pub ipv6 adu 2/ tuo_ipv6_appena_arrivato_sulla_mail

Una volta arrivati a questo punto non rimane che aprire il programma Asy Bov 6 che avevamo installato precedentemente.

Una volta lanciato il programma andare su option -> config e qui si presenterà una finestra.

Impostare nel seguente modo i campi

  • - AConfig File Name bisogna selezionare il file skynet.asy che è nella directory del programma Asy Bov 6
  • - DaIpv4 (interface) fino all’ultimo port è necessario immettere i campi contenuti in questa immagine
  • - Alla voce using Ipv6 immettere l’Ipv6 vostro che vi è arrivato x e-mail

A questo punto non rimane che cliccare su Save e poi su Ok, una volta fatto questo cliccare su start, a questo punto tutto è pronto, non rimane che impostare il nostro script per chattare con Ipv6

Aprire lo script e digitare nella riga dello

status /server 127.0.0.1 6667

Tutto è terminato, ora sarete collegati su un server .it, in questo caso mi sembra sia edisontel. Da ora utilizzerete Ipv6 invece che il vostro IP.

Questo era per l’installazione, ogni volta che vi disconnetterete dalla rete e vorrete riconnettervi con l’ipv6 sarà necessario andare su

http://www.6bone.it/cgi-bin/tb.cgi?oper=identifica

Qui eseguire il login con i dati che ci erano arrivati sulla mail, quindi aprire Asy Bov 6, cliccare su option -> config selezionare il solito file skynet.asy e cliccare su load, poi su ok.

Ora cliccare su start e fare sullo script la procedura di sempre.

Se la seconda volta che vi riconnettete con Ipv6 lo script da un errore del tipo

*** Send error [10053] Software caused connection abort

ricordarsi di riscrivere quelle 2 righe nel prompt di MS-Dos