En /etc/resolv.conf, ¿qué hace exactamente la opción de configuración "buscar"?

66

Si tengo la opción configurada como el nombre de dominio del servidor en sí, ¿eso significa que el servidor en sí se usa primero para buscar nombres de dominio antes de consultar el Internet externo? es decir /etc/hosts, será consultado?

Por ejemplo:

search  localdomain.com
Miguel
fuente

Respuestas:

63

De man resolv.conf

La lista de búsqueda normalmente se determina a partir del nombre de dominio local; de manera predeterminada, contiene solo el nombre de dominio local. Esto se puede cambiar enumerando la ruta de búsqueda de dominio deseada siguiendo la palabra clave de búsqueda con espacios o pestañas que separan los nombres. Las consultas de resolución que tengan menos de ndots dots (el valor predeterminado es 1) se intentarán utilizando cada componente de la ruta de búsqueda a su vez hasta que se encuentre una coincidencia. Para entornos con múltiples subdominios, lea las opciones ndots: n a continuación para evitar ataques de hombre en el medio y tráfico innecesario para los servidores root-dns. Tenga en cuenta que este proceso puede ser lento y generará mucho tráfico de red si los servidores de los dominios enumerados no son locales, y que las consultas se agotarán si no hay un servidor disponible para uno de los dominios.

La lista de búsqueda está actualmente limitada a seis dominios con un total de 256 caracteres.

Para resumir lo anterior, suponiendo que no haya cambios con respecto a los valores predeterminados mencionados anteriormente, si algo llega al solucionador que no tiene puntos, el solucionador intentará agregarlo localdomain.com.

Entonces, digamos que solo escribe http://somesite/somedocument.htmlen su navegador. El solucionador detectará eso y primero intentará resolverlo somesite.localdomain.com, equivalente si realmente escribió http://somesite.localdomain.com/somedocument.html, antes de intentar lo que realmente solicitó.

Esto es útil si forma parte de un entorno LAN que tiene su propio servidor DNS para que las personas puedan escribir nombres simples para llegar a los recursos locales. Si no tiene una LAN doméstica o corporativa con su propio servidor DNS, no tiene nada de qué preocuparse.

LawrenceC
fuente
10
HTTP es un mal ejemplo para el uso de la opción de búsqueda. Una gran cantidad de personas usa hosts virtuales basados ​​en nombres debido a la escasez de IPv6. En mi experiencia, es muy raro ver hosts virtuales de una manera que acepte una solicitud Host: somesiteadicional Host: somesite.localdomain.com. O para decirlo de otra manera, la opción de búsqueda le permite a su cliente resolver un nombre abreviado, pero eso no significa que realmente podrá completar una solicitud.
Zoredache
1
@Zoredache, está aportando un punto válido, sin embargo, uno debe suponer que la técnica de búsqueda sería implementada por un administrador del sistema local que también tiene el control de todos los hosts de los nombres de dominio locales, por lo tanto, hosts virtuales basados ​​en nombres supuestamente ya estaría configurado para permitir este comportamiento.
Cnst
1
@cnst: no es cierto siempre cierto en mi experiencia. Los desarrolladores crean un servidor completo con Tomcat empaquetado con el archivo war. El administrador de ops / sys se preocupa por la configuración de máquinas / vms / dns. Existe esta línea gris sobre quién es responsable. Es bueno que zoredache lo haya llamado en caso de que un lector tenga una configuración que pueda tener el problema descrito.
Pat