[HINWEIS: Die Lösung dieser Frage ist perfekt, da etwas vom Titel abweicht.]
Ich stehe vor einem kleinen Problem mit Windows Server 2003 DNS service
. In meinem Unternehmen verwende ich den Microsoft DNS-Server ( 172.16.0.12
), um die Namensauflösung in meinem Unternehmensintranet durchzuführen (der Domänenname endet in dev.nls
. Auflösung in IP 172.16.) . Außerdem ist er als DNS-Weiterleitung zum Weiterleiten anderer Domänennamen konfiguriert ( zB * .google.com, * .sf.net) an Internet real DNS servers
. Dieser interne DNS-Server tendiert niemals dazu, Benutzer von außerhalb der Welt zu bedienen.
Außerdem betreiben wir einen Mail-Server (der eingehende E-Mails für eine echte Internetdomäne bereitstellt @nlscan.com
) in der Firewall des Unternehmens, auf den auf beide Arten zugegriffen werden kann:
- durch die Verbindung
172.16.0.10
von innerhalb des Intranets. - durch Verbinden mit
mail.nlscan.com
(gelöst zu202.101.116.9
) aus dem Internet.
Beachten Sie, dass 172.16.0.10
und 202.101.116.9
nicht die gleiche physische Maschine ist. Der 202
eine ist ein Firewall-Rechner, der Port-Weiterleitungen von Port- 25
und 110
Intranet-Adressen durchführt 172.16.0.10
.
Nun meine Frage: Wenn Benutzer im Firmen-LAN auflösen wollen mail.nlscan.com
, löst es sich auf 202.101.116.9
. Das ist korrekt und funktionsfähig, ABER NICHT GUT, da der E-Mail-Verkehr an den Firewall-Computer weitergeleitet wird und dort abprallt 172.16.0.10
. Ich hoffe, dass wir internal DNS server
den Namen abfangen mail.nlscan.com
und in 172.16.0.10 auflösen können. Also hoffe ich, dass ich dazu einen Eintrag in die "hosts" -Datei schreiben kann 172.16.0.12
. Aber wie kann man Microsoft DNS server
diese "Hosts" -Datei erkennen?
Vielleicht schlagen Sie vor, dass der Intranet-Benutzer nicht 172.16.0.10
auf meinen Mail-Server zugreift. Ich muss sagen, dass es unpraktisch ist, wenn ein Benutzer (Mitarbeiter) an seinem Laptop arbeitet, tagsüber im Büro und nachts zu Hause. Wenn er zu Hause ist, kann er nicht verwenden 172.16.0.10
.
Das Erstellen einer Zone für nlscan.com
unsere internen Domänen DNS server
ist nicht möglich, da sich der Nameserver für die nlscan.com
Domäne auf unserem ISP befindet und für das Auflösen anderer Hostnamen und Unterdomänen unter nlscan.com verantwortlich ist.
[BEARBEITEN]
Wie WesleyDavid
vorgeschlagen, folge ich der Lösung, einfach eine Zone mit dem Namen zu erstellen mailserver.nlscan.com
und einen namenlosen A-Eintrag in dieser Zone zu platzieren . Die Zeit beweist, dass dies gut funktioniert.
quelle
Antworten:
Der letzte Teil dieses Beitrags ist falsch. Ich hatte den Eindruck, basierend auf einigem, was ich im Web gelesen hatte (wenn es im Web ist, muss es wahr sein!), Dass ein Teil der Aufgaben des Windows DNS-Serverdiensts zum Erstellen seines Caches darin bestand, auch seine Hostdatei zu laden Cache zusammen mit seinen lokalen Zonendaten. Ich habe mich umgesehen und konnte keine konkreten Beweise dafür finden. Ich habe die Theorie auf meinem eigenen Server 2008 R2-Computer getestet und festgestellt, dass die Hosts-Datei nicht zum Erstellen des DNS-Server-Cache verwendet wurde.
Ich glaube jedoch, ich habe eine etwas elegantere Lösung als Massimo. Anstatt eine autorisierende Zone für die gesamte Zone nlscan.com zu erstellen, erstellen Sie einfach eine Zone mit dem Namen mailserver.nlscan.com und platzieren Sie einen namenlosen A-Eintrag in dieser Zone. Der namenlose A-Eintrag hat denselben Namen wie die Zone selbst und Sie können ihm die gewünschte IP-Adresse zuweisen. Alle anderen Domains unter nlscan.com sowie nlscan.com selbst werden durch öffentliches DNS aufgelöst.
Ich habe dies gerade auf meinem eigenen Server 2008 R2-DNS-Server getestet und konnte die Website meines Freundes (nessus.nl) über öffentliche DNS-Server auflösen, die spezifische Subdomain (blog.nessus.nl) jedoch in eine Apple.com-IP-Adresse auflösen . Probieren Sie es aus und sehen Sie, ob es bei Ihnen funktioniert.
Älterer, falscher Beitrag beginnt:
Wenn mein Verständnis stimmt (BEARBEITEN: und nicht), werden beim Erstellen des DNS-Caches auf dem Server 2003-Computer sowohl Einträge aus der Hostdatei als auch Zonendaten abgerufen. Das
172.16.0.10 mailserver.nlscan.com
Problem lässt sich beheben, indem Sie es in die Hosts-Datei Ihres Server 2003-Computers einfügen. Starten Sie Ihre DNS-Dienste neu, nachdem Sie Ihre Hosts-Datei geändert haben.Verwenden Sie ipconfig / displaydns auf jedem Windows-Computer (insbesondere Ihrem Server 2003-DNS-Computer), um Ihre Hostdateieinträge anzuzeigen. Denken Sie auch daran, dass negative Antworten in Ihren Clients zwischengespeichert werden. Führen Sie daher ipconfig / flushdns immer auf den Clients aus, mit denen Sie experimentieren. Andernfalls werden Sie sich an verschiedenen harten Objekten beschimpfen und sich fragen, warum Ihre Kunden einen Namen, den Sie gerade in eine Zone / Hosts-Datei eingegeben haben, nicht auflösen können. =)
Haben Sie dies versucht und sind gescheitert?
quelle
hosts
Datei zu beheben Namen. Es werden eigene Daten, Weiterleitungen oder rekursive Abfragen verwendet, nicht jedoch die lokalehosts
Datei.Der Wunsch, dass interne Benutzer interne IP-Adressen für Ressourcen erhalten, während externe Benutzer externe IP-Adressen für dieselben Ressourcen erhalten, ist weit verbreitet. Es wird als Split-Brain-DNS bezeichnet. Sie haben einen DNS-Server, der mit dem Internet verbunden ist, und einen anderen internen DNS-Server für lokale Benutzer. Interne Benutzer verwenden DHCP in Ihrem Netzwerk und auf Ihrem DHCP-Server kündigen Sie den internen DNS-Server an. Wenn Ihre Benutzer nicht im Büro sind, weist ihr DHCP-Server sie einem DNS-Server zu, der nur die externe Zone kennt.
Sie möchten anscheinend Split-Brain-DNS, ohne die Zone tatsächlich intern zu hosten. Sie schlagen vor, dass das interne Hosten der Zone problematisch ist, weil Sie nicht möchten, dass Benutzer die interne IP erhalten, wenn sie von zu Hause aus arbeiten. Dies ist jedoch nicht sinnvoll, da sie zu Hause ihre IP von einem anderen DHCP-Server beziehen Das wird nicht für Ihren internen DNS-Server werben. Es wird für den DNS-Server seines Internetdienstanbieters werben, der nur Ihre externe Zone kennt und diese nur mit externen IP-Adressen versorgt.
Schließlich werden Sie wahrscheinlich keinen Erfolg haben, wenn Sie einen DNS-Server bitten, Einträge aus der Hosts-Datei auf dem DNS-Server bereitzustellen. Ein DNS-Server stellt Einträge aus seinen Zonendateien bereit. Die lokale Hosts-Datei auf diesem DNS-Server überträgt Einträge in den Auflösungscache des lokalen Clients, der nur für Suchvorgänge auf diesem Computer gilt. Diese Einträge werden nicht vom DNS-Server bereitgestellt, da dies ein anderer Mechanismus ist.
Informieren Sie sich über Split-Brain-DNS - dies ist der normale Weg, mit dieser Situation umzugehen.
quelle
Wes: Ich bin mir nicht sicher, wer Sie angegriffen hat, aber ich möchte die Verwendung der Hosts-Datei klären: Die Hosts-Datei wird von der DNS-Client-Resolver-Komponente verwendet, nicht von der DNS-Server-Komponente. Ein Eintrag in der Hosts-Datei auf einem DNS-Server wird vom DNS-Server als DNS-Client verwendet. Ein Eintrag in der Hosts-Datei meines W2K8-DNS-Servers sieht beispielsweise folgendermaßen aus:
1.1.1.1 test.test.com
wird in den DNS-Client-Cache des DNS-Servers geladen (nicht in den Server-Cache). Wenn ich test.test.com von meinem DNS-Server aus anpinge, wird 1.1.1.1 wie erwartet zurückgegeben. Wenn ich dann nslookup auf dem DNS-Server ausführe und nach test.test.com frage, wird die korrekte öffentliche IP-Adresse zurückgegeben, die für test.test.com registriert ist, da die DNS-Clientkomponente auf dem DNS-Server jetzt die DNS-Serverkomponente nach einer Lösung fragt (So wie es jeder andere DNS-Client tun würde). Es ist eine verwirrende Idee, sich einen Überblick zu verschaffen, aber der DNS-Server ist auch ein DNS-Client. Wenn die DNS-Client-Komponente aufgerufen wird, verhält sie sich wie jeder andere DNS-Client, indem sie den eigenen DNS-Client-Cache einschließlich aller Einträge vor dem Aufruf überprüft -aus der hosts-Datei geladen. Nur wenn die DNS-Client-Komponente die DNS-Serverkomponente verwendet (indem die darin konfigurierten DNS-Server abgefragt werden).
Jeder DNS-Client, der den DNS-Server abfragt, erhält immer die "echte" Antwort und nicht den Host-Eintrag, da der DNS-Client-Cache des DNS-Servers vom Server selbst (als DNS-Client) und nicht von der DNS-Serverkomponente verwendet wird.
quelle
Soweit ich weiß, gibt es keine Möglichkeit, Windows-DNS dazu zu bringen, die
hosts
Datei für die Namensauflösung zu verwenden. dies wird aber nicht benötigt.Sie können sicher eine Zone auf Ihrem internen DNS-Server mit demselben Namen wie eine öffentliche Internetzone erstellen. In diesem Fall verarbeitet Ihr Server die Anforderungen für Namen in dieser Zone mithilfe seiner eigenen Daten, anstatt diese Anforderungen an die autorisierenden Nameserver für diese Zone weiterzuleiten. Dies wird manchmal als "Shadowing" bezeichnet, da die "echte" öffentliche Zone für den internen Client nicht verfügbar ist und stattdessen mit "gefälschten" Daten beantwortet wird.
Was Sie beachten sollten, ist, dass Sie diese interne Zone mit allen Namen füllen sollten, die Sie benötigen, auch wenn Sie öffentliche IP-Adressen verwenden, wo dies erforderlich ist. Andernfalls können interne Clients diese Namen nicht auflösen.
Angenommen, Ihre öffentliche Zone sieht folgendermaßen aus:
Sie möchten, dass interne Clients mail.nlscan.com als 172.16.0.10 auflösen. Das ist in Ordnung, also erstellen Sie eine Zone "nlscan.com" auf Ihrem internen DNS-Server und fügen "mail.nlscan.com -> 172.16.0.10" ein.
Aber jetzt können Ihre internen Clients "www.nlscan.com" nicht auflösen, da der Server der Meinung ist, dass dies für diese Zone maßgeblich ist, und daher die Abfrage nicht beantwortet (da er nicht über diesen Host Bescheid weiß), sondern auch leite es nicht weiter.
Um dies zu lösen, müssen Sie auch "www.nlscan.com" in Ihre interne Zone einfügen. Es kann auf seine echte öffentliche IP-Adresse verweisen, wenn Ihre Kunden auf diese Weise darauf zugreifen sollen, oder Sie können die gleiche Umleitung verwenden, die Sie für "mail.nlscan.com" verwenden, wenn "www". wird auch von Ihrer Firewall an einen internen Server weitergeleitet.
Das gleiche Prinzip gilt für jeden Namen in der Zone.
Diese Einstellung wird nicht hat keine Auswirkungen auf dem externen Clients oder auf einen der Benutzer , die das Netzwerk vorübergehend außerhalb ist, weil die interne „Schatten“ Zone nie aus dem Internet sichtbar.
quelle
Berücksichtigen Sie die Hostdatei nicht, fügen Sie einfach eine neue Zone in der DNS mail.domain.com hinzu und fügen Sie einen Host in der Zone hinzu. lass den Namen leer (es wird automatisch der Name der Zone verwendet) und gib die IP-Adresse des lokalen Mailservers ein ;-)
quelle