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

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
int0
проходил мимо

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

Непрочитанное сообщение int0 » 2009-02-20 14:26:43

нет, похоже, при "num-threads: 2" ситуация сильно не изменилась.

сегодня наблюдал следующее:
запустил несколько торрентов одновременно, соотв. посмотрел peer-листы и началось большое количество резолва ip -> name.
одновременно смотрел статистику unbound-control stats.
при очередном обновлении получил опять загадочные цифры на thread1:

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

thread1.num.recursivereplies=14993839
thread1.requestlist.avg=0
thread1.requestlist.max=0
thread1.requestlist.overwritten=2019311911
thread1.requestlist.exceeded=1009259779
thread1.requestlist.current.all=4040472991
thread1.requestlist.current.user=3030420859
thread1.recursion.time.avg=0.000000
thread1.recursion.time.median=-5.76092e-123
после чего unbound-control "зафризился".. повторные попытки получения статистики приводили к тому же "фризу".
по top'y один из процессов unbound WCPU:100%
такое явление продолжалось в течении минут 5-10. причем в этот период unbound отвечал на запросы клиентов.
потом всё пришло в норму: unbound-control stats выдает статистику, процессы unbound WCPU: 0.00%.

весело!

Хостинговая компания 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/

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

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

Непрочитанное сообщение terminus » 2009-02-20 15:08:22

Включите логирование в файл с вербозностью минимум 3 и выставьте автоматический дамп статистики в файл

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

verbosity: 3
extended-statistics: yes
statistics-interval: 300
logfile: "/usr/local/etc/unbound/unbound.log"
После разбора логов можно будет конкретно понять откуда берется такая нагрузка на сервер.
Особенно интересно будет смотреть за выводом расширенной статистики для

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

unwanted.queries=
unwanted.replies=
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

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

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

Непрочитанное сообщение terminus » 2009-02-20 15:25:37

Хотя вообще-то откуда нагрузка на кеш - понятно (вы же торренты запускали). Вот поведение сервера при опросе статистики непонятно. Вы говорили, что он у вас падал пару раз? В /usr/local/etc/unbound или в / не осталось unbound.core файлов? Может быть полезно описать эту проблему и отослать при необходимости корки разработчику.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

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

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

Непрочитанное сообщение int0 » 2009-02-20 16:43:05

да, начал уже копать в эту сторону.. .log пока анализирую, а вот расширенную статистику во время аномалии удалось записать:
в статистике 350+ строк, так что привожу вырезку:

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

num.query.tcp=3152937661
num.query.ipv6=419824394
num.query.flags.QR=4037654098
num.query.flags.AA=1042213922
num.query.flags.TC=2855175508
num.query.flags.RD=1802978465
num.query.flags.RA=232285625
num.query.flags.Z=3073324637
num.query.flags.AD=669355570
num.query.flags.CD=3494351816
num.query.edns.present=541089205
num.query.edns.DO=762539526
num.answer.rcode.NOERROR=829715056
num.answer.rcode.FORMERR=1735552771
num.answer.rcode.SERVFAIL=3600
num.answer.rcode.NXDOMAIN=1
num.answer.rcode.NOTIMPL=1
num.answer.rcode.REFUSED=3
num.answer.rcode.YXDOMAIN=22839648
num.answer.rcode.YXRRSET=22839680
num.answer.rcode.NXRRSET=22839664
num.answer.rcode.NOTAUTH=6
num.answer.rcode.NOTZONE=162
num.answer.rcode.RCODE11=22839688
num.answer.rcode.RCODE12=22839694
num.answer.rcode.RCODE13=3600
num.answer.rcode.RCODE14=3837789184
num.answer.rcode.RCODE15=67436800
num.answer.rcode.nodata=3286351433
num.answer.secure=1845780903
num.answer.bogus=56849257
num.rrset.bogus=1794761479
unwanted.queries=53579805
unwanted.replies=2882236645
к примеру, очень люопытен параметр: num.query.ipv6=419824394
откуда у меня ipv6 на хосте?

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

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

Непрочитанное сообщение int0 » 2009-02-20 16:54:47

.. в том то и дело, что ядро собиралось без поддержки INET6 :) хост работает исключительно на ipv4, что и подтверждает ifconfig -a

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

rt# ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=1db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM,TSO4>
        ether 00:15:17:6e:b1:42
        inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM>
        ether 00:15:17:6e:b1:43
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33160
vlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:15:17:6e:b1:43
        inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
        vlan: 1 parent interface: em1
vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:15:17:6e:b1:43
        inet 172.16.2.1 netmask 0xffffff00 broadcast 172.16.2.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
        vlan: 2 parent interface: em1
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:15:17:6e:b1:43
        inet 172.16.3.1 netmask 0xffffff00 broadcast 172.16.3.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
        vlan: 3 parent interface: em1
vlan3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:15:17:6e:b1:43
        inet 172.16.4.1 netmask 0xffffff00 broadcast 172.16.4.255
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
        vlan: 4 parent interface: em1
