Windows-DNS-Server: Hosten Sie eine Zone, leiten Sie jedoch unbekannte Einträge weiter

Sep 29 2020

Wir haben ein Split-Brain-DNS-Szenario in unserem Unternehmen, in dem dieselben Einträge auf unterschiedliche IPs verweisen.

Example1:
Internal DNS: email.company.net (A) 172.20.1.1
External DNS: email.company.net (A) 22.191.72.18

E-Mail ist also nur einer der wenigen Einträge, die wir "teilen" müssen. Wir haben viele andere DNS-Einträge in unserer öffentlichen DNS-Zone, die auch in der internen Zone gleich bleiben müssen. Schauen wir uns ein anderes Beispiel an:

Example2:
Internal DNS: video.company.net (A) -not present-
External DNS: video.company.net (A) 22.191.72.49

Wenn ich also innerhalb des Unternehmens auf videoportal.company.net zugreifen möchte, meldet der DNS-Server, dass für diese Abfrage kein DNS-Eintrag gefunden wurde. Damit es funktioniert, müsste ich auch alle externen DNS-Einträge in der internen DNS-Zone neu erstellen und all diese Einträge im Laufe der Zeit beibehalten. Dies führt zu viel Doppelarbeit. Was ich tun möchte, ist folgendes:

Erstellen Sie eine Zone mit einigen Einträgen und weisen Sie ihr eine Richtlinie zu, die besagt: "Lösen Sie, was Sie dort finden, aber leiten Sie alles, was Sie nicht finden können, an Ihre Resolver / Root-Hinweise weiter."

Gibt es so etwas, das mit Richtlinien gemacht werden kann? Wie heißt eine solche Funktionalität überhaupt?

Ich weiß, dass ich mit email.company.net und einem leeren A-Datensatz eine Zone erstellen kann. Dadurch wird jeder noch vorhandene Eintrag von someelse.company.net extern weitergeleitet. Der Grund, den ich frage, ist viel komplizierter und ich wollte eine Frage so kurz wie möglich stellen. Nehmen Sie also einfach an, dass diese Lösung hier momentan nicht gilt. Ich würde mich freuen, wenn Sie sich auf die obige Frage konzentrieren könnten.

Bearbeiten: Am Ende sollte der interne DNS-Server also ungefähr so ​​vorgehen:

  • Der DNS-Server erhält vom Client eine Anfrage für email.company.net
  • Der DNS-Server führt eine Suche in seiner internen Zone company.net durch
  • Der DNS-Server gibt dem Client die IP 172.20.1.1 zurück
  • Der DNS-Server erhält vom Client eine Anfrage für video.company.net
  • Der DNS-Server führt eine Suche in seiner internen Zone company.net durch
  • Der DNS-Server findet keinen Eintrag für video.company.net
  • Der DNS-Server führt dann eine rekursive Suche über seine Stammhinweise durch
  • Der DNS-Server erhält schließlich die Antwort und gibt dem Client die IP 22.191.72.49 zurück

Antworten

Massimo Sep 30 2020 at 07:57

Leider ist das, was Sie wollen, nicht möglich. Wenn Sie eine Zone auf dem internen DNS-Server erstellen und als primär definieren, nimmt der Server an, dass er für diese Zone autorisierend ist, und beantwortet daher jede Anfrage nach Datensätzen, die er nicht kennt, mit "Dieser Datensatz existiert nicht". .

Die einzige Problemumgehung ist die, die Sie bereits kennen: Sie können Unterzonen nur für die Datensätze definieren, die Sie tatsächlich maskieren möchten, und dann leere Datensätze darin erstellen. Leere Datensätze werden dem vollständigen Namen der Zone zugeordnet, daher ist der Endeffekt derselbe. Eine solche Zone maskiert jedoch nicht alle anderen Namen in der Hauptzone, die mithilfe der Standardrekursion aufgelöst werden.

In Ihrem Beispiel sollten Sie eine Zone mit dem Namen email.company.neterstellen und dann einen leeren A-Datensatz erstellen, der auf 172.20.1.1 verweist. Interne Abfragen für email.company.netwerden mit 172.20.1.1 beantwortet, dies hat jedoch keine Auswirkungen auf Abfragen für video.company.net, die weiterhin durch Abfragen des öffentlichen DNS gelöst werden.

Übrigens funktioniert dieser Trick nicht nur für A-Datensätze, sondern für alle Datensätze, die leer sein können (z. B. SRV).