Готовится статья о DNS сервере Unbound

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-03-22 14:24:49

terminus писал(а):Мониторинг используете? Сколько у вас через него запросов проходит, интересно? :smile:

Перешел работать в телекоммуникационную компанию, в связи с чем масштабы несколько расширились. Несколько дней назад поднял машинку с undound, обслуживающую сеть из 3К хостов. А сегодня развернул cacti для сбора статистики. Как будут графики за день-два, выложу более или менее достоверную информацию :smile:
Бороться за знания, терзать препятствия, аки волк!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-03-23 13:20:30

Вот такие картинки получаются:
unbound.png
Бороться за знания, терзать препятствия, аки волк!

mrAli
рядовой
Сообщения: 11
Зарегистрирован: 2008-03-26 22:02:01
Откуда: Ульяновск

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение mrAli » 2011-03-26 13:49:29

Обратная зона частных диапазонов заработала при следующей комбинации:

Код: Выделить всё

local-zone: "0.168.192.in-addr.arpa." transparent

stub-zone:
       name: "0.168.192.in-addr.arpa."
       stub-addr: 10.10.10.1
Опция nodefault не давала результата. Может кто знает другое решение?

keen
проходил мимо

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение keen » 2011-03-26 18:22:55

Хочу поднять Unbound вместо Бинда, и есть такой вопрос:
Возможно ли заставить его отвечать заданной сети адресов (например 192.168.0.0/24) только на запрос зон прописанных в кеш статически вот так:

local-zone: "mail.ru." transparent
local-data: "www.mail.ru. 300 IN A 10.10.10.10"

и не отвечать на всё остальное для этой конкретной сети?

Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-03-28 8:27:36

mrAli писал(а):Обратная зона частных диапазонов заработала при следующей комбинации:

Код: Выделить всё

local-zone: "0.168.192.in-addr.arpa." transparent

stub-zone:
       name: "0.168.192.in-addr.arpa."
       stub-addr: 10.10.10.1
Опция nodefault не давала результата. Может кто знает другое решение?

А на 10.10.10.1 есть зона 0.168.192.in-addr.arpa.?
Бороться за знания, терзать препятствия, аки волк!

mrAli
рядовой
Сообщения: 11
Зарегистрирован: 2008-03-26 22:02:01
Откуда: Ульяновск

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение mrAli » 2011-03-28 17:02:20

Dwolfix писал(а): А на 10.10.10.1 есть зона 0.168.192.in-addr.arpa.?
Это лишь пример, на самом деле так:

Код: Выделить всё

local-zone: "203.168.192.in-addr.arpa." transparent

stub-zone:
       name: "203.168.192.in-addr.arpa."
       stub-addr: 192.168.203.254
На 192.168.203.254 зона 203.168.192.in-addr.arpa. есть.

Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-03-29 5:15:35

mrAli писал(а):
Dwolfix писал(а): А на 10.10.10.1 есть зона 0.168.192.in-addr.arpa.?
Это лишь пример, на самом деле так:

Код: Выделить всё

local-zone: "203.168.192.in-addr.arpa." transparent

stub-zone:
       name: "203.168.192.in-addr.arpa."
       stub-addr: 192.168.203.254
На 192.168.203.254 зона 203.168.192.in-addr.arpa. есть.
А какие в этой зоне записи, если не секрет? :smile:
Просто у меня эта схема работает без проблем, может дело в записях?
Бороться за знания, терзать препятствия, аки волк!

mrAli
рядовой
Сообщения: 11
Зарегистрирован: 2008-03-26 22:02:01
Откуда: Ульяновск

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение mrAli » 2011-03-29 19:06:21

Dwolfix писал(а): А какие в этой зоне записи, если не секрет? :smile:
Просто у меня эта схема работает без проблем, может дело в записях?
Ну на самом деле это ДК под Win2003. Что смущает это отсутствие точки в записях, т.е. адреса выглядят так "1.203.168.192.in-addr.arpa" имеет ли это значение :unknown:
А вот собственно откуда взял про transparent - http://www.unbound.net/pipermail/unboun ... 00091.html.
Тут тоже про точку.. но довольно таки старые сообщения, и пишут, что все пофиксено. Но у меня работает только с transparent.

