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.

Merlyn Morgan-Graham
fonte
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á.

Abraxas
fonte
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.

Merlyn Morgan-Graham
fonte
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...

Darckclone
fonte
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

Synetech
fonte
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