Ubuntu resolv.conf, не переходите на следующий сервер имен?

Я использую Ubuntu 10.04 Desktop, который поставляется по умолчанию с "Сетевым менеджером" (который я очень подозрительно). У меня проблема с разрешением зон DNS на 2 разных серверах имен.

resolv.conf:

$ cat /etc/resolv.conf
#Generated by Network Manager
search example.org
nameserver 10.0.0.20 #public nameserver, contains public.example.org
nameserver 10.0.0.30 #private nameserver, contains private.example.org

И проблема. Какой бы сервер имен ни был указан первым, он разрешит:

$ ping host.public.example.org
PING host.public.example.org (10.0.0.50) 56(84) bytes of data.

Тот, что указан второй не будет:

$ ping host.private.example.org
ping: unknown host host.private.example.org

Но это есть

$ dig @10.0.0.30 host.private.example.org
...
;; ANSWER SECTION:
host.private.example.org.   3600    IN  A   10.0.0.60
...

Если я переверну порядок имен серверов в /etc/resolv.conf, то будет доступен host.private, а host.public - нет. Зачем? Из справочной страницы resolv.conf:

Если имеется несколько серверов, библиотека распознавателя запрашивает их в указанном порядке.

Проблемы возникают не только с ping, я заметил это, когда Thunderbird не смог получить почту, потому что запись DNS почтового сервера находится на 2-м сервере в списке. Разве то, что я пытаюсь сделать здесь, не работает?

3 ответа

Решение

Аааа.... это на самом деле не работает. Пока первый сервер имен работает и активен, все запросы на связывание будут отправляться на него. Единственный способ добраться до второго сервера имен - это если предыдущий сервер имен в списке умер и после длительного ожидания.

Чтобы решить вашу проблему, я предполагаю, что вам, возможно, придется создать конфигурацию локального кэширующего DNS-сервера и направить серверы имен для двух зон на два разных сервера. Тогда ваша конфигурация распознавателя будет настроена на использование IP-адреса хоста.

Этот совет показывает, как улучшить поиск DNS с помощью нескольких серверов имен. Это полезно, если у вас когда-либо был недоступен ваш основной DNS-сервер.

Серверы имен перечислены в /etc/resolv.conf, по одному на строку.

Листинг 1: Пример /etc/resolv.conf

nameserver 192.168.1.1

nameserver 10.0.0.1

Чтобы улучшить поиск DNS, добавьте несколько серверов DNS (желательно в разных подсетях) и следующие параметры в /etc/resolv.conf:

Листинг 2: Параметры /etc/resolv.conf

варианты поворота

время ожидания:1

Это будет использовать оба сервера имен в ротации и ждать макс. 1 секунда за ответ перед попыткой следующего.

Сервер публичных имен должен ответить, что закрытый адрес не выходит. Если он первый и работает, вы получите публичный ответ. Сначала перечислите приватный сервер. Публичный сервер должен использоваться только как запасной вариант.

Решением на стороне сервера имен является использование раздельной конфигурации. Это позволит обслуживать частные данные в частной сети и предоставлять только публичные данные на публичной стороне. Общедоступный сервер должен предлагать рефералов (google.com и т. Д.) Только в частной сети.

Другие вопросы по тегам