Die DNS-Auflösung schlägt im Webbrowser fehl, aber nslookup ist erfolgreich

9

Wir sind eine kleine Organisation mit 300 Sitzplätzen und einer gemischten BYOD- und Active Directory-Umgebung (Windows Server 2012 Standard, Windows 7 Enterprise). Wir haben ein sehr seltsames Problem, bei dem es sehr spezielle Fehler gibt, den Domänennamen unserer Organisation in unserer Domäne aufzulösen -verbundene, von der Firma kontrollierte Maschinen. Für diese Diskussion verwende ich company.com anstelle unseres Domainnamens.

Hintergrund:

  • Der Active Directory-Domänencontroller befindet sich unter 172.16.1.3
  • Auf dem AD / DC-Computer werden auch DHCP, DNS und HTTP (IIS) ausgeführt.
  • Die Websites unserer Organisationen unter company.com und subdomain.company.com werden von IIS auf dem AD / DC-Computer gehostet
  • Wir haben ein Split-DNS-Szenario, in dem der AD / DC-Server für die interne DNS-Auflösung verwendet wird, ein anderer externer Server jedoch die DNS-Auflösung für öffentliche Abfragen bereitstellt
  • Die IP-Adresse, die company.com und subdomain.company.com entspricht, ist die öffentliche IP-Adresse, die von einer Firewall am Rand unseres Netzwerks verwendet wird (sowohl auf dem AD / DC-DNS-Server als auch auf dem externen DNS-Server).
  • Die Firewall ist korrekt konfiguriert, damit NAT HTTP- und HTTPS-Anforderungen, die es an seiner öffentlichen IP-Adresse empfängt, an die interne IP des AD / DC-Servers weiterleitet und widerspiegelt

Szenario 1:

  • Ein Benutzer auf einem Windows 7 Enterprise-Computer mit Domänenbeitritt ist direkt mit unserem lokalen Netzwerk verbunden. Die lokale Adresse 172.16.6.100 / 16 wird vom DHCP-Server ausgegeben.
  • Der DNS-Servereintrag wird von DHCP bereitgestellt (172.16.1.3).
  • Dieser Benutzer kann auf die Websites zugreifen, die unter company.com und subdomain.company.com gehostet werden
  • Bearbeiten: nslookup wurde in diesem Szenario ausgeführt und gibt den richtigen DNS-Eintrag vom internen DNS-Server (172.16.1.3) korrekt zurück.

Szenario 2:

  • Derselbe Benutzer auf demselben Windows 7 Enterprise-Computer mit Domänenbeitritt geht nach Hause und stellt über seinen privaten Internetdienstanbieter eine Verbindung zum Internet her
  • Die IP- und DNS-Servereinträge für den Clientcomputer werden von DHCP bereitgestellt
  • Dieser Benutzer kann auf alle Internetressourcen wie google.com zugreifen
  • Dieser Benutzer kann nicht auf die Website unter company.com oder subdomain.company.com zugreifen (ein Fehler "Host nicht behoben" wird zurückgegeben).
  • Wenn dieser Benutzer läuft nslookup auf company.com sie DO erhalten die korrekte öffentliche IP - Adresse von DNS bereitgestellt
  • HTTP / HTTPS-Anforderungen an die IP-Adresse sind erfolgreich und eine Webseite wird vom Server ordnungsgemäß zurückgegeben
  • Dieses Problem tritt in allen Webbrowsern auf
  • Wenn Sie tracert company.com verwenden, wird "Name des Zielsystems kann nicht aufgelöst werden" zurückgegeben.
  • Bei Verwendung von ping company.com wurde zurückgegeben, dass host company.com nicht gefunden werden konnte.
  • Wenn Wireshark vor / während einer fehlgeschlagenen Anforderung auf dem Client ausgeführt wird, werden vom Clientcomputer keine Pakete gesendet (weder für die DNS-Auflösung noch für eine erste HTTP / Ping / Tracert-Anforderung).
  • Durch einen Neustart des DNS-Clientdienstes wird das Problem nicht behoben
  • Durch das Beenden des DNS-Clientdienstes wird das Problem nicht behoben
  • Die Verwendung von ipconfig / flushdns behebt dieses Problem nicht
  • Die Verwendung von route / f behebt dieses Problem nicht
  • Das Zurücksetzen der Netzwerkverbindungen mit netsh int ip reset behebt dieses Problem nicht
  • Bearbeiten: nslookup wurde in diesem Szenario ausgeführt und gibt den richtigen DNS-Eintrag vom DNS-Server korrekt zurück, der in den DHCP-Einstellungen des vom Benutzer verwendeten Netzwerks angegeben ist

Szenario 3:

  • Derselbe Benutzer auf einem persönlichen (nicht domänenverbundenen) Windows 7 Professional-Computer kann auf die Websites unter company.com und subdomain.company.com zugreifen, wenn er mit unserem lokalen Netzwerk verbunden ist
  • Bearbeiten: nslookup wurde in diesem Szenario ausgeführt und gibt den richtigen DNS-Eintrag vom internen DNS-Server (172.16.1.3) korrekt zurück.

Szenario 4:

  • Derselbe Benutzer auf einem persönlichen (nicht domänenverbundenen) Windows 7 Professional-Computer kann auf die Websites unter company.com und subdomain.company.com zugreifen, wenn er mit seinem Heimnetzwerk verbunden ist
  • Bearbeiten: nslookup wurde in diesem Szenario ausgeführt und gibt den richtigen DNS-Eintrag vom DNS-Server korrekt zurück, der in den DHCP-Einstellungen des vom Benutzer verwendeten Netzwerks angegeben ist

