Private DNS-Zone, die private Subdomains auflöst und für vorhandene öffentliche Subdomains an den öffentlichen Nameserver weiterleitet

7

Ich habe eine TLD mit einer Reihe von Subdomains, die beispielsweise öffentlich sind *.example.com. Ich habe auch einen privaten Server, der als SVN-Repository verwendet wird und auf dem ich verfügbar sein möchte svn.example.com, jedoch nur im privaten Netzwerk. Derzeit habe ich dies erreicht, indem ich die Zonendatei erstellt svn.example.com.zoneund diese Deklaration verwendet habe:

zone "svn.example.com" IN {
    type master;
    file "/etc/named/svn.example.com.zone";
};

Und in der Zonendatei:

@                IN  NS  svn.example.com.
svn.example.com. IN  A   10.200.1.1

Alle anderen Domains werden an den öffentlichen Nameserver weitergeleitet. Dies funktioniert, ist jedoch nicht ideal, da eine ganz neue Zone erstellt werden muss, wenn eine neue private Subdomain hinzugefügt werden soll. Wenn ich diese Zone zum Stammdatensatz für die gesamte example.comTLD mache, gehe ich davon aus, dass Anforderungen an die derzeit öffentliche *.example.comVersion für Clients, die das private DNS verwenden, nicht mehr funktionieren (es sei denn, sie sind in der Zonendatei des privaten DNS dupliziert).

Gibt es eine Möglichkeit für mich, eine Zonendatei bereitzustellen, die eine oder mehrere private Subdomänen angibt, aber dennoch Anfragen, die nicht aufgelöst werden können, an den öffentlichen Nameserver weiterleitet? Ich habe versucht, den forwardZonentyp zu verwenden, kann dann aber keine eigene Zonendatei angeben, sondern nur weiterleiten.

Aktualisieren

DNS für Raketenwissenschaftler Kapitel 6 enthält ein Beispiel für die DNS-Konfiguration eines Stealth-DNS-Servers in einem internen Netzwerk . Dies scheint mit dem übereinzustimmen, was ich ziemlich gut erreichen möchte, und schlägt insbesondere vor, die öffentlichen DNS-Einträge in der privaten DNS-Zone zu duplizieren. Obwohl das Problem, das ich lösen möchte, natürlich das Duplizieren von Datensätzen ist, ist dies eher eine Problemumgehung.

Adam Sharp
quelle

Antworten:

3

Die typischen Wege, um dies zu erreichen, sind:

  • Split-DNS - unterschiedliche DNS-Einträge auf einem internen DNS-Server ... aber der interne DNS-Server muss über alle Einträge verfügen und muss zwischen dem internen und dem externen Server synchronisiert werden
  • Delegierung - Hiermit wird die Zone svn.example.com erstellt und Ihre DNS-Server von example.com suchen bei svn.example.com nach Informationen zu * .svn.example.com (einschließlich svn.example.com selbst).

Eine Möglichkeit besteht darin, eine Subdomain wie "internal.example.com" an die DNS-Server Ihres LAN zu delegieren. Auf diesen DNS-Servern können Sie eine Zone für internal.example.com (oder i.example.com, wenn Sie es kürzer wünschen) konfigurieren und beliebige Einträge hinzufügen.

Je nachdem, welche Software Sie auf den einzelnen Servern verwenden, können Sie möglicherweise die Synchronisierung Ihrer internen und öffentlichen DNS-Server automatisieren, um Split-DNS zu verwenden.

Eine dritte Möglichkeit wäre, einfach die internen IP-Adressen in Ihr öffentliches DNS einzufügen. Dies kann Auswirkungen auf die Sicherheit haben (jemand könnte Sie dazu verleiten, eine Verbindung zu seinem Server herzustellen, wenn Sie sich nicht in Ihrem LAN befinden), sollte jedoch funktionieren und ist kinderleicht einzurichten.

Gewähren
quelle
2

Letztendlich habe ich mich für die hier beschriebene Lösung entschieden: http://www.zytrax.com/books/dns/ch6/#stealth . Das ist:

  • Richten Sie einen Stealth-DNS-Server ein, der Einträge für öffentliche und private Hosts enthält

Der Hauptgrund dafür ist, dass das Duplizieren einer kleinen Anzahl öffentlicher DNS-Einträge für die Anforderungen meiner Organisation die folgenden Vorteile bietet:

  • Einfach zu verstehen
  • Schnelle Ersteinrichtung

Die Hauptnachteile sind Redundanz und die Notwendigkeit, den Stealth-Server manuell mit unserem öffentlichen DNS zu synchronisieren.

Adam Sharp
quelle
Diese Lösung sieht für mich sehr vielversprechend aus. Vielen Dank!
Jonathan Rioux
1

Der einfachste Weg, dies zu umgehen, besteht darin, alle internen Adressen unter einer internen Subdomain zu haben, z *.internal.example.com. Dadurch wird auch die Unklarheit beseitigt, dass der Hostname, auf den Sie zugreifen, nur intern ist und von außen nicht aufgelöst wird.

brent
quelle
0

Lesen Sie mehr über Bindungsansichten. Zum Beispiel: http://oreilly.com/pub/a/oreilly/networking/news/views_0501.html . Sie können einschränken, wer (Quell-IP) Zugriff auf welche Zone hat, und Sie können mehrere Versionen einer bestimmten Zone haben.

0xFF
quelle
Ich glaube nicht, dass eine Ansicht das gleiche Problem löst: "Eine Ansicht einer Zone einer Community von Hosts und eine andere Ansicht einer anderen präsentieren". Ich habe es nur mit einem einzelnen Subnetz / einer "Community von Hosts" zu tun, also denke nicht, dass dies zutrifft.
Adam Sharp
@Adam Sharp: Stellen Sie die Zone "svn.example.com" nur im IP-Subnetz mithilfe von Ansichten zur Verfügung. Sie können freigegebene Datensätze auch in eine andere Datei einfügen und mit '$ INCLUDE "/ path / to / file / with / shared / records"' in Hauptdateien aufnehmen. "
0xFF
Vielleicht fehlt mir etwas, aber ich bin mir nicht sicher, wie sich das von öffentlichen und privaten DNS-Einträgen in derselben Zone unterscheidet. Die öffentliche DNS-Zone (example.com) wird von unserem Registrar verwaltet und nicht direkt von uns kontrolliert. Wenn Benutzer im VPN das Stealth-DNS verwenden, wird das interne DNS für die Zone example.com maßgeblich. Daher müssen die von unserem Registrar verwalteten DNS-Einträge dupliziert werden, damit diese Namen im VPN weiterhin aufgelöst werden.
Adam Sharp