[DNS] ist die Abkürzung für Domain Name Server. [DNS] ist eins der Basisprotokolle des Internet, das für die Auflösung von Domain-Namen zuständig ist, also zum Beispiel www.intersult.com. __Hinweis:__ Aktueller Stand ist die Installation von [Bind|Docker#section-Docker-FullBindDNS] in einem [Docker] Container. Namensgebung: * __named:__ Typeische Unix-Bezeichung für Name-D(aemon), da er im Hintergrund läuft. * __bind:__ Abkürzung für Berkeley Internet Name Daemon. !!!Konfiguration !!Zone-Datei In der Zone-Datei gibt es mehrere Möglichkeiten einen Host zu beschreiben: ||Typ||Erklärung||Beispiel |IP|Direkte Angabe einer IP-Adresse|127.0.0.1 |Absolute Domain|Absolute Domains werden direkt ab der Root-Zone spezifiziert und enden mit einem Punkt|dns.quad.cy4. |Relative Domains|Relative Domains werden durch die Zone ergänzt und enden auf einen Zone-Namen|dns.quad |Eigene Zone|Die eigene Zone kann durch das At-Zeichen referenziert werden.|@ __Hinweis:__ Die Einträge in der Zone-Datei sollten so relativ wie möglich gehalten werden. Veränderungen sind dadurch leichter vorzunehmen und die Gefahr wird reduziert, dass Einträge übersehen werden. Ebenso erleichtert es das Nutzen einer Zone-Datei als Vorlage für eine neue Zone. Die Typen der Einträge sind: ||Typ||Erklärung |SOA|Start of Authority, legt den Master Nameserver und die Email-Adresse für diese Zone fest. |NS|Festlegen des zuständigen Nameservers. Der Name-Server darf kein CNAME-Alias sein, sondern ein A-Eintrag. |A|Authoritiver Eintrag, also das Festlegen einer IP-Adresse für eine Domain. |CNAME|Alias für einen Eintrag, also eine Referenz auf einen anderen Eintrag. |MX|Mail-Server für die Zone. Der Eintrag muss auch direkt auf einen A-Eintrag verweisen. |PTR|Reverse-Lookup um für eine IP-Adresse einen Domain-Namen zu erhalten. !!Beispiel {{{ $TTL 1H @ IN SOA dns.quad postmaster@quad (1 1h 15m 30d 2h) IN NS dns.quad quad IN A 127.0.0.1 dns.quad IN A 127.0.0.1 www IN CNAME quad }}} Die Syntax ist @ IN SOA <DNS-Server> <Postmaster-Email> (Timeouts) ... !!!EDNS Extended DNS ist erweiterted DNS für UDP, vor allem wegen der ursprünglichen Längenbegrenzung von 512 Bytes. Getestet werden kann es mit dem Dig-Befehl: {{{ dig @192.168.1.14 +short rs.dns-oarc.net txt }}} Es gibt zwei Lösungsmöglichkeiten: !!Reduzieren von EDNS auf 512 Bytes Die erforderlichen Einträge in der named.conf: {{{ edns-udp-size 512; max-udp-size 512; }}} !!Abschalten der EDNS-Funktionalität Die erforderlichen Einträge in der named.conf: {{{ server 0.0.0.0/0 { edns no; }; server ::/0 { edns no; }; }}} !!!ISC Bind Server Failure Unter ISC Bind kommt es bei rekursiven DNS-Anfragen bei einigen Leuten zu den Meldungen "Server Failure". Es wird vermutet, dass dies nur in Bind 9 unter Windows auftaucht. Eine möglicher Work-around ist vermutlich: {{{ max-ncache-ttl 30; lame-ttl 10; cleaning-interval 0; }}} __Erklärung:__ Negative Einträge bzw. langsame DNS-Server werden nach kurzer Zeit (30 Sekunden bzw. 10 Sekunden) nochmal abgefragt. Einmal gefundene Ergebnisse werden nicht aus dem Cache entfernt. !!!Dynamische DNS-Server Frei und einfach zu nutzen sind: * [DDNS|https://www.ddns.net/] * [Duck DNS|https://www.duckdns.org/] !!!Links * [Wikipedia|http://de.wikipedia.org/wiki/Zonendatei] * [http://www.wiki.csoft.at/index.php/ISC_BIND_Nameserver_in_Windows_XP_installieren]