Rozpoznawanie DNS kończy się niepowodzeniem w przeglądarce internetowej, ale nslookup kończy się powodzeniem

9

Jesteśmy małą, 300-osobową organizacją z mieszanym środowiskiem BYOD i Active Directory (Windows Server 2012 Standard, Windows 7 Enterprise) i mamy bardzo dziwny problem związany z błędami o bardzo specyficznym zakresie w zakresie rozwiązywania nazwy domeny naszej organizacji w naszej domenie - połączone maszyny kontrolowane przez firmę. Na potrzeby tej dyskusji użyję company.com zamiast naszej nazwy domeny.

Tło:

  • Kontroler domeny usługi Active Directory znajduje się pod adresem 172.16.1.3
  • Na komputerze AD / DC działa także DHCP, DNS i HTTP (IIS)
  • Witryny naszych organizacji w company.com i subdomain.company.com są hostowane przez IIS na komputerze AD / DC
  • Mamy scenariusz podzielonego DNS, w którym serwer AD / DC jest używany do wewnętrznego rozpoznawania DNS, ale inny serwer zewnętrzny zapewnia rozpoznawanie DNS dla zapytań publicznych
  • Adres IP odpowiadający firmie.com i subdomenie.firma.com jest publicznym adresem IP używanym przez zaporę na brzegu naszej sieci (zarówno na serwerze DNS AD / DC, jak i na serwerze DNS poza witryną)
  • Zapora jest poprawnie skonfigurowana do NAT, aby przekazywać żądania HTTP i HTTPS otrzymywane z publicznego adresu IP na wewnętrzny adres IP serwera AD / DC i odzwierciedla

Scenariusz 1:

  • Użytkownik na dołączonym do domeny komputerze z systemem Windows 7 Enterprise jest podłączony bezpośrednio do naszej sieci lokalnej z adresem lokalnym 172.16.6.100 / 16, wydanym przez serwer DHCP.
  • Wpis serwera DNS jest dostarczany przez DHCP (172.16.1.3)
  • Ten użytkownik ma dostęp do stron internetowych hostowanych w company.com i subdomain.company.com
  • Edycja: w tym scenariuszu uruchomiono nslookup i poprawnie zwraca odpowiedni rekord DNS z wewnętrznego serwera DNS (172.16.1.3)

Scenariusz 2:

  • Ten sam użytkownik na tej samej dołączonej do domeny maszynie Windows 7 Enterprise idzie do domu i łączy się z Internetem za pomocą swojego prywatnego dostawcy usług internetowych
  • Wpisy serwera IP i DNS dla komputera klienckiego są dostarczane przez DHCP
  • Ten użytkownik może uzyskać dostęp do dowolnych zasobów internetowych, takich jak google.com
  • Ten użytkownik nie może uzyskać dostępu do strony internetowej company.com lub subdomain.company.com (zwracany jest błąd „host nie został rozwiązany”)
  • Gdy ten użytkownik uruchomi nslookup na company.com , NIE otrzyma prawidłowego publicznego adresu IP podanego przez DNS
  • Żądania HTTP / HTTPS na adres IP powiodły się, a strona internetowa poprawnie zwróciła serwer
  • Ten problem występuje we wszystkich przeglądarkach internetowych
  • Użycie tracert company.com zwraca „nie można rozpoznać docelowej nazwy systemu”
  • Użycie polecenia ping company.com zwraca „nie można znaleźć hosta company.com”
  • Podczas uruchamiania Wireshark na kliencie przed / podczas nieudanego żądania, maszyna klienta nie wysyła żadnych pakietów (ani w celu rozpoznania DNS, ani w przypadku wstępnego żądania HTTP / ping / tracert)
  • Ponowne uruchomienie usługi klienta DNS nie rozwiązuje problemu
  • Zatrzymanie usługi klienta DNS nie rozwiązuje problemu
  • Użycie ipconfig / flushdns nie rozwiązuje tego problemu
  • Użycie trasy / f nie rozwiązuje tego problemu
  • Resetowanie połączeń sieciowych za pomocą netsh int ip reset nie rozwiązuje tego problemu
  • Edycja: w tym scenariuszu uruchomiono nslookup i poprawnie zwraca właściwy rekord DNS z serwera DNS określonego w ustawieniach DHCP sieci używanej przez użytkownika

Scenariusz 3:

  • Ten sam użytkownik na osobistym (nie przyłączonym do domeny) komputerze z systemem Windows 7 Professional ma dostęp do stron internetowych w witrynie company.com i subdomain.company.com, gdy jest podłączony do naszej sieci lokalnej
  • Edycja: w tym scenariuszu uruchomiono nslookup i poprawnie zwraca odpowiedni rekord DNS z wewnętrznego serwera DNS (172.16.1.3)

Scenariusz 4:

  • Ten sam użytkownik na osobistym (nie przyłączonym do domeny) komputerze z systemem Windows 7 Professional ma dostęp do stron internetowych w witrynie company.com i subdomain.company.com po podłączeniu do sieci domowej
  • Edycja: w tym scenariuszu uruchomiono nslookup i poprawnie zwraca właściwy rekord DNS z serwera DNS określonego w ustawieniach DHCP sieci używanej przez użytkownika

Uwagi końcowe:

Wydaje się, że problem ten dotyczy wszystkich komputerów należących do firmy. Używamy wspólnego obrazu systemu dla wszystkich komputerów należących do firmy, który został właśnie załadowany w sierpniu. Szukałem Internetu w poszukiwaniu możliwych rozwiązań i do tej pory wpadłem z pustymi rękami - naprawdę doceniam wszelkie sugestie lub porady, które możesz mieć.

Dan
źródło
2
Prowadzisz witryny na kontrolerach domeny? To nie jest bueno.
Ryan Ries
1
Tak, zgadzam się. Budżety są napięte, co mogę powiedzieć. Może w przyszłości ...
Dan
1. Czy konfigurujesz jakieś ustawienia DNS na komputerach przyłączonych do domeny za pomocą zasad grupy? 2. Uruchomienie nslookup w trybie debugowania dla każdego scenariusza prawdopodobnie da ci pewne wskazówki.
joeqwerty
Dzieki za sugestie. DNS jest zapewniany przez serwer DHCP, a nie zasady grupy, więc kiedy użytkownik opuszcza nasz fizyczny budynek, otrzymuje serwer DNS z dowolnej sieci, z którą się łączy. Uruchomiłem nslookup we wszystkich przypadkach i zwraca ono prawidłowe ustawienia DNS we wszystkich przypadkach (w tym przypadek niepowodzenia w Scenariuszu 2). Problemem wydaje się być to, że z jakiegoś powodu przeglądarki internetowe nawet nie zadają sobie trudu, aby przejść tak daleko, jak nslookup - jak opisano powyżej, po prostu kończą się niepowodzeniem bez inicjowania jakiejkolwiek transakcji sieciowej w Scenariuszu 2.
Dan
Czy mogę założyć, że mogą oni uzyskać do niego dostęp, www.company.comale nie tylko, company.comczy oboje zawodzą?
TheCleaner

Odpowiedzi:

1

Komputery przyłączone do domeny będą szukać swojego kontrolera domeny, a nie tylko sprawdzać w oparciu o DNS. Ponieważ domena jest taka sama jak publiczna witryna internetowa, będą szukać rekordu SRV, aby powiedzieć im, jak dostać się do DC i uzyskać informacje o domenie. Ponieważ w sieci zdalnej nie ma kontrolera domeny, nie mogą rozpoznać tej nazwy przy użyciu normalnych części systemu Windows obsługujących AD.

Gdy używasz polecenia ping lub (prawie) dowolnej aplikacji Windows, używa on pełnego stosu IP systemu Windows, w tym części komunikujących się z AD. Podczas gdy NSLookup faktycznie wykonuje zapytanie DNS. Sprawdziłeś to za pomocą śladów Wireshark, system Windows nie wykonuje żadnych wyszukiwań podczas próby uzyskania dostępu do witryny company.com, ale nslookup wyświetla prawidłowe wyszukiwanie DNS. Dlatego nie możesz rozwiązać domeny za pomocą polecenia ping lub przeglądarki internetowej, ale nslookup jest w porządku.

Rozwiązaniem w pierwszej części jest skorzystanie z www.firma.com, aby dostać się do witryny zarówno wewnętrznie, jak i zewnętrznie, aby klienci całkowicie ignorowali szukanie kontrolera domeny.

Rozwiązanie drugiej części jest trudniejsze w zależności od tego, do czego subdomain.company.com odnosi się zarówno wewnętrznie, jak i zewnętrznie. Czy kontroler domeny ma rekord DNS dla subdomeny, czy te żądania są właśnie wysyłane na zewnętrzny serwer DNS? Jeśli ma rekord DNS, to gdzie ten rekord?

RobbieCrash
źródło
0

Chciałbym sprawdzić, czy plik HOSTS ( http://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system ) na komputerze nie zawiera żadnych wpisów dotyczących hostów, do których próbujesz się dostać. Myślę, że narzędzie NSLOOKUP omija plik hosts, ale przeglądarka internetowa tego nie zrobi.

Chciałbym również sprawdzić, czy nie masz skonfigurowanego serwera proxy w przeglądarce internetowej, ponieważ niektóre typy serwerów proxy również rozpoznają DNS.

Spróbowałbym także uruchomić przeglądarkę w jej „trybie awaryjnym” (tj. Przy wyłączonych wszystkich dodatkach i wtyczkach) z IE („iexplore -extoff”) lub Firefox (przytrzymaj klawisz Shift podczas uruchamiania lub „Firefox-tryb bezpieczny”).

Najlepiej, jeśli to możliwe, spróbuj za pomocą innej przeglądarki internetowej zawęzić listę przeglądarek internetowych lub systemu operacyjnego.

Następnie, jeśli nadal nigdzie się nie dostaję, sprawdziłbym, jakie usługi są powiązane z kartą sieciową (szalona zapora ogniowa z określonymi regułami przeszkadza?)

Wreszcie, i to jest coraz bardziej mało prawdopodobne, ale NSLOOKUP automatycznie doda nazwę zapytania do określonego komputera lub połączenia. Na przykład mój router ustawia nazwę domeny jako „router”, więc każdy nslookup dla czegoś takiego jak „matthew” faktycznie wyszukuje DNS dla „matthew.router”, możliwe, że przeglądarka internetowa tego nie robi .. jak powiedziałeś, że zrobiłeś pakiet przechwytywanie nie wygląda na to, że to twój problem ... ale na wypadek, gdybyś przeoczył to w przechwytywaniu pakietów lub środowisko przechwytywania nie było w porządku :-).

Mam nadzieję, że to również pomoże :-).

Matthew1471
źródło