¿Comportamiento esperado con entradas duplicadas de archivos de hosts NT?


12

Sé que no debe tener entradas duplicadas en su archivo de hosts de Windows NT windows\system32\drivers\etc\hosts, pero ¿cuál es el comportamiento esperado si las tiene?

Puede tener múltiples entradas con el mismo nombre de host pero diferentes direcciones en el archivo de hosts de Windows NT ( windows\system32\drivers\etc\hosts). Cuando accede a ese host en la red, el sistema DNS de Windows lo resolverá en una de esas entradas. ¿Cómo puedo saber qué entrada se utilizará?

P.ej:

127.0.0.1    mydomain.com
192.168.1.1  mydomain.com

Editar : este ejemplo particular parece forzar un comportamiento especial. El loopback parece anular cualquier entrada, independientemente del orden.

O:

192.168.1.2  mydomain.com
192.168.1.1  mydomain.com

Estoy viendo que la primera entrada en la lista tiene prioridad.

Pero, ¿está garantizado el comportamiento que veo, es específico de la versión o generalmente no es confiable?

La razón por la que pregunto es porque estoy escribiendo algunos scripts para manejar hosts, y estoy tratando de averiguar si puedo seleccionar de manera confiable uno de ellos para eliminar / comentar, y espero que no haya ningún impacto en el sistema del usuario.


Acabo de notar que 127.0.0.1parece forzar un comportamiento especial. Edité la pregunta para preguntar sobre los diferentes escenarios ...
Merlyn Morgan-Graham

¿Quién dice que no se pueden tener múltiples entradas con el mismo nombre de dominio y diferentes direcciones IP? Ciertamente no Microsoft. Es una cosa perfectamente legítima, según Microsoft.
JdeBP

@JdeBP: Sé que esto está al borde de una segunda pregunta, pero si un host es multihome, ¿qué significa eso y cómo me resulta útil? Si hago ping, solo obtendré una dirección. Lo mismo si trato de servirlo en la terminal. Por cierto, su enlace es bastante útil para mí, ya que respalda el comportamiento que describí en mi pregunta. Deberías escribir una respuesta :)
Merlyn Morgan-Graham

Intenté editar la pregunta para que sea menos inexacta, según el comentario de JdeBP.
Merlyn Morgan-Graham

Respuestas:


5

Solo se leerá el primero. Una vez que se ha resuelto el nombre, no se realizan más lecturas del archivo.


Uno: Contradices la pregunta. Dos: el hostsarchivo se lee en su totalidad cuando el servicio del Cliente DNS está habilitado, y las entradas múltiples con el mismo nombre de dominio son bastante legítimas.
JdeBP

@Synetech: ¿Puedes aclarar qué parte es incorrecta? ¿Es la parte que JdeBP ya mencionó en el OP (que puede tener múltiples entradas con el mismo dominio) o hay algo más que me he perdido? :)
Merlyn Morgan-Graham

5

Se permiten múltiples entradas con el mismo nombre de dominio y son útiles en algunos escenarios.

Como describí en mi pregunta, parece que en casos "normales", donde esas direcciones son accesibles por el mismo adaptador, la primera dirección parece ser la que se toma. Si una de esas entradas es loopback ( 127.0.0.1), sin embargo, podría tener prioridad.

A veces tiene sentido tener múltiples entradas con el mismo nombre de dominio, incluso cuando ninguna de las direcciones está en el adaptador de bucle invertido, si la computadora es multihomed o multiaddressable . (Gracias JdeBP por la información en los comentarios en mi OP).

un solo nombre de host DNS puede corresponder a más de una dirección IP si cada una de las direcciones se asigna y se usa en líneas separadas. Por ejemplo, puede agregar líneas para la siguiente computadora host de DNS de alojamiento múltiple o múltiple:

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

Creo que la preferencia / prioridad del adaptador podría desempeñar un papel aquí (que puede configurar en la configuración de red), aunque no puedo probarlo. Loopback probablemente siempre sea lo primero en preferencia de adaptador.


No puedo probar la preferencia / prioridad del adaptador en este momento, así que comente si sabe que esto es correcto o incorrecto.
Merlyn Morgan-Graham

1

Lo intenté hace 5 minutos y se ejecuta sin servidor DNS de la siguiente manera en el archivo de hosts de Windows:

ip1, ip2, ipx name_to_resolve

Perdon por mi inglés...


¿podría explicar brevemente cómo responde la pregunta?
BlueBerry - Vignesh4303

0

> El loopback parece anular cualquier entrada, independientemente del orden.

¿Se aseguró de cerrar y volver a ejecutar el cliente (navegador) después de realizar el cambio? Si no lo hace, probablemente seguirá utilizando los valores anteriores y no verá el cambio en orden hasta que se reinicie. Además, si tiene el servicio del Cliente DNS ejecutándose, los valores antiguos se almacenan en caché, por lo que no verá el cambio.

Hice algunas pruebas y parece que la primera entrada es siempre la que se usa.

Asegúrese de reiniciar el cliente para asegurarse de que está volviendo a leer el archivo HOSTS, y si tiene el servicio del Cliente DNS ejecutándose, también ejecute ipconfig /flushdns


No recuerdo si lo hice o no, ya que estaba trabajando con esto entre 3 y 8 meses atrás. Pero buen punto y gracias por comprobar esto. ¿Tiene múltiples adaptadores y puede verificar si la configuración de preferencias del adaptador que mencioné en mi respuesta tiene algún impacto?
Merlyn Morgan-Graham

1
En realidad, el pedido de NIC múltiple se discutió recientemente.
Synetech
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.