segundo servidor de nombres en /etc/resolv.conf no recogido por wget


14

Mi resolv.conf se ve así:

; generated by /sbin/dhclient-script
search mcdc
nameserver 10.0.4.48
nameserver 8.8.8.8

si lo hago nslookup www.google.comfunciona

nslookup www.google.com
;; Got SERVFAIL reply from 10.0.4.48, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.

pero cuando rizo www.google.com, no se puede resolver el host.

Intenté ejecutar curl bajo strace, y encontré que curl solo estaba usando el primer servidor de nombres en resolv.conf, no el segundo. Si cambio las dos líneas del servidor de nombres, www.google.com resuelve, pero los nombres DNS internos no lo hacen, por lo que no es una buena solución.

¿Cómo puedo arreglar resolv.conf para usar ambos servidores de nombres?

Respuestas:


24

El comportamiento predeterminado para resolv.conf y el solucionador es probar los servidores en el orden indicado. El solucionador solo probará el siguiente servidor de nombres si el primer servidor de nombres agota el tiempo de espera. La página de manual resolv.conf dice:

servidor de nombres Servidor de nombres Dirección IP

Dirección de Internet (en notación de puntos) de un servidor de nombres que el resolutor debe consultar. Se pueden enumerar hasta MAXNS (actualmente 3, ver) servidores de nombres, uno por palabra clave. Si hay varios servidores, la biblioteca de resolución los consulta en el orden indicado.

Y:

(El algoritmo utilizado es probar un servidor de nombres, y si la consulta agota el tiempo de espera, intente con el siguiente, hasta que se agoten los servidores de nombres, luego repita intentando todos los servidores de nombres hasta que se realice un número máximo de reintentos).

Consulte también la página del manual del resolver (5) para obtener más información.

Puede alterar el comportamiento del solucionador utilizando rotate, que consultará a los servidores de nombres en un orden de ida y vuelta:

rotar establece RES_ROTATE en _res.options, lo que provoca la selección de servidores de nombres de todos los listados. Esto tiene el efecto de distribuir la carga de consultas entre todos los servidores listados, en lugar de hacer que todos los clientes prueben el primer servidor listado primero cada vez.

Sin embargo, nslookup usará el segundo servidor de nombres si recibe un SERVFAILdel primer servidor de nombres. Desde la página de manual de nslookup :

[no] fail Pruebe el siguiente servidor de nombres si un servidor de nombres responde con SERVFAIL o una referencia (nofail) o finaliza la consulta (fail) en dicha respuesta.

(Predeterminado = nofail)


2

sí, podría usar la configuración de "rotar" y tiempo de espera para mejorar las búsquedas de DNS, a continuación se muestra el ejemplo,

Ex:

[root@centos-xxxxxx ~]# cat /etc/resolv.conf
options rotate
options timeout:1
search xyz.abc.local
nameserver 192.168.56.3
nameserver 10.0.2.4

1

¿10.0.4.48 es un servidor DNS recursivo, también conocido como resolutor?

¿O es solo un servidor autorizado para sus zonas internas?

Debe configurar un solucionador interno que también pueda contener sus datos autorizados.


0

Para que funcione como se espera, instale dnsmasq u otro repetidor DNS ligero (o un servidor DNS completo). Consulte Comparación del software del servidor DNS .

Para la configuración de dnsmasq es tan simple como:

server=10.0.4.48
server=8.8.8.8

También puede especificar para qué dominios se deben usar algunos DNS. P.ej:

server=/mcdc/10.0.4.48
server=8.8.8.8

Esto hará que dnsmasq busque *.mcdcen el 10.0.4.48servidor DNS y cualquier otro en 8.8.8.8.

En /etc/resolv.confsolo usa tu DNS local:

nameserver 127.0.0.1

Para obtener más detalles sobre la configuración de dnsmasq, consulte mi respuesta aquí: /unix/55090/change-default-dns-on-openvpn-connect/545591#545591 .


-3

Si puedes, lo configuraría de esta manera.

search mcdc
nameserver 127.0.0.1
nameserver 8.8.8.8


66
¿Qué parte de la pregunta indica que ejecutan un servidor DNS en su máquina o que quieren hacerlo?
Jay


1
Blake: Tenga en cuenta que 127.0.0.1 generalmente solo se usa para sistemas que tienen un demonio de almacenamiento en caché del servidor de nombres en el host local. Ver tldp.org/HOWTO/DNS-HOWTO-3.html
Stefan Lasiewski el
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.