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.
fonte
127.0.0.1
parece forçar um comportamento especial. Eu editei a pergunta a fazer sobre os diferentes cenários ...Respostas:
Somente o primeiro será lido. Depois que o nome for resolvido, nenhuma leitura adicional do arquivo ocorrerá.
fonte
hosts
arquivo é 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.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).
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.
fonte
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...
fonte
> 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
fonte