[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]