staging.inyokaproject.org

DNS64

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

DNS64 kann mithilfe von NAT64 genutzt werden, um reinen IPv6-Rechnern Zugang zu reinen IPv4-Rechnern zu geben. Wenn ein Client einen Host unter example.org erreichen will, fragt er den DNS-Server nach dem A(IPv4)- und AAAA(IPv6)-Record. Rechner, welche nur über IPv4 zu erreichen sind, haben keinen AAAA-Record. Bei DNS64 wird ein solcher künstlich erzeugt und dem Client als Antwort gegeben. Der Traffic wird über ein NAT64-Gateway geroutet, der Router lauscht auf dem Traffic des NAT64-Präfixes.

Konfiguration in BIND

Die Datei /etc/bind/named.conf.options muss erweitert werden.

dns64 64:ff9b::/96 {
        clients { any; };
        recursive-only yes;
        mapped { !10/8; any; }; //10.0.0.0/8 wird nicht übersetzt, alles andere schon.
};

Mit clients kann der Adressbereich eingeschränkt werden, der DNS64-Antworten erhält. Diesen sollte man auf die eigenen IPv4- und IPv6-Netze einschränken. Hier können ganz normal ACLs genutzt werden. recursive-only gibt an, dass nur bei rekursiven Antworten (Anfragen vom Client sind immer rekursiv) DNS64 genutzt werden soll. So wird verhindert, dass der eigene autoritative DNS-Server DNS64-AAAA-Records für Hostnamen ohne AAAA-Record schickt, wenn ihn andere DNS-Server fragen. mapped gibt an, welche IPv4-Adressen übersetzt werden sollen. Hier muss am Ende alles erlaubt sein und unerwünschte Bereiche (auch ACLs) können mit einem Ausrufezeichen am Anfang ausgenommen werden.

Das verwendete Präfix kann ebenso angepasst werden.

Test

Testen kann man den Server mit dig. Hierbei sollte man darauf achten, dass dies nur aus den eigenen Netzen funktioniert und nicht aus dem kompletten Internet. Bei Domainnamen, die einen AAAA-Record haben, darf kein DNS64-AAAA-Record generiert werden.

Domainname ohne AAAA-Record

m@test:~$ dig ipv4.l.google.com @::1 aaaa

; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> ipv4.l.google.com @::1 aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17238
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 2905631d4a4689a80100000062f0d5dbf555ea0fdc1426e8 (good)
;; QUESTION SECTION:
;ipv4.l.google.com.             IN      AAAA

;; ANSWER SECTION:
ipv4.l.google.com.      43      IN      AAAA    64:ff9b::d83a:d0ce ;;Präfix inkl. gemappter IPv4-Adresse

;; Query time: 0 msec
;; SERVER: ::1#53(::1) (UDP)
;; WHEN: Mon Aug 08 09:22:35 UTC 2022
;; MSG SIZE  rcvd: 102

m@test:~$ 

Domainname mit AAAA-Record

m@test:~$ dig ubuntuusers.de @::1 aaaa

; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> ubuntuusers.de @::1 aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40821
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: c4580b1634cba5bc0100000062f0d68cdde1ab662751001c (good)
;; QUESTION SECTION:
;ubuntuusers.de.                        IN      AAAA

;; ANSWER SECTION:
ubuntuusers.de.         86400   IN      AAAA    2001:4dd0:f100:0:dead:beef:cafe:1
                                                ;; nur der AAAA-Record vom autoritativen Server, kein DNS64                

;; Query time: 543 msec
;; SERVER: ::1#53(::1) (UDP)
;; WHEN: Mon Aug 08 09:25:32 UTC 2022
;; MSG SIZE  rcvd: 99

m@test:~$  
  • dig - DNS-Abfragen manuell durchführen

  • RFC6147 🇬🇧

Diese Revision wurde am 23. Oktober 2022 07:46 von DJKUhpisse erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, Internet, Server, Netzwerk