El archivo /etc/hosts
y el DNS no funcionan juntos. Proporcionan resoluciones independientes de nombres (nombres de red).
El pegamento que los une está dentro /etc/nsswitch.conf
de los sistemas Linux . En el /etc/netsvc.conf
caso de los servidores AIX, en el sistema para Windows y podría aparecer en la lista con lookupd -configuration
(buscar LookupOrder, similar a:) Cache FF DNS NI DS
en sistemas MacOS.
El orden real se vuelve complejo y generalmente complicado, ya que cada servicio de resolución de nombres podría (y muchas veces lo hace) mirar dentro de otros niveles de resolución. Me gusta dnsmasq
(un servidor DNS ligero en general 127.0.0.1:53
, o ::1:53
(o ambos)) generalmente lee e incluye el /etc/hosts
contenido del archivo. O como systemd.resolver
(un solucionador básico que solo debe resolver nombres sin puntos como mycomputer
) llama directamente a las resoluciones DNS para nombres con puntos ( mycomputer.here.dev.
) en algunas condiciones.
En general, los servicios se llaman en orden y el primero que no falla gana y se acepta como la dirección correcta. El orden básico general es: /etc/hosts
(archivo), mDNS (nombres sin puntos), DNS, NIS, NIS +, LDAP. En algunos sistemas Linux hay una resolución de último recurso para la computadora hostname
en el serviciomyhostname
Por ejemplo, en este sistema (desde cat /etc/nsswitch
):
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Tenga en cuenta que los muy viejos (glibc 2.4 y anteriores) order
de entrada set en/etc/host.conf
como:
order hosts,bind,nis
Solo se aplica al /etc/hosts
servicio de nombres de archivos (archivo ).
Los efectos en esta computadora cliente (linux) relacionados con NIS y LDAP son (generalmente) controlados por el servidor DNS utilizado (enlace, desvinculado, etc.).
entonces:
- Si un nombre de host puede resolverse en / etc / hosts, ¿se aplica DNS después de / etc / hosts para resolver el nombre de host o trata la dirección IP resuelta por / etc / hosts como un "nombre de host" para resolver de forma recursiva?
Ninguna.
Si se puede resolver un nombre de host /etc/hosts
, DNS
no se aplica (si los archivos son anteriores a DNS).
ni la dirección IP resuelta se trata como un "nombre de host".
Simplemente es: la dirección resuelta.
navegador
Un navegador podría usar cualquier método para resolver un nombre (después de haber verificado su caché de nombres resueltos). Solo si utiliza un método proporcionado por el sistema, se aplica el orden indicado anteriormente. El navegador, como cualquier programa, podría elegir contactar a cualquier servidor DNS directamente.
Si el orden del sistema lo ha hecho /etc/hosts
antes DNS
, significa que una entrada en ese archivo tendrá prioridad sobre el DNS
servicio de resolución.
Entonces:
- ... ¿Significa que / etc / hosts anula el DNS para resolver nombres de host?
Sí (si el navegador usa la resolución proporcionada por el sistema).
¿Por qué no /etc/hosts
volver a presentar una solicitud para no poder conectarme al sitio web?
Solo hasta que el caché interno del navegador se borre (o se agote el tiempo de espera) para ese nombre específico, ese nombre se buscará nuevamente fuera del navegador.
Si el navegador tiene un nombre resuelto en su caché, el navegador lo usa nuevamente.
Use esto para borrar el caché .
O simplemente cierre (espere un momento) y reinicie el navegador.
/etc/hosts
los servidores de nombres definidos localmente. Es bastante confuso presenciar la primera vez. (Mirándote, navegadores basados en cromo!)