LINUX.ORG.RU
ФорумAdmin

Debian 8.2 + кэширующий BIND

 , , ,


1

2

Добрый день. Настраиваю шлюз на Debian 8.2. Выбор дистрибутива обусловлен тем, что ветку Debian/Ubuntu знаю лучше других. Среди прочих задач есть потребность в кэширующем DNS и NTP сервере.

Началось с того, что ntp заработал через пень-колоду. Выяснил вероятную причину - многие ntp сервера просто напросто не резолвятся биндом. Nslookup выводит в большинстве случаев ответ «** server can't find 0.debian.pool.ntp.org: NXDOMAIN». Однако иногда бинд таки озаряет и он начинает выборочно резолвить (до следующей перезагрузки, или реконфига). То есть, к примеру, 0.debian.pool.ntp.org он резолвит, а вот 1.debian.pool.ntp.org - уже нет. И есть большое подозрение, что подобное поведение распространяется не только на ntp сервера.

Уже всю голову сломал, пробовал разные настройки, разных форвардеров, и без них - пока ничего не добился. Интереса ради поднял на двух виртуалках ещё один дебиан и одну убунту. В дебиане - такая же беда, в убунте всё работает изначально, хотя конфиги совпадают байт в байт. В логах вроде тоже никакого криминала нет, ни на что не ругается.

Буду очень признателен за любую помощь, вот файл named.conf.options, остальные файлы конфига не трогались:

options {
        directory "/var/cache/bind";
        forward first;
        forwarders { 8.8.8.8; };
        dnssec-validation auto;
        auth-nxdomain no;
        listen-on { 127.0.0.1; 192.168.0.253 };
        listen-on-v6 { none; };
        recursion yes;
};

Если проблемы стабильные, запускайте на сервере tcpdump на udp на 53 порт, давайте серверу через dig запросы на различные имена хостов и смотрите, отправляет ли ваш bind запрос и получает ли ответ от 8.8.8.8.

Может проблема вовсе не в bind.

mky ★★★★★
()

Я может чего-то не понимаю. Но зачем вам промежуточное звено в виде гугла?

anc ★★★★★
()
Ответ на: комментарий от mky

Мне тоже приходило в голову подобное. Думаю, в ближайшее время помониторю.

eol3000
() автор топика
Ответ на: комментарий от anc

Из соображений того, что у гугла канал шире, поэтому по корневым серверам и прочим закоулкам он бегает быстрее моего. Также, учитывая огромное количество запросов, у гугла скорее всего многие нужные адреса уже хранятся в кэше.

Я привёл кстати упрощённый пример, а вообще планировал ещё сервера провайдера добавить.)

eol3000
() автор топика
Ответ на: комментарий от mky

Помониторил. В случае обычных, беспроблемных запросов, типа http://www.ya.ru - трафик бегает к гуглу и обратно, всё работает. Как только начинаю давать ntp адреса - затык полный, трафика нет. Точнее приходит только на localhost, то бишь от приложения к бинду, а вот от него уже не идёт. Может директиву какую нибудь специфическую в опции подсунуть нужно ??

eol3000
() автор топика
Ответ на: комментарий от eol3000

Имхо очень сомнительный профит. Во первых к этому 8.8.8.8 обращается чуть больше чем дофига народу, может оказаться что плюсы его кэша уткнуться в банальную очередь. Во вторых в случае любых проблем по пути к нему у вас падает днс. В третьих по поводу скорости канала, посчитайте сами, днс запрос-ответ это копейки по сравнению с тем что потом с уже полученного ip будет скачиваться/заливаться.

anc ★★★★★
()

Как вариант, попробуйте альтернативное что-то для проверки, например dnsmasq в качестве dns сервера (кстати тоже кэширующий). Если он заработает - это одно, а если и он так же будет резолвить...

viewizard ★★
()

не пробовал обновить пакет бинда, у меня такое было, одни сайты резолвились, вторые нет, когда система устарела и были не верные корневые сервера.

CHIPOK ★★★
()
Ответ на: комментарий от eol3000

Точнее приходит только на localhost, то бишь от приложения к бинду, а вот от него уже не идёт.

Если от bind'а к гуглу запрос не идёт, видимо, закешировалось, что ответа нет. Попробуйте рестартануть бинд (это сбросит кеши) и проверить ещё раз. Нужно понять, уходит ли запрос к гуглу или по части запросов bind тупит не спрашивая гугл.

И запросы типа A, а то может у вас там ищется AAAA (ipv6).

mky ★★★★★
()
Ответ на: комментарий от mky

Конечно, я так и делал, перед тестом рестартовал бинд. А вот насчёт ipv6 - мысль интересная, надо будет проверить.

eol3000
() автор топика
Ответ на: комментарий от viewizard

Уже попробовал Unbound, правда пока только на виртуальном Debian. Вроде заработал, без особых проблем.

Начинаю вообще потихоньку склоняться либо к отказу от bind в пользу Unbound, либо к отказу от Debian в пользу CentOS, на которой bind, как и в Ubuntu работает. Ubuntu на сервер ставить не хочется, слишком много негативных мнений на её счёт.

eol3000
() автор топика
Ответ на: комментарий от CHIPOK

не пробовал обновить пакет бинда, у меня такое было, одни сайты резолвились, вторые нет, когда система устарела и были не верные корневые сервера.

Ну из имеющегося в стабильных репозиториях это самая новая версия. К тому же в Убунте корневые серверы те же, там вообще все конфиги абсолютно те же, но там работает, а в Дебиане нет. Думаю, тут какие то различия при компиляции пакетов, или патчи какие наложены. Подумывал сам собрать из исходников, но опыта в этом пока маловато имею и на продакшн побаиваюсь компилировать.

eol3000
() автор топика
Ответ на: комментарий от anc

Имхо очень сомнительный профит.

Возможно вы правы, но тут много разных мнений. Я слышал и диаметрально противоположные. Тут надо пробовать варианты.

Во вторых в случае любых проблем по пути к нему у вас падает днс.

А разве директива forward first не указывает в случае проблем с форвардом переходить на самостоятельный поиск ?

eol3000
() автор топика
Ответ на: комментарий от eol3000

А разве директива forward first не указывает в случае проблем с форвардом переходить на самостоятельный поиск ?

Виноват, не обратил на это внимание. По документации вроде как да, на практике не пробовал. Предпочитаю всегда свой использовать, раньше провайдерские не надежно работали, 8.8.8.8 еще и не придумали, вот так и повелось, по скорости проблем замечено не было, зато минус промежуточное звено равно меньше точек где могут возникнуть проблемы.

anc ★★★★★
()

Вобщем в итоге решил проблему переходом на Unbound. Пришлось действовать обходным путём. Тем не менее, огромное спасибо всем откликнувшимся.

eol3000
() автор топика
Ответ на: комментарий от eol3000

Как-то похоже на попадание пальцем в небо. Следовало включить отладку бинда, сдампить лог и выдать сюда. Сам гоняю кэширующий бинд, но он сам ходит на рутсервера.

slapin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.