DNS

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 in einem Docker Container.

Namensgebung:

Konfiguration#

Zone-Datei#

In der Zone-Datei gibt es mehrere Möglichkeiten einen Host zu beschreiben:

TypErklärungBeispiel
IPDirekte Angabe einer IP-Adresse127.0.0.1
Absolute DomainAbsolute Domains werden direkt ab der Root-Zone spezifiziert und enden mit einem Punktdns.quad.cy4.
Relative DomainsRelative Domains werden durch die Zone ergänzt und enden auf einen Zone-Namendns.quad
Eigene ZoneDie 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:

TypErklärung
SOAStart of Authority, legt den Master Nameserver und die Email-Adresse für diese Zone fest.
NSFestlegen des zuständigen Nameservers. Der Name-Server darf kein CNAME-Alias sein, sondern ein A-Eintrag.
AAuthoritiver Eintrag, also das Festlegen einer IP-Adresse für eine Domain.
CNAMEAlias für einen Eintrag, also eine Referenz auf einen anderen Eintrag.
MXMail-Server für die Zone. Der Eintrag muss auch direkt auf einen A-Eintrag verweisen.
PTRReverse-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: