Назад | Перейти на главную страницу

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-запись почтового сервера находится на втором из перечисленных серверов. Разве то, что я пытаюсь здесь сделать, не должно работать?

Аааа .... на самом деле так не работает. Пока первый сервер имен работает и активен, все запросы на привязку будут отправляться ему. Единственный способ попасть на второй сервер имен - это если предыдущий сервер имен в списке умер и после ДЛИТЕЛЬНОГО тайм-аута.

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

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

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

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

сервер имен 192.168.1.1

сервер имен 10.0.0.1

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

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

варианты вращаются

варианты тайм-аута: 1

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

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

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