• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] bind9 und IPv6 : Jetzt mit kleinem Howto

Hallo,

ich bin gerade mal dabei meinem bind9-Server hier IPv6 beizubringen. Ich will gerne die link-local Adressen fe80 über den bind auflösen. Das "forward-lookup" funktioniert gut, aber das "revers-lookup" will irgendwie nicht so wie ich es will. Ich habe nun schon so einige Anleitungen im Netz gelesen, aber nichts hilft :-( Hier mal meine Konfigurationseinträge:

named.conf.local:

Code:
zone "2.e.f.ip6.arpa" {
        type master;
        file "master/db.fe80_10";

        allow-transfer {

        };
};

Zonen-Datei:

Code:
; fe80::/10
;
$TTL 3d ; Default TTL (bind 8 needs this, bind 9 ignores it)
@       IN SOA 2.e.f.ip6.arpa. stefan.kania-lokal.de. (
                201105310       ; Serial number (YYYYMMdd)
                24h             ; Refresh time
                30m             ; Retry time
                2d              ; Expire time
                3d              ; Default TTL (bind 8 ignores this, bind 9 needs it)
)

                                ; Name server entries
                                IN     NS     fe80::6e62:6dff:fea6:c269.
; IPv6 PTR entries

; Subnet #1
$ORIGIN 0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.

9.6.2.c.6.a.e.f.f.f.d.6.2.6.e.6         IN      PTR     com1v6.kania-lokal.de.

Hier mal die Ausgaben von "host"
Code:
root@com1:/var/cache/bind/master# host -6  com1v6      
com1v6.kania-lokal.de has IPv6 address fe80::6e62:6dff:fea6:c269

root@com1:/var/cache/bind/master# host -6  fe80::6e62:6dff:fea6:c269
Host 9.6.2.c.6.a.e.f.f.f.d.6.2.6.e.6.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa not found: 3(NXDOMAIN)

Vielleicht kann mir ja mal einer einen Tipp in die richtige Richtung geben.
 

Jägerschlürfer

Moderator
Teammitglied
aufgebaut habe ich das selbst noch nicht, aber muss in der Zonendatei nicht was anderes stehen?
Dort speziell unter dem Punkt Name Server entries?
Muss hier nicht anstatt der IPv6 Adresse der Eintrag des DNS Namens stehen?

Einen Proxy hast du nicht davor, der dir irgend was blockt?
 
Hab ich auch gedacht und ausprobiert, bringt nichts. Ich habe die Zonendateien über diese Seite erstellt: http://www.fpsn.net/?pg=tools&tool=ipv6-inaddr
Die Zonendateien sind syntaktisch richtig, denn die Zonen werden bei starten des Bind auch geladen.

--------------EDIT-------------
Also die Zone wird geladen:
Code:
zone 0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.f.ip6.arpa/IN: loaded serial 201105310
Aber weiter oben im Log-file steht:
Code:
master/db.fe80_10:20: ignoring out-of-zone data (9.6.2.c.6.a.e.f.f.f.d.6.2.6.e.6.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa)
für alle Einträge in der Zone :-(
Hab ich gestern gar nicht mehr gesehen.
 
Habe gerade noch mal die Zone überprüft und noch mal mit named-checkzone getestet. Da kommt kein Fehler:
Code:
root@com1:/var/cache/bind/master# named-checkzone -d 0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. db.fe80_10 
loading "0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa." from "db.fe80_10" class "IN"
zone 0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa/IN: loaded serial 2011060100
OK

Aber der Zonentransfer auf den Slave geht auch nicht.
Erst kommen immer wieder diese Meldungen:
Code:
Jun  1 09:27:14 nas01 named[1767]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.f.ip6.arpa/IN: notify from fe80::6e62:6dff:fea6:c269%2#45215: refresh in progress, refresh check queued

Dann diese:
Code:
Jun  1 09:28:25 nas01 named[1767]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.f.ip6.arpa/IN: refresh: retry limit for master fe80::6e62:6dff:fea6:c269#53 exceeded (source ::#0)
Jun  1 09:28:25 nas01 named[1767]: zone 0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.f.ip6.arpa/IN: Transfer started.
Jun  1 09:28:25 nas01 named[1767]: socket.c:5195: unexpected error:
Jun  1 09:28:25 nas01 named[1767]: connect(fe80::6e62:6dff:fea6:c269#53) 22/Invalid argument
Jun  1 09:28:25 nas01 named[1767]: transfer of '0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.f.ip6.arpa/IN' from fe80::6e62:6dff:fea6:c269#53: failed setting up socket: unexpected error
Jun  1 09:28:25 nas01 named[1767]: transfer of '0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.f.ip6.arpa/IN' from fe80::6e62:6dff:fea6:c269#53: Transfer completed: 0 messages, 0 records, 0 bytes, 0.001 secs (0 bytes/sec)
Jun  1 09:28:25 nas01 named[1767]: transfer of '0.0.0.0.0.0.0.0.0.0.0.0.0.2.e.f.ip6.arpa/IN' from fe80::6e62:6dff:fea6:c269#53: zone transfer setup failed

Vielleicht liegt es ja daran, dass ich das ganze mit den link-local Adressen versuche. Ich glaube ich werde meinen Kisten mal "richtige" IPv6-Adressen aus dem Bereich 2001 zuweisen um das ganze zu testen.
 
:eek:ps: :eek:ps: :eek:ps: Asche auf mein Haupt. Der Fehler, was die revers-Auflösung angeht, saß mal wieder vor dem Monitor. Ich hatte einen Schreibfehler in der Zone. Statt fe80 stand dort fe20 so kann es ja auch nicht gehen.
Hier jetzt mal der funktionierende Zoneneintag in der named.conf.local:
Code:
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa" {
        type master;
        file "master/db.fe80_10";

        allow-transfer {
        fe80::225:22ff:fe1c:3db6;
        };
};

und die dazugehörige Zonendatei:
Code:
; fe80::/10
;
$TTL 3d ; Default TTL (bind 8 needs this, bind 9 ignores it)
@       IN SOA 0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. stefan.kania-lokal.de. (
                2011060100      ; Serial number (YYYYMMdd)
                24h             ; Refresh time
                30m             ; Retry time
                2d              ; Expire time
                3d              ; Default TTL (bind 8 ignores this, bind 9 needs it)
)

                                ; Name server entries
                                IN      NS      com1v6.kania-lokal.de.
                                IN     NS     nas01v6.kania-lokal.de.
; IPv6 PTR entries

; Subnet #1
$ORIGIN 0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.

9.6.2.c.6.a.e.f.f.f.d.6.2.6.e.6         IN      PTR     com1v6.kania-lokal.de.
0.a.6.2.d.7.e.f.f.f.2.9.d.1.2.0         IN      PTR     stefanv6.kania-lokal.de.
6.b.d.3.c.1.e.f.f.f.2.2.5.2.2.0         IN      PTR     nas01v6.kania-lokal.de.

dann klappt es auch mit der Auflösung:
forward:
Code:
host com1v6
com1v6.kania-lokal.de has IPv6 address fe80::6e62:6dff:fea6:c269

reverse:
Code:
host fe80::6e62:6dff:fea6:c269
9.6.2.c.6.a.e.f.f.f.d.6.2.6.e.6.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa domain name pointer com1v6.kania-lokal.de.

Dann auf zur nächsten Baustelle dem slave-Server
 
Alle Probleme gelöst. Auch der Transfer der IPv6-Zone auf den Slave läuft jetzt. Hier dann mal eine kurze Beschreibung und alle Konfigurationsdateien.
Der Bind9 kann natürlich schon IPv6, es kann aber sein, dass die Option deaktiviert ist. In der Datei /etc/bind/named.conf.options (Debian und darauf basierende Distributionen) bei suse meine ich ist alles in der /etc/named.conf, muss die folgenden Option aktiv sein:
Code:
 listen-on-v6 { any; };
Dann klappt es auch mit IPv6.
Dann wird als erstes der Master eingerichtet. Die Zonen werden in der /etc/bind/named.conf.local (debian) und /etc/named.conf.include (suse) eingetragen.
Hier die Datei:
Code:
zone "kania-lokal.de" in {
        type master;
        file "master/db.kania-lokal";
        };

zone "123.168.192.in-addr.arpa" in {
        type master;
        file "master/db.192.168.123";
        };


zone "0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa" {
        type master;
        file "master/db.fe80_10";
Die Forward-Zone ist für IPv4 und IPv6 an dieser Stelle identisch. Auch die Zonen-Datei ist nachher für beide die selbe.
Die Forward-zone bezieht sich hier auf den link-local IPv6-Bereich (fe80::), das ist die IPv6 Adresse die automatisch vergeben wird. (etwas ungenau aber alles mehr würde hier ein Buch werden ;-) )
Jetzt die Forward-zonendatei:
Code:
$TTL 1800
@ IN SOA com1.kania-lokal.de. root.com1.kania-lokal.de. (
2011060100
600
200
604800
1800 )
; Namen der Nameserver der Zone
        IN NS nas01.kania-lokal.de.
        IN NS com1.kania-lokal.de.
        IN NS com1v6.kania-lokal.de.
        IN NS nas01v6.kania-lokal.de.

; Mail exchanger
@ IN MX 5 com1.kania-lokal.de.

; Host-Adressen



com1 IN A 192.168.123.103
nas01 IN A 192.168.123.104
stefan IN A 192.168.123.2


; IPv6 hosts
com1v6  IN AAAA fe80::6e62:6dff:fea6:c269
stefanv6 IN AAAA fe80::21d:92ff:fe7d:26a0
nas01v6 IN AAAA fe80::225:22ff:fe1c:3db6

Die revers-Zone für IPv4 schenke ich mir an der Stelle, dafür gibt es genügend Beispiele im Netz.
Deshalb hier die IPv6-reverse-Zone:

Code:
$TTL 3d ; Default TTL (bind 8 needs this, bind 9 ignores it)
@       IN SOA 0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. stefan.kania-lokal.de. (
                2011060100      ; Serial number (YYYYMMdd)
                24h             ; Refresh time
                30m             ; Retry time
                2d              ; Expire time
                3d              ; Default TTL (bind 8 ignores this, bind 9 needs it)
)

                                ; Name server entries
                                IN      NS      com1v6.kania-lokal.de.
                                IN     NS     nas01v6.kania-lokal.de.
; IPv6 PTR entries

; Subnet #1
$ORIGIN 0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.

9.6.2.c.6.a.e.f.f.f.d.6.2.6.e.6         IN      PTR     com1v6.kania-lokal.de.
0.a.6.2.d.7.e.f.f.f.2.9.d.1.2.0         IN      PTR     stefanv6.kania-lokal.de.
6.b.d.3.c.1.e.f.f.f.2.2.5.2.2.0         IN      PTR     nas01v6.kania-lokal.de.
Die IP-Adressen werden natürlich auch hier von hinten nach vorne eingetragen!

Jetzt kam dann bei mir hier der Knackpunkt, der Zonentransfer auf den Slave-Server für IPv6. Mein Nameserver läuft schon lange mit IPv4 auch der Zonentransfer klappte da ohne Probleme. Bei IPv6 muss man da auf ein paar Dinge aufpassen.
Hier erst einmal die named.conf.local:
Code:
zone "kania-lokal.de" in {
        type slave;
        masters {192.168.123.103; fe80::6e62:6dff:fea6:c269;};
        file "slave/db.kania-lokal";
        };

zone "123.168.192.in-addr.arpa" in {
        type slave;
        masters {192.168.123.103;};
        file "slave/db.192.168.123";
        };

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa" {
        type slave;
        masters{ fe80::6e62:6dff:fea6:c269; };
        allow-notify {fe80::6e62:6dff:fea6:c269; fe80::225:22ff:fe1c:3db6; };
        file "slave/db.fe80_10";
};
ACHTUNG!! Die Zeile mit allow-notify ist in der IPv6 Zone absolut wichtig! Ohne diesen Eintrag klappt es nicht. Hier stehen sowohl die IP-Adressen des Masters als auch des Slaves!

Bis zu diesem Punkt ist jetzt bei mir auch alles immer in Ordnung gewesen, nur wollte der Slave partout nicht die Dateien vom Master holen. Lösung: In der /etc/resolv.conf muss ein Nameserver mit einer IPv6 Adresse angetragen sein. Also den Master/Slave in die Datei auf beiden Servern eintragen und siehe da, es klappt.
Ich hoffe, ich habe damit einigen geholfen den ersten Schritt in Richtung IPv6 zu gehen.
 
Oben