Comportamento esperado com NT duplicado hospeda entradas de arquivo?


12

Eu sei que você não deve ter entradas duplicadas no arquivo de hosts do Windows NT windows\system32\drivers\etc\hosts, mas qual é o comportamento esperado se você as possui?

Você pode ter várias entradas com o mesmo nome de host, mas endereços diferentes no arquivo de hosts do Windows NT ( windows\system32\drivers\etc\hosts). Quando você acessar esse host na rede, o sistema DNS do Windows o resolverá para uma dessas entradas. Como posso saber qual entrada será usada?

Por exemplo:

127.0.0.1    mydomain.com
192.168.1.1  mydomain.com

Editar : Este exemplo em particular parece forçar um comportamento especial. O loopback parece substituir qualquer entrada, independentemente da ordem.

Ou:

192.168.1.2  mydomain.com
192.168.1.1  mydomain.com

Estou vendo a primeira entrada na lista ter precedência.

Mas, é garantido o comportamento que vejo, é específico da versão ou geralmente não é confiável?

O motivo pelo qual pergunto é porque estou escrevendo alguns scripts para lidar com hosts e estou tentando descobrir se posso selecionar com segurança um deles para remover / comentar e espero que não haja impacto no sistema do usuário.


Só notei que 127.0.0.1parece forçar um comportamento especial. Eu editei a pergunta a fazer sobre os diferentes cenários ...
Merlyn Morgan-Graham

Quem disse que não se pode ter várias entradas com o mesmo nome de domínio e endereços IP diferentes? Certamente não a Microsoft. É uma coisa perfeitamente legítima, de acordo com a Microsoft.
21411 JdeBP

@JdeBP: Eu sei que isso está chegando a uma segunda pergunta, mas se um host é multi-homed, o que isso significa e como isso é útil para mim? Se eu fizer o ping, receberei apenas um endereço. Mesmo se eu tentar servir terminal para ele. BTW, seu link é bastante útil para mim, pois faz o backup do comportamento que descrevi na minha pergunta. Você deve escrever uma resposta :)
Merlyn Morgan-Graham

Tentou editar a pergunta para torná-la menos imprecisa, com base no comentário do JdeBP.
Merlyn Morgan-Graham

Respostas:


5

Somente o primeiro será lido. Depois que o nome for resolvido, nenhuma leitura adicional do arquivo ocorrerá.


Um: você contradiz a pergunta. Dois: O hostsarquivo é lido na íntegra quando o serviço Cliente DNS está ativado, e várias entradas com o mesmo nome de domínio são bastante legítimas.
21411 JdeBP

@ Synetech: Você pode esclarecer qual parte está incorreta? É a parte que o JdeBP já mencionou no OP (que você pode ter várias entradas com o mesmo domínio) ou há algo mais que eu perdi? :)
Merlyn Morgan-Graham /

5

Várias entradas com o mesmo nome de domínio são permitidas e úteis em alguns cenários.

Como descrevi na minha pergunta, parece que, em casos "normais", em que esses endereços são acessíveis pelo mesmo adaptador, o primeiro endereço parece ser o que é usado. Se uma dessas entradas for loopback ( 127.0.0.1), ela poderá ter precedência.

Às vezes, faz sentido ter várias entradas com o mesmo nome de domínio, mesmo quando nenhum dos endereços estiver no adaptador de auto- retorno, se o computador tiver hospedagem múltipla ou endereço múltiplo . (Obrigado JdeBP pela informação nos comentários no meu OP).

um único nome de host DNS pode corresponder a mais de um endereço IP se cada um dos endereços for mapeado e usado em linhas separadas. Por exemplo, você pode adicionar linhas para o seguinte computador host DNS com hospedagem múltipla ou com várias entradas:

10.0.0.1  host-a.example.microsoft.com
10.0.0.2  host-a.example.microsoft.com
10.0.0.3  host-a.example.microsoft.com

Acredito que a preferência / prioridade do adaptador possa desempenhar um papel aqui (que você pode configurar nas configurações de rede), embora eu não possa testá-lo. Provavelmente, o loopback sempre será o primeiro na preferência do adaptador.


Não posso testar a preferência / prioridade do adaptador neste momento; portanto, comente se você sabe que isso está correto ou incorreto.
Merlyn Morgan-Graham

1

Eu tentei há 5 minutos e ele roda sem o servidor DNS da seguinte maneira no arquivo de hosts do Windows:

ip1, ip2, ipx name_to_resolve

Desculpe meu inglês...


u poderia explicar em breve como ele responde à pergunta
Blueberry - Vignesh4303

0

> O loopback parece substituir qualquer entrada, independentemente da ordem.

Você certificou-se de fechar e reexecutar o cliente (navegador?) Após fazer a alteração? Caso contrário, ele provavelmente ainda estará usando os valores antigos e não verá a alteração na ordem até que seja reiniciada. Além disso, se você tiver o serviço de cliente DNS em execução, os valores antigos serão armazenados em cache, para que você não veja a alteração.

Fiz alguns testes e parece que a primeira entrada é sempre a que é usada.

Certifique-se de reiniciar o cliente para garantir que ele esteja relendo o arquivo HOSTS e se você tiver o serviço de cliente DNS em execução, execute também ipconfig /flushdns


Não me lembro se fiz ou não, pois estava trabalhando com isso entre 3 a 8 meses atrás. Mas bom ponto e obrigado por verificar isso. Você tem vários adaptadores e pode verificar se as configurações de preferência do adaptador mencionadas na minha resposta automática têm algum impacto?
precisa

11
Na verdade, várias ordens NIC foram discutidas recentemente.
Synetech
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.