[[Vorlage(Getestet, jammy)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Programme_starten: Starten von Programmen] [:Terminal: Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] [:DNS-Server_Bind:] }}} [[Inhaltsverzeichnis()]] [wikipedia: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 [:DNS-Server_Bind/#Vertrauenswuerdige-Clients-festlegen: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 {{{#!vorlage Befehl 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 {{{#!vorlage Befehl 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:~$ }}} = Links = * [:dig:] - DNS-Abfragen manuell durchführen * [https://www.rfc-editor.org/rfc/rfc6147.html RFC6147] {en} #tag: Netzwerk, Internet, System, Server