опять же: num.query.tcp=3152937661
означает, что по TCP серверу было сделано 3 миллиарда запросов? :)

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

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

Непрочитанное сообщение terminus » 2009-02-20 17:01:53

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

unwanted.queries=53579805
unwanted.replies=2882236645
Вот это - это пипец.
unwanted.replies значит попытки заразить кешь ложними ответами, а unwanted.queries это нарушения ACL - попытки использовать рекурсор из сетей не прописаных в access-control: :cz2: Вас что реально что-ли досят? Это боевой сервер выставленный в интернет?

Регистрируйтесь и пишите в листы unbound-users@unbound.net - разработчику будет полезно выдеть, что происходит при флуде на unbound.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

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

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

Непрочитанное сообщение int0 » 2009-02-20 17:23:37

terminus писал(а):

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

unwanted.queries=53579805
unwanted.replies=2882236645
Вот это - это пипец.
unwanted.replies значит попытки заразить кешь ложними ответами, а unwanted.queries это нарушения ACL - попытки использовать рекурсор из сетей не прописаных в access-control: :cz2: Вас что реально что-ли досят? Это боевой сервер выставленный в интернет?

Регистрируйтесь и пишите в листы unbound-users@unbound.net - разработчику будет полезно выдеть, что происходит при флуде на unbound.
это всё понятно, однако вот какой момент. если бы это была живая атака, то она как-нибудь, наверняка, плавно скалировалась по времени.
а тут запрос статистики идет с интервалом, к примеру, в 1 секунду..
в течении 50 запросов все чисто, потом 1 запрос - аномалия, и тут же опять всё чисто на протяжении определенного промежутка времени.
вот это то и подозрительно. :(

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

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

Непрочитанное сообщение terminus » 2009-02-20 21:00:19

Чтобы локализовать проблему можно запретить пользоваться кешем всем кроме локалхоста (запретить на фаерволе) и посмотреть как он будет с этим жить. Это конечно очень маловероятно, что он стал "сам с собой разговаривать"...

У вас там кажется PF как фаервол используется? В его настройках что-нибудь хитрое накасячить не моглу случайно?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

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

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

Непрочитанное сообщение int0 » 2009-02-21 0:49:41

долго наблюдал за трафиком с помощью tcpdump - никаких аномалий на обеих интерфейсах.
обычные запросы и ответы.

потом решил провести простой тест:
выставил в конфиге "interface: 127.0.0.1"
сделал /usr/local/etc/rc.d/unbound restart, дабы обновить привязки к интерфейсам
убедился в этом с помощью netstat -an

и сделал несколько запросов unbound-control stats
после примерно 10 "обычных" ответов опять получил "миллиарды" в вышеописанных параметрах. :)
не верю, чтобы у меня эти самые миллиарды бегали на loopback'e :)

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

это уже наводил на мысль, что всё же со статистикой unbound'a просто не всё чисто..


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

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

Непрочитанное сообщение int0 » 2009-02-25 16:53:19

так я писал, что пробовал во всех комбинациях опций сборки.
на данный момент как раз и стоит с libevent без thread, для увеличения производительности, как рекоммендовано в статье и разработчиками.
#pkg_info
...
libevent-1.4.9
...

порты не обновлял, то эта версия и участвовала в испытаниях.
вроде как она последняя?

Ce$$
проходил мимо

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

Непрочитанное сообщение Ce$$ » 2009-03-25 14:36:09

Может кто знает как выглядит stub-zone -запись, для реверсной зоны? djbdns - например, умеет это делать, а unbound?

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

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

Непрочитанное сообщение terminus » 2009-03-25 16:00:16

Вот такой вариант не подойдет для отсылки запросов к 0.168.192.in-addr.arpa. на 10.10.10.1?

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

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

stub-zone:
       name: "0.168.192.in-addr.arpa."
       stub-addr: 10.10.10.1
Может понадобиться отключить local-zone - я не уверен, мне кажется, что для reverse RFC1918 надо это указывать чтобы обработка происходила как для обычных.

Так же но могу гарантировать, что это заработает - недавно пробовал что-то такое сделать и unbound что-то у меня не захотел похожие настройки принимать.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Zmey
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-03-22 18:34:47

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

Непрочитанное сообщение Zmey » 2009-03-31 11:46:41

небольшой вопросик по мониторингу.
MIB-ы какие нужны под эту кактусовую скрипту?
Ибо у меня вываливается

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

/usr/bin/snmpwalk -v2c -OvQa -c <community> <ip> .1.3.6.1.3.1983.1.4.4.1.2.18.97.110.115.119.101.114.115.95.116.111.95.113.117.101.114.105.101.115.1
No Such Object available on this agent at this OID

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

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

Непрочитанное сообщение terminus » 2009-03-31 11:57:31

Никаких MIB не надо - без ничего будет работать...
То что snmpwalk ругается на отсутсвие MIB баз, нас по идее волновать не очень должно - в шаблонах cacti уже созданы соответсвия между цифрами получаемыми из вывода и тем, что они на самом деле значат.

