macOS High Sierra no está probando otros servidores DNS

0

En una de mis computadoras portátiles que ejecuta macOS High Sierra, no se pueden resolver los nombres de host. He especificado dos servidores DNS en mi configuración de red. Uno es un servidor DNS interno y el otro es 8.8.8.8. Cuando intento resolver nombres de host locales que el DNS interno conoce, se resuelven correctamente. Pero cuando intento resolver algo como google.com falla.

Veo que primero intenta usar el servidor DNS interno, y como no conoce el nombre de host, pensé que intentaría usar 8.8.8.8 para resolver el nombre de host, pero nunca intenta con el otro servidor DNS.

Cuando intento esto desde mi otra computadora portátil, funciona correctamente, veo

$>nslookup google.com
;; Got SERVFAIL reply from <internal dns>, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.5.110

Pero de la que no veo

$>nslookup google.com
Server:        <internal dns>
Address:    <internal dns>#53

** server can’t find google.com: SERVFAIL

No hay ningún intento de probar el servidor DNS 8.8.8.8. ¿Por qué está sucediendo eso? ¿Cómo puedo hacer que pruebe el otro servidor DNS si falla con uno?

    
pregunta klanomath 18.03.2018 - 22:41

1 respuesta

3

Primero: nslookup no usa el sistema de resolución de DNS del sistema, y no se comporta de la misma manera en que lo hace el sistema de resolución de DNS. Tampoco dig o host , por lo que ninguna de estas herramientas es útil para verificar cómo macOS resuelve los nombres. Si desea usar el sistema de resolución del sistema, use dscacheutil -q host -a name google.com , pero tenga en cuenta que usa todo el sistema de resolución: busca en la caché local, / etc / hosts, mDNS (para nombres .local) y luego en DNS. Ah, y la página de manual de dscacheutil dice que puede vaciar el caché de DNS, pero no funciona; usa sudo killall mDNSResponder en su lugar.

Segundo: el sistema de resolución del sistema no hace un buen trabajo (ni siquiera adecuado) de conmutación por error entre servidores DNS. Si enumera varios servidores, se activarán las consultas para todos ellos de una manera aleatoria. Si no recibe una respuesta, eventualmente se agotará el tiempo de espera e intentará con la otra. Si recibe una respuesta "que no existe", asume que es correcta y no prueba con ningún otro servidor. Como resultado, realmente necesita un único servidor que pueda responder a todas las consultas, tanto internas como externas.

Bien, hay una solución alternativa posible: puede apuntar su sistema a un servidor DNS público, luego crear / etc / resolver / y colocar archivos en él para redirigir las consultas de ciertos dominios a su servidor interno. Siempre que sepa qué dominios redirigir, es decir. Consulte Apple.SE: "Do / ¿Los archivos / etc / resolver funcionan en Mountain Lion para la resolución de DNS? ".

    
respondido por el Gordon Davisson 19.03.2018 - 08:16

Lea otras preguntas en las etiquetas