l30l3
проходил мимо
Сообщения: 3
Зарегистрирован: 2011-04-22 13:50:24

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение l30l3 » 2011-04-23 11:35:06

Здравствуйте.
Завел unbound, и в логах наблюдаю такое:

Код: Выделить всё

unbound: [40128:2] notice: sendto failed: No buffer space available 
По ошибке ничего не нагуглил, поэтому пишу здесь. Думаю проблема не в самом сервере а в оси, но может кто сталкивался, подскажите, куда копать.

Код: Выделить всё

У меня: 8.2-STABLE FreeBSD, unbound-1.4.8, libevent-1.4.14b_2

в конфиге unbound:
num-threads: 4
outgoing-range: 1024 (было меньше, увеличил - не помогло)
num-queries-per-thread: 1024

в ядре:
kern.maxfiles: 204800
kern.ipc.maxsockets: 262144

средняя статистика выглядит так:
server stats for thread 0: 801 queries, 489 answers from cache, 312 recursions, 0 prefetch
server stats for thread 0: requestlist max 6 avg 0.810897 exceeded 0  [b](exceeded всегда 0)[/b]

смущает вот это в netstat -s:
udp: 8924 dropped due to no socket
Возможно упирается в некие лимиты системы по UDP.
Еще возможно что клиенты, отправившие запрос, выключаются до получения ответа от сервера, но по логам эта догадка не подтверждается.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение terminus » 2011-04-23 13:53:31

В последних версиях Unbound появилась настройка отвечающая за резервирование TCP/UDP сокетов:

Код: Выделить всё

       so-rcvbuf: <number>
              If not 0, then set the  SO_RCVBUF  socket  option  to  get  more
              buffer  space  on  UDP  port 53 incoming queries.  So that short
              spikes on busy servers do not drop packets (see counter in  net-
              stat  -su).   Default  is  0 (use system value).  Otherwise, the
              number of bytes to ask for, try "4m" on a busy server.   The  OS
              caps  it at a maximum, on linux unbound needs root permission to
              bypass the limit, or the admin can use sysctl net.core.rmem_max.
              On  BSD  change  kern.ipc.maxsockbuf  in  /etc/sysctl.conf.   On
              OpenBSD change header and recompile kernel. On Solaris ndd  -set
              /dev/udp udp_max_buf 8388608.

       so-sndbuf: <number>
              If  not  0,  then  set  the  SO_SNDBUF socket option to get more
              buffer space on UDP port 53 outgoing  queries.   This  for  very
              busy  servers handles spikes in answer traffic, otherwise 'send:
              resource temporarily unavailable' can  get  logged,  the  buffer
              overrun  is also visible by netstat -su.  Default is 0 (use sys-
              tem value).  Specify the number of bytes to ask for, try "4m" on
              a  very  busy  server.   The  OS  caps it at a maximum, on linux
              unbound needs root permission to bypass the limit, or the  admin
              can  use  sysctl net.core.wmem_max.  On BSD, Solaris changes are
              similar to so-rcvbuf.
собственно выставьте эти два в 4м:

Код: Выделить всё

so-rcvbuf: 4m
so-sndbuf: 4m
И посмотрите, что проказывает sysctl на счет kern.ipc.maxsockbuf. У меня на 8.1 оно по-умолчанию 262144 - подкрутите до 16м kern.ipc.maxsockbuf=16777216.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

l30l3
проходил мимо
Сообщения: 3
Зарегистрирован: 2011-04-22 13:50:24

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение l30l3 » 2011-04-24 15:41:23

Спасибо за подсказку.
Выставил в конфиге и перезапустил:

Код: Выделить всё

so-rcvbuf: 4m
so-sndbuf: 4m
kern.ipc.maxsockbuf=16777216 - так и было

В лог падают те же сообщения, не помогло. Есть еще мысли?

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение terminus » 2011-04-24 16:40:46

Какую статистику показывают эти счетчики unbound:

Код: Выделить всё

total.requestlist.overwritten
total.requestlist.exceeded
unwanted.queries
unwanted.replies


Что показывает

Код: Выделить всё

netstat -m
Сетевуха какая - случайно не em?
смущает вот это в netstat -s:
udp: 8924 dropped due to no socket
Это может не быть связано с работой unbound - насколько я понимаю это просто статистика UDP стека о том, что поступали пакеты для которых нет сокета (флуд валит?). У вас на этом сервере еще что-нить крому ДНС кеша работает? Как фаервол настроен?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

l30l3
проходил мимо
Сообщения: 3
Зарегистрирован: 2011-04-22 13:50:24

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение l30l3 » 2011-04-25 15:33:32

Код: Выделить всё

total.requestlist.overwritten=0
total.requestlist.exceeded=0
unwanted.queries=0
unwanted.replies=0


netstat -m
9145/19655/28800 mbufs in use (current/cache/total)
9141/18897/28038/262144 mbuf clusters in use (current/cache/total/max)
9141/18891 mbuf+clusters out of packet secondary zone in use (current/cache)
0/104/104/66048 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/33024 9k jumbo clusters in use (current/cache/total/max)
0/0/0/16512 16k jumbo clusters in use (current/cache/total/max)
20675K/43123K/63798K bytes allocated to network (current/cache/total)
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/7/33280 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
0 calls to protocol drain routines
Сетевуха em, флуда быть не должно, фаерволл стейтлес. Это тестовый сервер pppoe, на котором сейчас висит несколько десятков тунелей, в которые раздается интернет. Они же и клиенты днс. Трафик не большой.

nitrokamera
ефрейтор
Сообщения: 53
Зарегистрирован: 2011-03-05 18:37:50

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение nitrokamera » 2011-05-20 11:22:31

Не могу запустить...

Код: Выделить всё

/usr/local/etc/rc.d/unbound start
Starting unbound.
[1305879059] unbound[10843:0] error: too many file descriptors requested. The builtinmini-event cannot handle more than 1024. Config for less fds or compile with libevent
[1305879059] unbound[10843:0] fatal error: configuration needs too many file descriptors
/usr/local/etc/rc.d/unbound: WARNING: failed to start unbound
Конфиг полностью слизал, за исключением айпи адреса

Код: Выделить всё

pkg_info | grep libevent
libevent-1.4.13     Provides an API to execute callback functions on certain ev

Код: Выделить всё

 sysctl -a | grep kern.maxfiles
kern.maxfiles: 20328
kern.maxfilesperproc: 20095
kern.ipc.maxsockets: 25600

Код: Выделить всё

 uname -a
FreeBSD alm-s-freebsd1.tsp.lan 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
Пробовал играться со значением outgoing-range, но не помогло...
Версия unbound-1.4.5

терминус_
проходил мимо

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение терминус_ » 2011-05-20 12:08:29

С какими параметрами собран порт? Был выбран пункт про использование libevent?

Код: Выделить всё

     Options for unbound-1.2.0
[X] LIBEVENT  is useful when using many (10000) outgoing ports
[X] THREADS   build with threads support

Код: Выделить всё

cat var/db/ports/unbound/options

nitrokamera
ефрейтор
Сообщения: 53
Зарегистрирован: 2011-03-05 18:37:50

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение nitrokamera » 2011-05-20 12:19:51

Да.

Код: Выделить всё

cat /var/db/ports/unbound/options
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for unbound-1.4.5
_OPTIONS_READ=unbound-1.4.5
WITH_LIBEVENT=true
WITH_THREADS=true
WITHOUT_PYTHON=true

терминус_
проходил мимо

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение терминус_ » 2011-05-20 13:10:33

Переустановите порт unbound - он почему-то не подцепил либэвент и не использует его.

Код: Выделить всё