Просто импортируйте в cacti шаблон cacti_host_template_unbound_dns.xml из директории "Host template (all in one)" (почитайте readme.txt - там детальней описано) и все - можете создавать новое устройство используя шаблон "Unbound DNS".
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

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

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

Непрочитанное сообщение terminus » 2009-03-31 11:58:58

вот так попробуйте проверить, что у net-snmp все заработало:

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

snmpwalk -v2c -c youcommunity unbound.server.name .1.3.6.1.3.1983
# Don't forget to do snmpwalk -v2c -c youcommunity unbound.server.name .1.3.6.1.3.1983 and check for OIDs
# By default you should find statistics under this OIDs:
# for cache_hits .1.3.6.1.3.1983.1.1.4.1.2.10.99.97.99.104.101.95.104.105.116.115.1
# for memory_usage .1.3.6.1.3.1983.1.2.4.1.2.12.109.101.109.111.114.121.95.117.115.97.103.101.1
# for queues_by_type .1.3.6.1.3.1983.1.3.4.1.2.14.113.117.101.117.101.115.95.98.121.95.116.121.112.101.1
# for answers_to_queries .1.3.6.1.3.1983.1.4.4.1.2.18.97.110.115.119.101.114.115.95.116.111.95.113.117.101.114.105.101.115.1
# for historgam .1.3.6.1.3.1983.1.5.4.1.2.9.104.105.115.116.111.103.114.97.109.1
# for queues_by_flags .1.3.6.1.3.1983.1.6.4.1.2.15.113.117.101.117.101.115.95.98.121.95.102.108.97.103.115.1
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Zmey
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-03-22 18:34:47

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

Непрочитанное сообщение Zmey » 2009-03-31 12:20:31

В том - то и дело, что не заработало...

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

snmpwalk -v2c -c <community> <ip> .1.3.6.1.3.1983
SNMPv2-SMI::experimental.1983 = No Such Object available on this agent at this OID
P.S. Система - OpenSuse 11.0

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

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

Непрочитанное сообщение terminus » 2009-03-31 12:33:11

Наверно проблемы где-то в snmpd.conf - он не создал эту OID подветку из вывода скрипта.

Проверите работает ли snmpd вообще:

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

snmpwalk -v2c -c <community> <ip> .1.3.6
Вы делаете все по описаным шагам? Вывод скрипта unbound_cacti запускаемого из cron уходит в /usr/local/etc/unbound/statistics ? Проверьте создаются ли там текстовые файлы с правильными данными в них.

Какие директивы вы поместили в snmpd.conf?

Какая версия net-snmpd работает на сервере?

Попробуйте перезапустить snmpd и посмотреть не ругается ли он на какие-нибудь ошибки (если версия старая то он не воспринимает директиву extend, а ждет директиву exec).
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Zmey
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-03-22 18:34:47

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

Непрочитанное сообщение Zmey » 2009-03-31 13:09:14

Заработало.
Был косяк с моей стороны )

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

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

Непрочитанное сообщение terminus » 2009-03-31 13:15:58

ОК :smile:

Когда будете импортировать в cacti шаблон, проверите(поменяйте) чтобы в шаблонах "Data Input Methods" во-первых путь к snmpget был указан правильный для Linux (Если cacti у вас тоже на linux работает. У меня там был вбит /usr/local/bin/snmpget), а во вторых, что сама строка импортировалась без ошибок (почему-то cacti иногда с ошибками импортирент)

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

/usr/local/bin/snmpget -v2c -Ovqa -c <snmp_community> <host> <oid>
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Ce$$
проходил мимо

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

Непрочитанное сообщение Ce$$ » 2009-04-02 10:18:36

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

stub-zone:
        name: "176.225.97.in-addr.arpa."
        stub-addr: 10.10.10.100
        stub-addr: 10.10.10.139
        stub-prime: "no"
работает.

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

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

Непрочитанное сообщение lexx77 » 2009-08-18 11:42:55

Здравствуйте!
Поставил данный DNS в локальную сеть. Все работает нормально.
У нас в локалке есть 3 внутренних сервера с ресурсами.
Где в Unbound можно прописать соответствия имя-ИП, чтобы локальный клиент мог бы обратиться к локальному серверу по имени?

Спасибо!

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

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

Непрочитанное сообщение terminus » 2009-08-18 12:05:45

В конфиг надо внести директивы:

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

local-zone: "local.name." static
       local-data: "server.local.name. 300 IN A 10.10.10.10"
       local-data: "ftp.local.name. 300 IN A 172.16.1.2"
Это поместит данные записи в кеш. После этого на попытки разрешить например имя server.local.name будет отдаваться 10.10.10.10.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.


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

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

Непрочитанное сообщение lexx77 » 2009-08-18 13:20:23

Пишет:

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

/usr/local/etc/unbound/unbound.conf:70: error: syntax error
это строка

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

local-zone: "local.name." static
Где может быть ошибка???