La risoluzione DNS non riesce nel browser Web ma nslookup ha esito positivo


9

Siamo una piccola organizzazione da 300 posti con un BYOD misto e un ambiente Active Directory (Windows Server 2012 Standard, Windows 7 Enterprise) e stiamo riscontrando un problema molto strano che coinvolge guasti di portata molto specifica per risolvere il nome di dominio della nostra organizzazione sul nostro dominio macchine congiunte controllate dall'azienda. Ai fini di questa discussione, userò company.com invece del nostro nome di dominio.

Sfondo:

  • Il controller di dominio Active Directory si trova in 172.16.1.3
  • La macchina AD / DC esegue anche DHCP, DNS e HTTP (IIS)
  • I siti Web delle nostre organizzazioni su company.com e sottodominio.company.com sono ospitati da IIS sul computer AD / DC
  • Abbiamo uno scenario DNS diviso in cui il server AD / DC viene utilizzato per la risoluzione DNS interna ma un diverso server off-site fornisce la risoluzione DNS per le query pubbliche
  • L'indirizzo IP corrispondente a company.com e subdomain.company.com è l'indirizzo IP pubblico utilizzato da un firewall ai margini della nostra rete (sia sul server DNS AD / DC sia sul server DNS off-site)
  • Il firewall è configurato correttamente affinché NAT passi le richieste HTTP e HTTPS che riceve sul suo indirizzo IP pubblico all'IP interno del server AD / DC e riflette

Scenario 1:

  • Un utente su una macchina Windows 7 Enterprise unita a un dominio è connesso direttamente alla nostra rete locale con l'indirizzo locale 172.16.6.100 / 16, emesso dal server DHCP.
  • La voce del server DNS è fornita da DHCP (172.16.1.3)
  • Questo utente è in grado di accedere ai siti Web ospitati su company.com e sottodominio.company.com
  • Modifica: nslookup è stato eseguito in questo scenario e restituisce correttamente il record DNS corretto dal server DNS interno (172.16.1.3)

Scenario 2:

  • Lo stesso utente sulla stessa macchina Windows 7 Enterprise appartenente al dominio torna a casa e si connette a Internet utilizzando il proprio ISP residenziale
  • Le voci del server IP e DNS per il computer client sono fornite da DHCP
  • Questo utente può accedere a qualsiasi risorsa Internet, come google.com
  • Questo utente non può accedere al sito Web all'indirizzo company.com o subdomain.company.com (viene restituito un errore "host non risolto")
  • Quando questo utente esegue Nslookup sul company.com hanno DO ricevono l'indirizzo IP pubblico corretto fornito da DNS
  • Le richieste HTTP / HTTPS all'indirizzo IP hanno esito positivo e una pagina Web viene restituita correttamente dal server
  • Questo problema prevale su tutti i browser Web
  • L'uso di tracert company.com restituisce "impossibile risolvere il nome del sistema di destinazione"
  • L'utilizzo di ping company.com restituisce "impossibile trovare host company.com"
  • Quando si esegue Wireshark sul client prima / durante una richiesta non riuscita, nessun pacchetto viene inviato dal computer client (né per la risoluzione DNS né per una richiesta HTTP / ping / tracert iniziale)
  • Il riavvio del servizio client DNS non risolve il problema
  • L'arresto del servizio client DNS non risolve il problema
  • L'uso di ipconfig / flushdns non risolve questo problema
  • L'uso di route / f non risolve questo problema
  • Il ripristino delle connessioni di rete mediante netsh int ip reset non risolve questo problema
  • Modifica: nslookup è stato eseguito in questo scenario e restituisce correttamente il record DNS corretto dal server DNS specificato dalle impostazioni DHCP della rete utilizzata dall'utente

Scenario 3:

  • Lo stesso utente su un computer Windows 7 Professional personale (non appartenente al dominio) è in grado di accedere ai siti Web su company.com e subdomain.company.com quando è collegato alla nostra rete locale
  • Modifica: nslookup è stato eseguito in questo scenario e restituisce correttamente il record DNS corretto dal server DNS interno (172.16.1.3)

Scenario 4:

  • Lo stesso utente su un computer Windows 7 Professional personale (non aggiunto al dominio) è in grado di accedere ai siti Web su company.com e subdomain.company.com quando è collegato alla propria rete domestica
  • Modifica: nslookup è stato eseguito in questo scenario e restituisce correttamente il record DNS corretto dal server DNS specificato dalle impostazioni DHCP della rete utilizzata dall'utente

Note finali:

Questo problema sembra essere generalizzato per interessare tutti i computer di proprietà dell'azienda. Stiamo usando un'immagine di sistema comune per tutti i computer di proprietà dell'azienda, che è stata appena caricata nel mese di agosto. Ho cercato su Internet Internet alla ricerca di possibili soluzioni e fino ad ora sono uscito a mani vuote - apprezzo davvero qualsiasi suggerimento o consiglio tu possa avere.


2
Gestisci siti web sui tuoi controller di dominio, eh? Questo non è un bueno.
Ryan Ries,

1
Sì, sono d'accordo. I budget sono limitati, cosa posso dire. Forse in futuro ...
Dan,

1. Stai configurando qualche impostazione DNS sui computer aggiunti al dominio con Criteri di gruppo? 2. L'esecuzione di nslookup in modalità debug per ogni scenario probabilmente fornirà alcuni indizi.
joeqwerty,

Grazie per il suggerimento Il DNS è fornito dal server DHCP, non dai criteri di gruppo, quindi quando un utente lascia il nostro edificio fisico riceve il server DNS di qualunque rete si colleghi. Ho eseguito nslookup in tutti i casi e restituisce le impostazioni DNS corrette in tutti i casi (incluso il caso di errore nello scenario 2). Il problema sembra essere che per qualche motivo i browser Web non si preoccupano nemmeno di arrivare a nslookup - come descritto sopra, semplicemente falliscono senza avviare alcuna transazione di rete nello Scenario 2.
Dan,

Posso fare l'ipotesi che possano acceess come www.company.com, ma non solo company.como fa entrambe fallire?
TheCleaner,

Risposte:


1

I computer aggiunti al dominio cercheranno il proprio controller di dominio, non solo effettuando una ricerca basata su DNS. Poiché il dominio è lo stesso del sito Web pubblico, cercheranno un record SRV per dire loro come raggiungere il controller di dominio e ottenere informazioni sul dominio. Poiché nella rete remota non è presente alcun controller di dominio, non è possibile risolvere questo nome utilizzando le normali parti di Windows compatibili con AD.

Quando usi il ping o (quasi) qualsiasi applicazione Windows, usa l'intero stack IP di Windows, incluse le parti che parlano con AD. Considerando che NSLookup in realtà esegue una query DNS. Hai verificato questo con le tue tracce di Wireshark, nessuna ricerca viene eseguita da Windows quando tenta di accedere a company.com ma nslookup mostra una ricerca DNS corretta. Questo è il motivo per cui non è possibile risolvere il dominio tramite ping o browser Web, ma nslookup va bene.

La soluzione per la prima parte è utilizzare www.company.com per accedere al sito Web sia internamente che esternamente, in modo che i clienti ignorino completamente la ricerca di un controller di dominio.

La soluzione per la seconda parte è più complicata a seconda di ciò a cui sottodominio.company.com fa riferimento sia internamente che esternamente. Il controller di dominio dispone di un record DNS per il sottodominio o tali richieste sono state appena inviate al server DNS esterno? Se ha un record DNS, dove punta quel record?


0

Verificherei che il file HOSTS ( http://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system ) sulla macchina non contenga alcuna voce per gli host a cui stai tentando di accedere. Penso che lo strumento NSLOOKUP ignori il file hosts ma il browser non lo farà.

Vorrei anche verificare che nel browser non sia configurato un proxy poiché alcuni tipi di proxy risolvono anche il DNS.

Vorrei anche provare a eseguire il browser nella sua "modalità provvisoria" (cioè con tutti i componenti aggiuntivi e plug-in disabilitati) con IE ("iexplore -extoff") o Firefox (tenere premuto il tasto Maiusc all'avvio o "firefox -safe-mode").

Idealmente, se possibile, provare con un altro browser Web per restringere se si tratta del browser Web o del sistema operativo.

Quindi, se ancora non mi trovassi da nessuna parte, verificherei quali servizi sono collegati alla scheda di rete (un firewall pazzo con regole specifiche si frappone?)

Alla fine, e questo sta diventando sempre più improbabile, ma NSLOOKUP aggiungerà automaticamente il nome di dominio specifico del computer o della connessione alle query. Ad esempio il mio router imposta il nome di dominio come "router", quindi qualsiasi nslookup per qualcosa come "matthew" cerca effettivamente "matthew.router" nel DNS, è possibile che il browser web non lo stia facendo .. come hai detto che hai fatto un pacchetto catturare non sembra che questo sia il tuo problema .. ma nel caso lo avessi perso nella cattura dei pacchetti o il tuo ambiente di cattura non fosse del tutto giusto :-).

Queste sono le cose che proverei e spero che anche questo possa aiutarti :-).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.