pkg_delete unbound* && cd /usr/ports/dns/unbound && make clean && make install clean

nitrokamera
ефрейтор
Сообщения: 53
Зарегистрирован: 2011-03-05 18:37:50

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение nitrokamera » 2011-05-20 13:34:36

Большое спасибо! Запустилось!
от статьи отличатся только эта строчка

Код: Выделить всё

netstat -an | grep 953
tcp4       0      0 127.0.0.1.953          *.*                    LISTEN

Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-06-13 10:15:15

Возникла необходимость вести логи unbound для получения информации об ip-адресах клиентских хостов. Включил повышенную вербозность в настройках, но ничего похожего на src-адрес в логах так и не увидел. Каким образом можно отследить клиентскую активность на сервере unbound (кроме tcpdump'а по 53-му порту)?
Бороться за знания, терзать препятствия, аки волк!

терминус_
проходил мимо

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение терминус_ » 2011-06-13 10:31:04

Где-то в листах помню писали, что IP клиентов он гачинает писать на 5-ом уровне вербозности.

Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-06-13 10:51:41

терминус_ писал(а):Где-то в листах помню писали, что IP клиентов он гачинает писать на 5-ом уровне вербозности.
Да, верно, включил 5-й уровень. Вижу "udp request from ip4...". Попробую с ротацией теперь разобраться, уж больно быстро логи пухнут )
Спасибо за помощь!
Бороться за знания, терзать препятствия, аки волк!

Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-06-13 13:30:55

Все-таки запустил tcpdump. В логах unbound на 5-м уровне выдает слишком много лишнего, а нужно всего лишь знать, с какого ip и что запросили. Да и бинарники tcpdump намного меньше места занимают. Хотя запуск tcpdump в режиме демона - не очень изящное решение вопроса. Поищем еще...
Бороться за знания, терзать препятствия, аки волк!

helpdesk
рядовой
Сообщения: 34
Зарегистрирован: 2010-10-29 7:21:39

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение helpdesk » 2011-06-20 14:54:44

В выходные столкнулся с такой проблемой. Стоит 2 сервера, один уже год, другой чуть меньше, на обоих разные версии, проблем никаких не было. На одном точно была 1.4.3
В субботу подняли с самого утра, не дали поспать, типа не работают днсы.
Немного разные конфиги, на одном outgoing-range 512, на другом 4096.
После рестарта, некоторое время работают, потом перестают отвечать, kern.openfiles растет до значений 700 и 4200 примерно и все встает колом.
Решилась проблема обновлением до версии 1.4.10
Так и не понял, что вдруг стало с 2мя независимыми серверами в один день. Никакого флуда на них не было, все было в штатном режиме, порядка 500-700 пакетов в секунду на каждый.

Аватара пользователя
Dwolfix
рядовой
Сообщения: 28
Зарегистрирован: 2010-06-02 7:44:38
Откуда: Орск
Контактная информация:

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение Dwolfix » 2011-06-21 5:11:56

Сервера были в аптайме все время? И разом "заткнулись"? Маловато исходной информации. Версии ОС, конфигурация железа, сколько клиентов обслуживают и т.д. Настроен ли dns-форвардинг? Или используются корневые ссылки?
Бороться за знания, терзать препятствия, аки волк!

helpdesk
рядовой
Сообщения: 34
Зарегистрирован: 2010-10-29 7:21:39

Re: Готовится статья о DNS сервере Unbound

Непрочитанное сообщение helpdesk » 2011-06-21 6:53:00

Аптайм был больше 2х месяцев у обоих, точно не скажу, не смотрел. Находятся географически в разных местах.
Заткнулись разом, пол дня их рестартил, на какое то время помогало, пока видимо не кончались свободные порты.
Ос на одном freebsd 7.3-release, на другом freebsd 8.1-release. Железо на обоих мощное, 4х ядерные процы, 2гига оперативы.
Клиентов точно не скажу сколько, больше 5к, писал, что 500-700 пакетов в секунду приходит на каждую машину.
Днс форвардинг не настроен.