A resolução de DNS falha no navegador da web, mas o nslookup é bem-sucedido

9

Somos uma organização pequena, com 300 lugares, com um ambiente BYOD e Active Directory misto (Windows Server 2012 Standard, Windows 7 Enterprise) e estamos tendo um problema muito estranho envolvendo falhas de escopo muito específico para resolver o nome de domínio de nossa organização em nosso domínio unidas e controladas pela empresa. Para os fins desta discussão, usarei company.com em vez de nosso nome de domínio.

Fundo:

  • O Controlador de Domínio Active Directory está localizado em 172.16.1.3
  • A máquina AD / DC também está executando DHCP, DNS e HTTP (IIS)
  • Os sites de nossas organizações em company.com e subdomínio.company.com são hospedados pelo IIS na máquina AD / DC
  • Temos um cenário de DNS dividido em que o servidor AD / DC é usado para resolução interna de DNS, mas um servidor externo diferente fornece resolução de DNS para consultas públicas
  • O endereço IP correspondente a company.com e subdomain.company.com é o endereço IP público usado por um firewall na borda da nossa rede (no servidor DNS AD / DC e no servidor DNS externo)
  • O firewall está configurado corretamente para que o NAT passe solicitações HTTP e HTTPS que recebe em seu endereço IP público para o IP interno do servidor AD / DC e reflete

Cenário 1:

  • Um usuário em uma máquina Windows 7 Enterprise ingressada no domínio é conectado diretamente à nossa rede local com o endereço local 172.16.6.100 / 16, emitido pelo servidor DHCP.
  • A entrada do servidor DNS é fornecida pelo DHCP (172.16.1.3)
  • Este usuário pode acessar os sites hospedados em company.com e subdomínio.company.com
  • Edit: nslookup foi executado neste cenário e retorna corretamente o registro DNS adequado do servidor DNS interno (172.16.1.3)

Cenário 2:

  • O mesmo usuário na mesma máquina Windows 7 Enterprise ingressada no domínio volta para casa e se conecta à Internet usando seu ISP residencial
  • As entradas do servidor IP e DNS para a máquina cliente são fornecidas pelo DHCP
  • Este usuário pode acessar qualquer recurso da Internet, como google.com
  • Este usuário não pode acessar o site em company.com ou subdomínio.company.com (um erro "host não resolvido" é retornado)
  • Quando esse usuário corre nslookup em company.com eles NÃO receber o endereço IP público correto fornecido pela DNS
  • As solicitações HTTP / HTTPS para o endereço IP são bem-sucedidas e uma página da web é retornada corretamente pelo servidor
  • Esse problema prevalece em todos os navegadores da web
  • O uso do tracert company.com retorna "incapaz de resolver o nome do sistema de destino"
  • Usando ping company.com retorna "não foi possível encontrar o host company.com"
  • Ao executar o Wireshark no cliente antes / durante uma solicitação com falha, nenhum pacote é enviado pela máquina do cliente (para resolução DNS ou para uma solicitação HTTP / ping / tracert inicial)
  • Reiniciar o serviço de cliente DNS não resolve o problema
  • Parar o serviço de cliente DNS não resolve o problema
  • O uso de ipconfig / flushdns não resolve esse problema
  • O uso da rota / f não resolve esse problema
  • Redefinir as conexões de rede usando netsh int ip reset não resolve esse problema
  • Editar: o nslookup foi executado nesse cenário e retorna corretamente o registro DNS adequado do servidor DNS especificado pelas configurações de DHCP da rede usada pelo usuário

Cenário 3:

  • O mesmo usuário em um computador Windows 7 Professional pessoal (não ingressado no domínio) pode acessar os sites em company.com e subdomain.company.com quando conectado à nossa rede local
  • Edit: nslookup foi executado neste cenário e retorna corretamente o registro DNS adequado do servidor DNS interno (172.16.1.3)

Cenário 4:

  • O mesmo usuário em um computador Windows 7 Professional pessoal (não associado ao domínio) pode acessar os sites em company.com e subdomínio.company.com quando conectado à rede doméstica
  • Editar: o nslookup foi executado nesse cenário e retorna corretamente o registro DNS adequado do servidor DNS especificado pelas configurações de DHCP da rede usada pelo usuário

Notas Finais:

Esse problema parece ser generalizado para afetar todos os computadores pertencentes à empresa. Estamos usando uma imagem de sistema comum para todos os computadores pertencentes à empresa, que foi carregada em agosto. Tenho vasculhado a Internet em busca de possíveis soluções e, até agora, estou de mãos vazias - eu realmente aprecio todas as sugestões ou conselhos que você possa ter.

Dan
fonte
2
Executando sites em seus controladores de domínio, não é? Isso não é bom.
Ryan Ries
1
Sim, eu concordo. Os orçamentos são apertados, o que posso dizer. Talvez no futuro ...
Dan
1. Você está definindo alguma configuração de DNS nas máquinas ingressadas no domínio com a Diretiva de Grupo? 2. A execução do nslookup no modo de depuração para cada cenário provavelmente fornecerá algumas dicas.
Joeqwerty
Obrigado pela sugestão. O DNS é fornecido pelo servidor DHCP, não pela diretiva de grupo; portanto, quando um usuário sai de nosso prédio físico, recebe o servidor DNS de qualquer rede à qual se conectar. Executei o nslookup em todos os casos e ele retorna as configurações de DNS corretas em todos os casos (incluindo o caso de falha no cenário 2). O problema parece ser que, por algum motivo os navegadores da web não são sequer se preocupar em ir tão longe como nslookup - como descrito acima, eles simplesmente não sem iniciar qualquer transação rede no Cenário 2.
Dan
Posso assumir que eles podem aceitá-lo como www.company.commas não apenas company.comou ambos falham?
TheCleaner

Respostas:

1

Os computadores ingressados ​​no domínio procurarão seu controlador de domínio, não apenas fazendo uma pesquisa baseada em DNS. Como o domínio é o mesmo do site público, eles procurarão um registro SRV para informar como acessar o DC e obter informações sobre o domínio. Como não há controlador de domínio na rede remota, eles não podem resolver esse nome usando peças normais do Windows com reconhecimento de AD.

Quando você usa ping ou (quase) qualquer aplicativo do Windows, ele usa a pilha de IPs completa do Windows, incluindo as partes que falam com o AD. Considerando que NSLookup realmente faz apenas uma consulta DNS. Você verificou isso com seus rastreamentos do Wireshark; nenhuma pesquisa é executada pelo Windows ao tentar acessar o company.com, mas o nslookup mostra uma pesquisa de DNS adequada. É por isso que você não consegue resolver o domínio via ping ou navegador da Web, mas o nslookup está bom.

A solução para a primeira parte disso é usar www.company.com para acessar o site, interna e externamente, para que os clientes ignorem completamente a procura de um controlador de domínio.

A solução para a segunda parte é mais complicada, dependendo de qual subdomínio.company.com se refere tanto internamente quanto externamente. O controlador de domínio possui um registro DNS para subdomínio ou essas solicitações são enviadas apenas para o servidor DNS externo? Se ele possui um registro DNS, para onde ele aponta?

RobbieCrash
fonte
0

Eu verificaria o arquivo HOSTS ( http://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system ) na máquina não contém nenhuma entrada para os hosts que você está tentando acessar. Acho que a ferramenta NSLOOKUP ignora o arquivo hosts, mas o navegador não.

Eu também verificaria se você não possui um proxy configurado no navegador, pois alguns tipos de proxies também resolvem o DNS.

Eu também tentaria executar o navegador em seu "modo de segurança" (ou seja, com todos os complementos e plugins desativados) com o IE ("iexplore -extoff") ou Firefox (mantenha pressionada a tecla Shift ao iniciar ou "firefox-safe-mode").

Idealmente, se possível, tente com outro navegador da web para restringir se é o navegador da web ou o SO.

Então, se eu ainda não chegasse a lugar algum, verificaria quais serviços estão ligados ao adaptador de rede (firewall maluco com regras específicas atrapalhando?)

Por fim, isso está se tornando cada vez mais improvável, mas o NSLOOKUP anexará o computador ou o nome de domínio específico da conexão nas consultas automaticamente. Por exemplo, meu roteador define o nome de domínio como "roteador", de modo que qualquer pesquisa em algo como "matthew" realmente procure no DNS por "matthew.router", é possível que o navegador não esteja fazendo isso. Como você disse que fez um pacote capturá-lo não parece que esse é o seu problema .. mas, caso você tenha perdido na captura de pacotes ou seu ambiente de captura não esteja certo :-).

Estas são as coisas que eu tentaria e espero que isso ajude você também :-).

Matthew1471
fonte