kaineanung
Goto Top

Im BIND-Server mehrere Zonendateien in einer Zone nutzen?

Hallo Leute,

ich habe da ein kleines Problem bei dem ich Hilfe benötige.

Ich habe einen BIND-DNS-Server aufgesetzt bei welchem ich erstmalig meine ganzen Segmente/VLANs in seperate Dateien unterteilen möchte um einen besseren Überblick und einfachere Handhabung zu erlangen.

Ich habe 18 VLANs und insgesamt ca. 400 - 500 Clients (kommt schnell zusammen: pro Notebook: LAN + WLAN + Dockingstation, Drucker, Server, Smartphones, Tablets, Überwachungskameras, Homematic-Geräte, usw.).
Alle diese sind in unserem aktuellen DNS-server (ebenfalls BIND, 10 Jahre alt und da der LTS dieses Jahr ausläuft wird ein neuer DNS-Server (Master + Slave) aufgezogen. Diese Gelegenheit will ich dann gleich nutzen um die Zonen-Datei überschauberar zu gestallten und mir schwebt vor allen VLANS eine eigene Zonendatei zu verpassen, diese aber unter einer Zone laufen zu lassen.

Laut ChatGPT geht das, aber das was er mir dann vorgibt ist einfach gesagt Mist.
Es funktioniert vorne und hinten nicht. Auch habe ich mit Views ausprobiert aber das hat auch nicht geklappt gehabt.

Meine Frage an die Erfahrenen DNS-Admins:
Geht das denn überhaupt? Kann ich unter der Zone "meine-firma.local" mehrere Zonendateien führen wie etwa "db.meine-firma.local", "db.meine-firma-it.local", "db.meine-firma-vpn", "db.meine-firma-server", usw.? Alle natürlich mit dem FQDN "Nodename.meine-firma.local" ansprechbar?

Wenn ja, wie geht das am besten? Muss ich Views verwenden? Mir scheint dass dasmit den Views eher hilfreich ist um den Zugriff aus den verschiedenen Subnetzen zu steuern aber nicht um die Zonendatei einfacher verwalten zu können? Ich kann mich aber auch irren. Daher Frage ich euch nach dem 'best-practise' sofern es überhaupt möglich ist.

Schon einmal im voraus vielen Dank für eure Hilfe.

Content-ID: 62155388060

Url: https://administrator.de/forum/im-bind-server-mehrere-zonendateien-in-einer-zone-nutzen-62155388060.html

Ausgedruckt am: 28.12.2024 um 10:12 Uhr

Dani
Dani 14.02.2024 um 18:36:08 Uhr
Goto Top
Moin,
Meine Frage an die Erfahrenen DNS-Admins:
warum nicht ein Backend auf Basis von MySQL/MariaDB?! Geht sowohl mit BIND9 als auch PowerDNS. Letzteres hat auch eine gute API um die Automatisierung bestmöglich zu realisieren. Das mit den Dateien ist bei der Anzahl von Einträgen eine ABM und keine gute Administration.


Gruß,
Dani
kaineanung
kaineanung 14.02.2024 um 20:00:52 Uhr
Goto Top
@Dani
Habe gar nicht gewusst das man Bind9 auch mit MySQL betreiben kann.
Aber da müsste ich mich von Grund auf neu einlesen und mit den Zonendateien hantiere ich einfach einfacher herum.
Auch haben wir Tochterfirmen von welchen wir gewisse Zonen bei uns abbilden damit wir auf deren Server über eine VPN-Verbindung zugreifen können per FQDN und der Gleichen und sowas ist sicherlich viel viel einfacher wenn man alles mit Zonendateien handhabt. Geschwind hier eine Zone als Slave einfügen und Synchronisation einrichten, geschwind dort einen manuellen Eintrag vornehmen usw. geht mit Zonendateien bisher recht einfacht.

Ich würde schon sehr gerne das beibehalten und eben nur die Verwaltung unserer VLANs etwas strukturierter gestalten.

Daher nochmals die Frage: kann ich das so abbilden daß jedes VLAN seine Zonendatei bekommt und trotzdem alle unter einer Zone enthalten sind? Ich würde ja auch eine Dummyzonen-Datei erstellen in der ich die restlichen Zonen dann per INCLUDE einbinde, aber da weiß ich nicht was passiert wenn mindestens eine Zone DDNS macht bzw. wohin diese dynamischen A-Einträge dann landen würden? Am liebsten wäre mir dann natürlich wenn ich seperater Zonendateien betreibe die Ihre eigene SOA haben und dennoch unter einer Zone 'firmieren'.

Geht das und wenn ja wie? Würde es eventuell mit Views gehen? Ich habe nämlich schon damit experimentiert gehabt und es sogar geschafft das die Nodenamen aufgelöst werden, aber immer nur eine Zone 'sauber' und bei den anderen Zonen wird die IP-Adresse angezeigt und dann folgt trotzdem eine Fehlermeldung mit "Server can't find PC-xxxx: NXDOMAIN-irgendwas...". Das ist doch schon ein Schritt vor dem gewünschten Ergebnis... aber ich lasse mich auch eines besseren belehren wenn mir jemand eine Alternative aufzeigt oder den doch richtigen Schritt mit den Views korrigiert?
Dani
Dani 14.02.2024 aktualisiert um 20:45:09 Uhr
Goto Top
Moin,
Auch haben wir Tochterfirmen von welchen wir gewisse Zonen bei uns abbilden.
da frage ich mich allerdings, warum
  • kein DNS Forwarding and Conditional Forwarding genutzt wird
  • kein Replication der DNS Zonen auf euere DNS Services erfolgt (Master -> Slave)

Geschwind hier eine Zone als Slave einfügen und Synchronisation einrichten, geschwind dort einen manuellen Eintrag vornehmen usw. geht mit Zonendateien bisher recht einfacht.
Was ein Datenbank Backend an der Funktionalität des DNS ändern soll, kann ich nicht nachvollziehen.

Daher nochmals die Frage:
Ich bin an der Stelle raus, da ich wohl nicht erfahren genug bin. face-smile


Gruß,
Dani
kaineanung
kaineanung 21.02.2024 um 18:02:37 Uhr
Goto Top
Ich weiß nicht was das hier bringen sollte? Ich möchte mein DNS-Master und Slave so gestalten das ich die VLANs einfach in separate Zonendateien habe obwohl alle zusammen in einer Zone sind!
Ich habe u.a. die VLANs IT, Clients, Server. Alle diese befinden sich in der Zone 'MeineFirma.local'.
Aktuell sind alle in der Zonendatei db.meinefirma.local.

Was ich nun einfach möchte, wenn es denn geht:
  • db.meineFirma-it.local
  • db.meineFirma-clients.local
  • db.meineFirma-server.local

-> ALLE bleiben in der Zone meineFirma.local

Geht das? Ist das mit Bind möglich? Wenn ja, wie?
HansDampf06
Lösung HansDampf06 21.02.2024 aktualisiert um 19:18:38 Uhr
Goto Top
Zitat von @kaineanung:
Was ich nun einfach möchte, wenn es denn geht:
  • db.meineFirma-it.local
  • db.meineFirma-clients.local
  • db.meineFirma-server.local

-> ALLE bleiben in der Zone meineFirma.local

Geht das? Ist das mit Bind möglich? Wenn ja, wie?
Bekanntlich sind der Wunsch das Eine und die Realität das Andere.

Hast Du denn eigentlich einmal darüber nachgedacht, welchen Sinn es aus der Sicht der bind-Entwickler machen soll, ein einfaches Konzept (= Einheit der Zone = eine Zonendatei) durch eine Atomisierung des Inhalts einer Zone unnötig aufzublähen? Wie soll das denn syntaktisch vor sich gehen? Die syntaktische Definition einer Zone beginnt doch in der named.conf.local oder einer inkludierten Datei mit "zone ... IN {". In dem {}-Klammereinschluss wird die eigentliche Zonendatei benannt. Das, was Du dir wünschst, erfordert doch, diese Definiton - entweder in named.conf.local oder die Benennung der Zonendatei - mehrfach aufzurufen. Lässt bind die Definition von mehreren Zonen mit demselben Namen zu? Können mehrere Zonendateien für ein und dieselbe Zone angegeben werder? Soweit ich weiß in beiden Fällen wohl NEIN! Ein Blick in die Syntaxbeschreibung für die Zonendefinitionen sollte das doch hinreichend deutlich machen (können). Wenn Du dort kein Konzept der Aufteilung in mehrere Dateien findest, dann gibst es das auch nicht!!!

Im Übrigen hättest Du das schon lange auf diese Art und Weise selbst ausprobieren können. Und an den bisherigen wenigen Antworten der Forumsmitglieder kannst Du erkennen, dass keiner Deine Wunschvorstellung so richtig nachvollziehen kann. Denn alle sind an das syntaktische Konzept der bind-Entwickler gebunden!

Ohnehin stellt sich mir die Frage, warum Du die Eintragungen für die einzelnen VLAN's in derselben Zone nicht räumlich in der einzigen Zonendatei abgrenzen kannst. Welchen Mehrwert soll das aus der Sicht eines objektiven Dritten haben? Strukturierung in der Zonendatei - ja, aber Atomisierung der Zone in viele Einzeldateien - nein.

Und noch einen Kontrollgedanken: Kannst Du - abgesehen von Subdomänen - im DNS-Server von Microsoft eine Zone nach VLAN's aufsplitten? Nein! Warum soll das bind können (müssen)? Nicht ersichtlich, weil sich bind ebenso wie der DNS-Server von Microsoft nach definierten Standards richtet. Für die Untergliederung von Zonen gibt es das Konzept der Subdomänen. Eine zweite und entsprechend Deiner Wunschvorstellung von außen nicht erkennbare Aufsplittung gibt es in einem stringenten DNS-Baum nicht. Niemand im IT-Bereich möchte solche unklaren "Untiefen".

Conclusio: Meine ganz klare Antwort ist, Deine Wunschvorstellung ist nicht mit mehreren Zonendateien für ein und dieselbe Zone realisierbar.

Du könntest Dich allenfalls in den von @Dani benannten Datenbankansatz vertiefen. Dort kannst Du schauen, ob Du bei den betreffenden Tabellen durch zusätzliche Spalten Deine gewünschte Differenzierung einbauen kannst. So wäre jedenfalls bei Abfragen etc. eine Filterung denkbar.
Du kannst den Datenbankansatz auch umdrehen. Alle Definitionsdetails pflegst Du in einer (unabhängigen) Datenbank nach Deinen Wunschvorstellungen. Nach Änderungen in einem Zonenbereich lässt Du Dir auf geeignete Weise die Zonendatei einfach neu generieren.

Viele Grüße
HansDampf06
kaineanung
kaineanung 21.02.2024 um 20:12:44 Uhr
Goto Top
@hansdampf

Vielen lieben Dank für deine ausführliche Antwort!
Genau das wollte ich wissen und du hast es mir relativ klar und deutlich erklärt.

Dann bleibe ich dabei und belasse alles in einer Zonendatei.
Ich kann die Zonen räumlich abgrenzen. Da ich aber DDNS nutze, wird mir das relativ schnell, wenn nicht gar in sehr kurzer Zeit, über den Haufen geworfen. Ich wollte eine Strukturierung damit ich schnell und einfach an entsprechender Stelle selber eingreifen kann, A-Records lösche, irgendwas selber hinzufüge und der Gleichen. Ich wollte nicht mehri n der ellenlangen Zonendatei suchen nach der Stelle wo ich was machen kann wenn ich es halbwegs strukturiert haben möchte.
Da dies nun nicht geht, werde ich dies nun doch weiterhin so tun müssen.

Vor 10 Jahren, als wir von Windows-DNS auf BIND umgestiegen sind gab es noch keien Views oder ich kannte sie jedenfalls damals nicht. Mir kam es so vor als ob die Views genau das machen können was ich vorhatte nur geklappt hat es letzlich nicht so richtig. Daher auch die Frage hier im Forum. Jetzt ist es aber klar und daher kann man den Thread nun auch schliessen.

Vielen Dank für eure Mühe.