Schlussbemerkungen:

Dieses Problem scheint verallgemeinert zu sein und betrifft alle firmeneigenen Computer. Wir verwenden ein gemeinsames System-Image für alle firmeneigenen Computer, das erst im August geladen wurde. Ich habe das Internet nach möglichen Lösungen durchsucht und bin bisher mit leeren Händen aufgetaucht - ich freue mich über Ihre Vorschläge und Ratschläge.

Dan
quelle
2
Ausführen von Websites auf Ihren Domänencontrollern, nicht wahr? Das ist kein Bueno.
Ryan Ries
1
Ja, ich stimme zu. Die Budgets sind knapp, was soll ich sagen. Vielleicht in der Zukunft ...
Dan
1. Konfigurieren Sie DNS-Einstellungen auf den Domänencomputern mit Gruppenrichtlinien? 2. Wenn Sie nslookup für jedes Szenario im Debug-Modus ausführen, erhalten Sie wahrscheinlich einige Hinweise.
Joeqwerty
Danke für den Vorschlag. DNS wird vom DHCP-Server bereitgestellt, nicht von Gruppenrichtlinien. Wenn ein Benutzer unser physisches Gebäude verlässt, erhält er den DNS-Server des Netzwerks, mit dem er eine Verbindung herstellt. Ich habe nslookup in allen Fällen ausgeführt und es gibt in allen Fällen die richtigen DNS-Einstellungen zurück (einschließlich des Fehlerfalls in Szenario 2). Das Problem scheint zu sein, dass sich die Webbrowser aus irgendeinem Grund nicht einmal die Mühe machen, bis zu nslookup zu gehen - wie oben beschrieben, scheitern sie einfach, ohne eine Netzwerktransaktion in Szenario 2 einzuleiten.
Dan
Kann ich davon ausgehen, dass sie darauf zugreifen können, www.company.comaber nicht nur company.comoder scheitern beide?
TheCleaner

Antworten:

1

Die Computer mit Domänenbeitritt suchen nach ihrem Domänencontroller und führen nicht nur eine DNS-basierte Suche durch. Da die Domain mit der öffentlichen Website identisch ist, suchen sie nach einem SRV-Eintrag, um zu erfahren, wie sie zum DC gelangen und Domain-Informationen erhalten. Da sich im Remote-Netzwerk kein DC befindet, können sie diesen Namen nicht mit normalen AD-fähigen Windows-Teilen auflösen.

Wenn Sie Ping oder (fast) jede Windows-Anwendung verwenden, wird der gesamte Windows-IP-Stack verwendet, einschließlich der Teile, die mit AD kommunizieren. Während NSLookup eigentlich nur eine DNS-Abfrage durchführt. Sie haben dies mit Ihren Wireshark-Traces überprüft. Windows führt keine Suchvorgänge durch, wenn Sie versuchen, zu company.com zu gelangen, aber nslookup zeigt eine ordnungsgemäße DNS-Suche an. Aus diesem Grund können Sie die Domain nicht über Ping oder Webbrowser auflösen, aber nslookup ist in Ordnung.

Die Lösung für den ersten Teil besteht darin, über www.company.com sowohl intern als auch extern auf die Website zuzugreifen, sodass Kunden die Suche nach einem DC völlig ignorieren.

Die Lösung für den zweiten Teil ist schwieriger, je nachdem, worauf sich subdomain.company.com sowohl intern als auch extern bezieht. Verfügt der DC über einen DNS-Eintrag für die Subdomain oder werden diese Anforderungen nur an den externen DNS-Server gesendet? Wenn es einen DNS-Eintrag gibt, wo zeigt dieser Eintrag?

RobbieCrash
quelle
0

Ich würde überprüfen, ob die HOSTS-Datei ( http://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system ) auf dem Computer keine Einträge für die Hosts enthält, zu denen Sie gelangen möchten . Ich denke, das NSLOOKUP-Tool umgeht die Hosts-Datei, der Webbrowser jedoch nicht.

Ich würde auch überprüfen, ob im Webbrowser kein Proxy konfiguriert ist, da einige Proxy-Typen auch das DNS auflösen.

Ich würde auch versuchen, den Browser im "abgesicherten Modus" (dh mit allen deaktivierten Addons und Plugins) mit IE ("iexplore -extoff") oder Firefox (beim Starten die Umschalttaste gedrückt halten oder "Firefox -safe-mode") auszuführen.

Versuchen Sie im Idealfall, wenn möglich, mit einem anderen Webbrowser einzugrenzen, ob es sich um den Webbrowser oder das Betriebssystem handelt.

Wenn ich dann immer noch nicht weiterkomme, würde ich überprüfen, welche Dienste an den Netzwerkadapter gebunden sind (verrückte Firewall mit bestimmten Regeln, die im Weg stehen?).

Schließlich, und dies wird immer unwahrscheinlicher, aber NSLOOKUP wird den Computer oder den verbindungsspezifischen Domänennamen automatisch an Abfragen anhängen. Zum Beispiel setzt mein Router den Domainnamen als "Router", so dass jeder nslookup für etwas wie "matthew" DNS tatsächlich nach "matthew.router" durchsucht. Möglicherweise tut der Webbrowser dies nicht. Wie Sie sagten, haben Sie ein Paket erstellt Capture klingt nicht so, als wäre dies Ihr Problem. Aber nur für den Fall, dass Sie es bei der Paketerfassung verpasst haben oder Ihre Capture-Umgebung nicht ganz richtig war :-).

Das sind die Dinge, die ich versuchen würde und hoffentlich hilft dir das auch :-).

Matthew1471
quelle