Во-первых, анекдот с участием докера, который является случайным для этого вопроса: я следовал процедуре в Skydock - Automagic Service Discovery for Docker, которая прошла хорошо. Теперь у меня есть DNS-сервер, прослушивающий 172.17.42.1 который содержит запись для хоста redis1.redis.dev.docker имеющего IP 172.17.0.4:

$ dig @172.17.42.1 redis1.redis.dev.docker

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-12.P2.fc20 <<>> @172.17.42.1 redis1.redis.dev.docker
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51671
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;redis1.redis.dev.docker.       IN      A

;; ANSWER SECTION:
redis1.redis.dev.docker. 29     IN      A       172.17.0.4

;; Query time: 0 msec
;; SERVER: 172.17.42.1#53(172.17.42.1)
;; WHEN: Wed Nov 05 21:04:01 EST 2014
;; MSG SIZE  rcvd: 80

Так что служба DNS работает, верно? Итак, я добавил DNS-сервер в сценарий сетевого интерфейса и применил изменения:

$ cat /etc/resolv.conf
# Generated by NetworkManager
search fghijk.local
nameserver 192.168.0.1
nameserver 172.17.42.1

Однако, когда я dig без указания IP-адреса DNS-сервера, как показано выше, кажется, что 192.168.0.1 - единственный DNS-сервер, к которому обращаются.

Теперь, может быть, я делаю что-то не так, но мой актуальный вопрос:

Когда следует обратиться к дополнительному DNS-серверу, указанному в моем /etc/resolv.conf ? Это только когда основной не работает? Мое необразованное предположение заключалось в том, что если первичный сервер имен не может ответить на запрос, то к вторичному DNS-серверу обращаются. Это предположение просто неправильно? Меняется ли это поведение в зависимости от операционной системы?

1 ответ1

2

Вторичный сервер в /etc/resolv.conf будет использоваться только в том случае, если время ожидания основного сервера истекло и он вообще не дает ответа - ваше предположение в значительной степени верно.

Это может показаться верным для всех известных мне версий Linux, включая встроенные. Я думаю, это верно и для других ОС.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .