O endereço IP usado pelo nslookup e pelo ping é diferente

3

Eu tenho um servidor da Web hospedado na rede. Tem um nome de domínio registrado. No entanto, também hospedo um servidor DNS para a LAN. Portanto, quando alguém quiser acessar o servidor da Web, ele verificará o servidor DNS e usará o endereço interno 192.168.x.x. O endereço público do servidor da web é 203.x.x.x.

Quando meu computador está funcionando bem, eu faria um ping ou tentaria o nslookup www.mydomain.com. Ambos aponta para 192.168.x.x que é endereço interno. Às vezes, eu ou alguém não pode acessar o www.mydomain.com. Quando eu verifico, o nslookup retorna o endereço interno. Mas quando eu ping, ele tentaria se conectar usando o endereço público como este.

Pinging www.mydomain.com [203.x.x.x] with 32 bytes of data:

Se isso acontecer, reparar a conexão ajuda principalmente. Às vezes, a estação de trabalho (Win XP) deve ser reiniciada. Nas configurações de DNS das estações de trabalho, o DNS primário aponta para o servidor DNS e o DNS secundário aponta para o servidor DNS do provedor.

O que eu quero saber é a causa deste problema e a prevenção dele? Ou uma correção melhor que as minhas atuais. Obrigado

    
por ht2 26.07.2012 / 06:02

2 respostas

9

Você configurou o cliente para pesquisar seu DNS interno como primário e um servidor DNS externo como secundário? Você tem uma condição de corrida; Se o DNS interno for muito lento para responder, o cliente obtém uma resposta inutilizável do servidor DNS público. ping está usando a resposta em cache da pesquisa contra o servidor DNS externo, enquanto nslookup envia uma nova solicitação que obtém uma resposta válida do servidor DNS interno.

Ter visões inconsistentes do DNS entre seus servidores primário e secundário pode causar problemas como esse. Em vez disso, defenda um segundo servidor DNS interno e use-o como secundário ou configure o cliente sem nenhum servidor DNS secundário.

    
por 26.07.2012 / 06:07
5

Esse problema é causado pelo uso de endereços privados RFC1918 dentro de sua rede interna. Como resultado, você precisa acessar o servidor usando um endereço enquanto está em um lado da rede e um endereço diferente no outro.

A solução a curto prazo para isso é implementar DNS de split-horizon . Isso fornece entradas de DNS consistentes dentro da rede e sem.

A solução a longo prazo para isso é implementar o IPv6, no qual você terá o mesmo endereço para o servidor, independentemente de você ser interno ou externo.

    
por 26.07.2012 / 06:38