[10.12 Sierra] Anleitung für einen Secondary DNS Server?

Ijon Tichy

Clairgeau
Registriert
21.11.06
Beiträge
3.683
Ich möchte in unserem Netzwerk gerne einen Secondary DNS Server auf Linux einrichten, der vom DNS unseres macOS Servers repliziert.

Mit einem zweiten macOS Server scheint das ja ganz einfach zu gehen, aber leider macht es ja wenig Sinn, weiterhin auf macOS Server zu setzen. Wirklich sehr schade.

Nun suche ich stattdessen nach einer verständliche Anleitung, wie ich das mit einem BIND9 (oder was anderem) auf einem Ubuntu-Server einrichten kann, aber ich komme mit den Config-Files nicht klar, da die in den von mir gefunden Anleitungen praktisch nicht erklärt werden. Kennt hier jemand vielleicht eine gute Anleitung?
 

Carcharoth

Ingol
Registriert
02.07.12
Beiträge
2.068
Ich geh mal davon aus, dass du es nach der Anleitung auf Ubuntuwiki probiert hast?

Hast du spezifische Fragen zu den Config Files? Falls ja, zu welchen genau?

Hast du den hier schon durchgeguckt? Da werden die Zonendateien recht gut erklärt: https://de.wikipedia.org/wiki/Zonendatei
 

Ijon Tichy

Clairgeau
Registriert
21.11.06
Beiträge
3.683
Ich habe den Secondary DNS Server nun nach dieser Anleitung installiert und konfiguriert:

Allerdings ist die Konfiguration des Slave-Servers hier verdächtig einfach?!

Die Konfiguration des macOS Server habe ich mithilfe dieser Info angepasst für allow-transfer zu dem sekundären Server:

Wenn ich den sekundären DNS Server nach einer Domain frage, erhalte ich jedoch:

** server can't find test.domain: SERVFAIL

Wenn ich eine "normale" Internet-Domain nehme, dann bekomme ich die dieselbe Antwort, also scheint der sekundäre DNS-Server nicht korrekt konfiguriert zu sein. Ich bin gerade noch am Suchen, wo ich überhaupt einen Fehler eingebaut haben könnte...

UPDATE 1:

Jetzt habe ich eine andere Anleitung auf https://kifarunix.com/configure-bind-as-slave-dns-server-on-ubuntu-18-04/ gefunden, nach der ich noch /etc/bind/named.conf.options konfiguriert habe (was mir sinnvoll erschien).

Effekt ist nun, dass die Auflösung von Internet-Domains gelingt, was vermutlich daran liegt, dass ich jetzt Forwards habe. So weit, so gut. Die Auflösung von lokalen Domains führt jetzt zu

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36122
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; AUTHORITY SECTION:
. 10778 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2021092000 1800 900 604800 86400


Es wird also auch für lokale Domains irgendwo im Netz angefragt, statt beim lokalen DNS, wenn ich das recht sehe.


UPDATE 2:

Der Zonen-Transfer an sich scheint aber zu funktionieren. Vom zweiten Server (auf dem der sekundäre DNS läuft) aus:

$ dig mein.netz @192.168.205.11 axfr

; <<>> DiG 9.16.1-Ubuntu <<>> mein.netz @192.168.205.11 axfr
;; global options: +cmd
mein.netz. 10800 IN SOA mein.netz. admin.mein.netz. 2021092007 3600 900 1209600 3600
mein.netz. 10800 IN NS mein.netz.
mein.netz. 10800 IN A 192.168.205.11
svn.mein.netz. 10800 IN CNAME mein.netz.
;; Query time: 0 msec
;; SERVER: 192.168.205.11#53(192.168.205.11)
;; WHEN: Mon Sep 20 14:29:33 CEST 2021
;; XFR size: 13 records (messages 1, bytes 342)


Bleibt nun die Frage, warum trotzdem NXDOMAIN behauptet wird, wenn ich den sekundären Server frage?
 
Zuletzt bearbeitet:

Ijon Tichy

Clairgeau
Registriert
21.11.06
Beiträge
3.683
Ich komme der Sache näher.

Erstens hatte ich im sekundären Server eine Config-Datei testweise inaktiviert. Die wird aber gebraucht. ;)

Zweitens habe ich beim sekundären Server nur die TLD als Zone angegeben. Also im Beispiel oben eben nur netz - etwa so:

zone "netz" IN { //Domain name

type slave; // Secondary Slave DNS

file "/var/cache/bind/forward.netz.local.db"; // Forward Zone Cache file

masters { 192.168.205.11; }; //Master Server IP

};


Ich wollte halt damit angeben, dass alle Domain-Informationen, die auf .netz enden vom Master-DNS repliziert werden können und sollen.

Aber so geht das wohl nicht, weil der macOS Server alle Domains einzeln als primäre Zone anlegt, also etwa
  • mein.netz
  • dein.netz
  • unser.netz
  • schoenes.netz
  • neues.netz

usw.

Wenn ich beim sekundären DNS stattdessen vollständig mein.netz angebe, dann löst er diese und alle dazugehörigen (mit CNAME Record verweisenden) Domains auf.

Muss ich jetzt tatsächlich diese Domains auch alle einzeln im sekundären DNS aufführen? Das wäre ja blöd, denn wenn ich beim primären etwas ändere (also eine Domain dazukommt oder gelöscht wird), müsste ich immer daran denken, das beim sekundären DNS nachzuziehen. Das geht doch sicher einfacher?

Ich habe im macOS Server DNS auch eine Zone netz hinzugefügt, aber das half nicht. Leider verstehe ich das Konzept der primären Zonen auch nicht wirklich.

Sollte ich also besser pro Server (also pro IP-Adresse) eine Zone anlegen und alles andere über CNAME Records machen?

Für Tipps wär ich dankbar!

Nachtrag:

Hier hab ich was in der Richtung gefunden:

Wenn ich das recht verstehe, dann würde ich nur eine Zone anlegen für die TLD, alle anderen löschen und dafür unter der Zone mit der TLD lauter A-Records mit den IP-Adressen dranhängen? Das geht dann aber nicht mehr mit dem Standard-Interface von macOS Server, sondern nur wenn ich alle Records selbst verwalte, oder?
 
Zuletzt bearbeitet:

Ijon Tichy

Clairgeau
Registriert
21.11.06
Beiträge
3.683
Inzwischen habe ich den Secondary DNS Server zum Laufen bekommen.

Hauptproblem war, dass ich die Primary Zone im macOS Server nicht richtig angelegt hatte bzw. hat die Server App das falsch gemacht hat, weil sie offensichtlich nicht davon ausgeht, dass meine seine eigene TLD verwalten will. Wenn man die DNS Records direkt anlegt und alle unter derselben Zone, geht es aber doch.

Falls jemand Interesse an Details hat, kann ich die gerne nachliefern.
 
  • Like
Reaktionen: Carcharoth