Linux User Group Ischia

Associazione Culturale Open dal 2001

Guida all’uso dell’IPv6

| 1 commento

Questo articolo non vuole essere una guida sull’IPv6 come le altre che trovate
sul sito ma vuole essere soltanto un piccolo aiuto per tutti quelli che vogliono smanettare con il DNS in IPv6 e magari imparare qualcosa di nuovo al riguardo senza però scendere troppo nel dettaglio a livello tecnico.

Se ne volete sapere di più su argomenti come DNS e TUNNELING vi invito a visitare i link presenti sul nostro sito.
Innanzitutto prima di configurare il bind dovete avere una /48 (www.freenet6.net) oppure una /64 (www.tunnelbroker.net),dopo avervi creato un account su uno di questi tunnel broker dovete chiedere le deleghe sul dns della vostra /48 o /64 ke sia.
Come DNS vi consiglio di crearvi un DNS Dinamico(cioè un host statico il cui ip è dinamico) su www.dyndns.org oppure su hn.org in modo che chi ha un dialup lo possa aggiornare di volta in volta senza troppi affanni dato che dovete dare o unIP statico oppure un DNS dinamico al Tunnel Broker (Assicuratevi che offra NS Forwarding).
Dopo aver fornito un IP statico oppure un DNS dinamico al Tunnel Broker avrete la totale amministrazione della vostra /48 o /64 che sia e quindi non ci rimane che configurare i file di configurazione del named.
I file che andremo a configurare sono 3 e li metteremo nell directory /etc,
questi file a parte il named.conf(che non può variare il proprio nome) possono
assumere il nome che vogliamo ma per convenzione li chiameremo zone.conf ed
ipv6.int.


Creeremo un nuovo file per gestire la zone del nostro prefisso e lo chiameremo
zone.conf
——————————————————————————-
@ IN SOA ginecol.ogi.cl. root.ginecol.ogi.cl. (
2001021619 ; serial (d. adams)
1H ; refresh
10M ; retry
1W ; expiry
1D ) ; minimum
IN NS fireblade.mine.nu.
$ORIGIN ginecol.ogi.cl.
Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl. IN AAAA 3ffe:0b80:1f09:1::1
Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl. IN A 127.0.0.1
ipv6.ginecol.ogi.cl. IN AAAA 3ffe:0b80:1f09:1::2
ipv8.ginecol.ogi.cl. IN AAAA 3ffe:0b80:1f09:1::3
——————————————————————————–
Questo è quello che utilizzo io (con delega /48 di freenet6),ovviamente IN NS mettete il DNS che vi siete fatti delegaren dal tunne broker ed IN SOA ed in $ORIGIN mettete l’host che vi siete registrati,mi raccomando di non omettere mai il punto alla fine degli host.Il passo finale nella configurazione di questo file sarà associare ad ogni host un indirizzo IPv6 (o IPv4)
Adesso passiamo alla configurazione del nostro 2° file,che chiameremo named.confin cui andremo ad aggiungere la nuova “zone” che abbiamo creato.Eccovi il mio :
——————————————————————————–
options {
directory “/etc/”;
pid-file “/var/run/named.pid”;
};
zone “ginecol.ogi.cl” {
type master;
file “zone.conf”;
allow-query { any; };
};
zone “9.0.f.1.0.8.b.0.e.f.f.3.ip6.int” {
type master;
file “ipv6.int”;
allow-query { any; };
};
——————————————————————————–
Al posto di “ginecol.ogi.cl” ovviamente mettete l’host che vi siete registrati (che ovviamente vi deve dare NS forwarding),al posto di “9.0.f.1.0.8.b.0.e.f.f.3.ip6.int” dovrete mettere il range reversato della vostra /48 o /64 che sia.
Esempio:
Questa è la mia /48 –> 3ffe:0b80:1f09::/48
——————————————————————————–
[root@localhost bin]# dig 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int ptr

; <<>> DiG 9.2.1 <<>>
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int ptr
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 44051 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. IN PTR ;; AUTHORITY SECTION: 9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. 10800 IN SOA ginecol.ogi.cl. root.ginecol.ogi.cl. 2001021619 3600 900 604800 86400 ;; Query time: 351 msec ;; SERVER: 192.133.28.7#53(192.133.28.7) ;; WHEN: Sun Jun 1 00:31:46 2003 ;; MSG SIZE rcvd: 136 [root@localhost bin]# ——————————————————————————– Quindi il reversato (che ho ricavato partendo dalla fine dell’indirizzo e separando ogni lettera o cifra con un punto “.” e concludendo in reverse con .ip6.int sarà : 9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. ——————————————————————————- ; ;—————————————-, ; network part /64 | Host part 64 bits | ;——————–|——————-‘ ;3ffe:0b80:1f09:0001:0000:0000:0000:0001 ; ——————————-, ; Your Network| Your prefix (48 bits) | ; ——-|——-|——-|——-| ; $ORIGIN 1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. ; Hosts of your network ;—————————— ; 64 bit host address part. ;——|——-|——-|——- 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 in ptr Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl. ——————————————————————————– Adesso passiamo alla configurazione del nostro ultimo file, il file ipv6.int Eccovi innanzitutto l’esempio del mio: ——————————————————————————- @ IN SOA ginecol.ogi.cl. root.ginecol.ogi.cl. ( 2001021619 ; serial (d. adams) 1H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS fireblade.mine.nu. $ORIGIN 1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl. 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ipv6.ginecol.ogi.cl. 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ipv8.ginecol.ogi.cl. ——————————————————————————- La prima parte di questo file come si può facilmente notare è del tutto identica a quella del file zone.conf che abbiamo precedentemente creato. Esaminiamo invece la seconda parte del file: la variabile $ORIGIN contiene il reverse della nostra classe che abbiamo creato prima,gli host presentano gli indirizzi IPv6,che vengono sempre reversati partendo dalla fine Esempio: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl. corrisponde all’indirizzo 3ffe:b80:1f09:1::1 , dato che a 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 viene attaccato il conenuto della variabile $ORIGIN. Quindi il reverse completo dell’indirizzo 3ffe:b80:1f09:1::1 è –>
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int
Terminato anche quest’ultimo file dobbiamo testare la nostra delega al /48 ed
il nostro server DNS.
Eccovi gli esempi
1) Test delega
——————————————————————————-
[root@localhost arccas]# dig 1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int NS

; <<>> DiG 9.2.1 <<>> 1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int NS
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 16945
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. IN NS

;; AUTHORITY SECTION:
9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. 10800 IN SOA ginecol.ogi.cl.
root.ginecol.ogi.cl. 2001021619 3600 900 604800 86400

;; Query time: 328 msec
;; SERVER: 192.133.28.1#53(192.133.28.1)
;; WHEN: Sun Jun 1 00:57:09 2003
;; MSG SIZE rcvd: 112
——————————————————————————-
2) Test nostro server DNS
——————————————————————————-
[root@localhost arccas]# dig 1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int SOA

; <<>> DiG 9.2.1 <<>> 1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int SOA
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 9440 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. IN SOA ;; AUTHORITY SECTION: 9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. 10698 IN SOA ginecol.ogi.cl. root.ginecol.ogi.cl. 2001021619 3600 900 604800 86400 ;; Query time: 165 msec ;; SERVER: 192.133.28.1#53(192.133.28.1) ;; WHEN: Sun Jun 1 00:58:51 2003 ;; MSG SIZE rcvd: 112 ——————————————————————————- Dopo aver fatto ciò ,se avete configurato in maniera corretta i tre file sopra citati dovete lanciare il named [root@localhost arccas]#/usr/sbin/named [root@localhost arccas] Dopo averlo lanciato bisogna vedere se il named è effettivamente in esecuzione e possiamo fare ciò con il comando “pidof” che trova il process ID di un programma in esecuzione. [root@localhost arccas]# /sbin/pidof named 1296 [root@localhost arccas]# Ora killate il named e riavviatelo : [root@localhost arccas]# kill PIDdelNAMED oppure [root@localhost arccas]# killall -g named Qualora i file di configurazione presentassero errori il named non si avvierà e quindi al named non sarà associato nessun Process ID,ragion per cui pidof non darà risultato.Gli errori possono essere facilmente rintracciati con il comando –> tail -v /var/log/messages
Leggete attentamente i logs di sistema e correggete gli eventuali errori di
volta in volta.
Se dal pidof viene fuori l’ID del processo “named” allora vuol dire che la
configurazione dei file è corretta ed il named è perfettamente funzionante.
Adesso facciamo una query ad uno dei nostri indirizzi :
——————————————————————————-
[root@localhost arccas]# dig -n -x 3ffe:b80:1f09:1::1

; <<>> DiG 9.2.1 <<>> -n -x 3ffe:b80:1f09:1::1
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41846 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. IN PTR ;; ANSWER SECTION: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. 86400 IN PTR Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl. ;; AUTHORITY SECTION: 9.0.f.1.0.8.b.0.e.f.f.3.ip6.int. 86400 IN NS fireblade.mine.nu. ;; ADDITIONAL SECTION: fireblade.mine.nu. 59 IN A 143.225.185.26 ;; Query time: 527 msec ;; SERVER: 192.133.28.7#53(192.133.28.7) ;; WHEN: Sun Jun 1 01:13:08 2003 ;; MSG SIZE rcvd: 211 ——————————————————————————– [root@localhost arccas]# host -n 3ffe:b80:1f09:1::1 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.9.0.f.1.0.8.b.0.e.f.f.3.ip6.int domain name pointer Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl. ——————————————————————————– [root@localhost arccas]# host -t AAAA Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl has AAAA address 3ffe:b80:1f09:1::1 ——————————————————————————– Pinghiamo uno degli host che ci siamo creati: [root@localhost arccas]# ping6 Fireblade.fa.parte.dell.associazione.nazionale.ginecol.ogi.cl ——————————————————————————– A questo punto la guida può considerarsi finita, ma poichè qualcuno vorrà provare a joinare in IRC con il vhost che si è creato,eccovi le istruzioni necessarie ——————————————————————————- /sbin/modprobe ipv6 /sbin/ifconfig sit0 up /sbin/ifconfig sit0 inet6 tunnel ::EdpointIpv4delTB /sbin/ifconfig sit1 up /sbin/ifconfig sit1 inet6 add vostroIPv6 /sbin/route -A inet6 add ::/0 dev sit1 ——————————————————————————– 1) Salvate questi comandi in un editor e salvate come tb.sh 2) chmod 755 tb.sh 3) ./tb.sh A questo punto il vostro tunnel è pronto e siete anche pronti per connettervi ad un server IRC che potete trovare qui –>www.hs247.com
L’unica cosa che vi manca è un IRC Client con supporto ipv6,io vi consiglio
Xchat o BitchX (Per sistemi UNIX Like) che potete scaricare da questi siti –>
www.xchat.org
www.bitchx.org
Scaricateli (sorgenti) e compilateli abilitando il supporto ipv6 quando fate
il configure.
Written in VI Improved
Created by FireBladE –> arccas@lug-ischia.org
GNU License
01/06/2003