Кеширующий DNS сервер Unbound+шлюз в инет
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Кеширующий DNS сервер Unbound+шлюз в инет
Вопрос..рационально и правильно ли поднять на шлюзе кеширующий днс сервачёк...???
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Adekamer
- пингвин
- Сообщения: 694
- Зарегистрирован: 2007-10-09 18:36:48
- Откуда: 127.0.0.1
- Контактная информация:
Re: Кеширующий DNS сервер Unbound+шлюз в инет
рационально
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: Кеширующий DNS сервер Unbound+шлюз в инет
Поставил unbound на шлюз..делал все как в статье http://www.lissyara.su/?id=1705 В процессах появилось 4 процесса унбоунда (как и писалось в статье) делаю
Делаю
грабли какие то..не должно так быть если придерживатся статьи...копаю дальше..делаю с нета
делаю nslookup с внутренние сети
я так понял не все получилось как надо..а хотелось заменить стандартный фришный днс named на кеширующий unbound...может чтото в конфиге пропустил?
вот конфиг unbound.conf
Код: Выделить всё
ps auxw | grep unbound
unbound 852 0.0 0.4 8840 4548 ?? Ss 7:56PM 0:00.19 /usr/local/sbin/unbound
unbound 874 0.0 0.4 8840 4560 ?? S 7:56PM 0:00.17 /usr/local/sbin/unbound
unbound 877 0.0 0.4 8840 4624 ?? S 7:56PM 0:00.18 /usr/local/sbin/unbound
unbound 879 0.0 0.4 8840 4640 ?? S 7:56PM 0:00.19 /usr/local/sbin/unbound
Код: Выделить всё
netstat -an | grep *.53
grep: No match.
Код: Выделить всё
nslookup xx.xx.xx.xx(мой айпи)
Server: ns3.ukrtelecom.ua
Address: 195.5.46.10
Name: ll-xx.xx.xx.xx.dp.sovam.net.ua
Address: xx.xx.xx.xx
Код: Выделить всё
can`t find server name for address 192.168.0.108(внутренняя сетевая шлюза)non existent domain
default server are not avaliable
default server: unknown
address: 192.168.0.108
вот конфиг unbound.conf
Код: Выделить всё
verbosity: 0
num-threads: 4
interface: 0.0.0.0
port: 53
outgoing-range: 256
msg-cache-size: 16m
msg-cache-slabs: 4
num-queries-per-thread: 1024
rrset-cache-size: 32m
rrset-cache-slabs: 4
cache-max-ttl: 86400
infra-host-ttl: 900
infra-lame-ttl: 900
infra-cache-slabs: 4
infra-cache-numhosts: 10000
infra-cache-lame-size: 10k
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
do-daemonize: yes
access-control: 0.0.0.0/0 refuse
access-control: 192.168.0.0/24 allow
access-control: 127.0.0.0/8 allow
access-control: ::0/0 refuse
access-control: ::1 allow
access-control: ::ffff:127.0.0.1 allow
chroot: "/usr/local/etc/unbound"
username: "unbound"
directory: "/usr/local/etc/unbound"
logfile: ""
use-syslog: no
pidfile: "/usr/local/etc/unbound/unbound.pid"
root-hints: "/usr/local/etc/unbound/named.cache"
identity: "DNS"
version: "1.0"
hide-identity: yes
hide-version: yes
harden-glue: yes
do-not-query-address: 127.0.0.1/8
do-not-query-address: ::1
do-not-query-localhost: yes
module-config: "iterator"
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Кеширующий DNS сервер Unbound+шлюз в инет
У вас случайно старый BIND не запущен параллельно на 53 UDP порту? BIND и Unbound не мешают друг другу?
На счет статьи - она уже чуть устарела. В ближайшее время я ее дополню. Конкретно в данный момент уже вышла версия unbound 1.2.0 в которой исчезла проблема с libevent (разработчики нашли race condition между потоков и исправили). Так что при сборке порта вы теперь уже могли спокойно выберать опции LIBEVENT и THREADS - это теперь не вызывает проблем при работе, и позволяет не форкать четыре независимых процесса, а использовать один с множеством потоков (экономия памяти выходит).
Кстати, не совсем понял как вы тестировали через nslookup. Надо ведь просто на той машине где запущен unbound открыть nslookup и поспрашивать что-нибудь через него:
Попробуйте включить логирование в файл и посмотреть, какие ошибки он выдает при запуске и при работе:
На счет статьи - она уже чуть устарела. В ближайшее время я ее дополню. Конкретно в данный момент уже вышла версия unbound 1.2.0 в которой исчезла проблема с libevent (разработчики нашли race condition между потоков и исправили). Так что при сборке порта вы теперь уже могли спокойно выберать опции LIBEVENT и THREADS - это теперь не вызывает проблем при работе, и позволяет не форкать четыре независимых процесса, а использовать один с множеством потоков (экономия памяти выходит).
Кстати, не совсем понял как вы тестировали через nslookup. Надо ведь просто на той машине где запущен unbound открыть nslookup и поспрашивать что-нибудь через него:
Код: Выделить всё
[terminus@dns 10:39:31 ~]$ nslookup
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> forum.lissyara.su.
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
forum.lissyara.su canonical name = hosting.lissyara.su.
Name: hosting.lissyara.su
Address: 77.221.149.162
>
Попробуйте включить логирование в файл и посмотреть, какие ошибки он выдает при запуске и при работе:
Код: Выделить всё
verbosity: 3
logfile: "/usr/local/etc/unbound/unbound.log"
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: Кеширующий DNS сервер Unbound+шлюз в инет
сделал тоже самое что и вы с машины где стоит unbound
значит unbound пашет нормально?
Код: Выделить всё
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> forum.lissyara.su
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
forum.lissyara.su canonical name = hosting.lissyara.su.
Name: hosting.lissyara.su
Address: 77.221.149.162
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: Кеширующий DNS сервер Unbound+шлюз в инет
и если не сложно обьясните что такое forward dns если его включать то зачем он нужен, будет ли так лучше и на какой днс его форвардить...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Кеширующий DNS сервер Unbound+шлюз в инет
Ну походу что-то у вас запустилось, может даже unbound.
Проверьте:
Если ничего нет - значит работает unbound. Да и нормально netstat -an просмотрите (хотя, если был ответ, то на 53 порту точно что-то весит).
А лучше включите все-таки вывод в лог и проверьте как все работает наблюдая через
Сразу все будет видно - работает или нет...
Проверьте:
Код: Выделить всё
ps auxw | grep named
ps auxw | grep bind
А лучше включите все-таки вывод в лог и проверьте как все работает наблюдая через
Код: Выделить всё
tail -f /usr/local/etc/unbound/unbound.log
Форвардин запросов - это когда ваш днс сервер, получив запрос от клиента, не сам начинает производить полный цикл разрешения запрашиваемого имени, а пересылает запрос на указанный днс сервер (чаще всего на сервер провайдера). Так делают в целях экономии трафика. Получив ответ от днса на который он пересылал запрос, ваш сервер сохранит его к себе в кеш и ответит уже клиенту. Чтобы такое включить у unbound надо добавить в конфиг (1.2.3.4 днс прова.):и если не сложно обьясните что такое forward dns если его включать то зачем он нужен, будет ли так лучше и на какой днс его форвардить...
Код: Выделить всё
forward-zone:
name: "."
forward-addr 1.2.3.4
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: Кеширующий DNS сервер Unbound+шлюз в инет
в поле я должен что вписать? какой домен? мой? и еще вопрос в поле вписывать ближайший ко мне днс или лучше один из бесплатных днс например opendns.org???
Код: Выделить всё
name
Код: Выделить всё
forward-addr
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Кеширующий DNS сервер Unbound+шлюз в инет
В поле name оставляйте точку "." - как в примере. Это значит, что происходит форвардинг для всех имен с точки начинающихся (то есть полностью для всех). А если бы вместо точки там бы было вписано "mail.ru." то форвардинг бы происходил только при обращении к именам mail.ru соответвенно, а все остальные имена unbound разрешал бы сам...
Если надумали делать форвардинг, то вписывайте адреса днс серверов вашего провайдера. Вписывать можно сразу несколько адресов, типа:
Вписывать нужно ближайшие к вам, и надежные сервера (как уже сказал - сервера провайдера очень подойдут).
И еще один момент. Я не успел внести его в статью. Поправете в конфигурации unbound эти установки:
на это:
Сейчас объясню. У одного товарища который так же как вы решился настраевать форвардинг, вылезли грабли. Была проблема, что, если пропадает связь с днс сервером провайдера (физически нет соединения) то такой неотвечающий сервер попадает во внутренний блеклист unbound'а. По умолчанию записи в этом листе имеют TTL 900 секунд (15мин). Это излишне параноидальная мера, которая приводила к ситуации что, типа, коннект пропал на минуту, а соединение с сервером провайдера востанавливалось только через 15 минут. В версии unbound 1.2.0 эту ситуацию попытались исправить - теперь "мертвые" сервера все же опрашиваются с надеждой, что они вернулись, но происходит это не часто. Установка infra-host-ttl и infra-lame-ttl в 60 сек решит эту возможную проблему.
И все же - если у вас ограниченный трафик или ограниченная скорость подключения, то настройка форвардинга запросов это хорошее решение. Но, если с подключением у вас все в порядке то лучшим вариантом было бы не использовать механизм форвардинга, а дать unbound самому проводить разрешения имен. Это быстрее и надежнее (если скорость подключения позволяет, опять же).
Если надумали делать форвардинг, то вписывайте адреса днс серверов вашего провайдера. Вписывать можно сразу несколько адресов, типа:
Код: Выделить всё
forward-zone:
name: "."
forward-addr 1.2.3.4
forward-addr 5.6.7.8
forward-addr 9.10.11.12
И еще один момент. Я не успел внести его в статью. Поправете в конфигурации unbound эти установки:
Код: Выделить всё
infra-host-ttl: 900
infra-lame-ttl: 900
Код: Выделить всё
infra-host-ttl: 60
infra-lame-ttl: 60
И все же - если у вас ограниченный трафик или ограниченная скорость подключения, то настройка форвардинга запросов это хорошее решение. Но, если с подключением у вас все в порядке то лучшим вариантом было бы не использовать механизм форвардинга, а дать unbound самому проводить разрешения имен. Это быстрее и надежнее (если скорость подключения позволяет, опять же).
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: Кеширующий DNS сервер Unbound+шлюз в инет
скорость 4-5 мбит сек, безлимит...а вообще спасибо огромное за очень содержательные ответы
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Кеширующий DNS сервер Unbound+шлюз в инет
Пожалуйста, мне не жалко.
---
Модераторы, будьте добры пожалуйста - слейте эту тему вместе с предыдущей про unbound, в одну . С этой вот:
http://forum.lissyara.su/viewtopic.php?t=9582
Да, и вот еще один кандидат на mergemaster
http://forum.lissyara.su/viewtopic.php?f=3&t=12709
А то растекаемся мыслей по форуму...
---
Модераторы, будьте добры пожалуйста - слейте эту тему вместе с предыдущей про unbound, в одну . С этой вот:
http://forum.lissyara.su/viewtopic.php?t=9582
Да, и вот еще один кандидат на mergemaster
http://forum.lissyara.su/viewtopic.php?f=3&t=12709
А то растекаемся мыслей по форуму...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- kharkov_max
- капитан
- Сообщения: 1862
- Зарегистрирован: 2008-10-03 14:56:40
Re: Кеширующий DNS сервер Unbound+шлюз в инет
Подскажите пожалуйста.Форвардин запросов - это когда ваш днс сервер, получив запрос от клиента, не сам начинает производить полный цикл разрешения запрашиваемого имени, а пересылает запрос на указанный днс сервер (чаще всего на сервер провайдера). Так делают в целях экономии трафика. Получив ответ от днса на который он пересылал запрос, ваш сервер сохранит его к себе в кеш и ответит уже клиенту. Чтобы такое включить у unbound надо добавить в конфиг (1.2.3.4 днс прова.):Код: Выделить всё
forward-zone: name: "." forward-addr 1.2.3.4
Есть 2 провайдера и стоит unbound.
Мне хотелось бы сделать так, скажем все dns запросы Unbound начинает обрабатывать сам (интернет провайдера 1), а если он не находит нужной зоны то обращается к DNS серверу провайдера 2 (это домовые локальные сети).
Возможно ли так реализовать в конфиге ?
-
- лейтенант
- Сообщения: 966
- Зарегистрирован: 2007-12-05 9:45:18
- Откуда: Mytischi
Re: Кеширующий DNS сервер Unbound+шлюз в инет
знаю точно что можно форвардить когда известно имя домена, так:
forward-zone:
name: "."
forward-addr 1.2.3.4
forward-zone:
name: ".localdomain"
forward-addr 192.168.1.1
типа того
а вообще RTFM, man unbound.conf достаточно информативен.
forward-zone:
name: "."
forward-addr 1.2.3.4
forward-zone:
name: ".localdomain"
forward-addr 192.168.1.1
типа того
а вообще RTFM, man unbound.conf достаточно информативен.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Кеширующий DNS сервер Unbound+шлюз в инет
В случае, когда он не сможет сам разрешить имя через первого провайдер, он не станет автоматом переключаться на второго, а вернет клиенту результат (нет домена или нет ответа) - ведь негативный результат это тоже результат...kharkov_max писал(а): Подскажите пожалуйста.
Есть 2 провайдера и стоит unbound.
Мне хотелось бы сделать так, скажем все dns запросы Unbound начинает обрабатывать сам (интернет провайдера 1), а если он не находит нужной зоны то обращается к DNS серверу провайдера 2 (это домовые локальные сети).
Возможно ли так реализовать в конфиге ?
Если то имя которое вы хотите разрешать через второго провайдера не пересекается с уже имеющимся в интернете доменным именем (скажем provaider.local, но не provider.ru) то можно ведь просто жестко включить пересылку для данного имени на ДНС второго провайдера?
Код: Выделить всё
forward-zone:
name: "provaider.local."
forward-addr 2.2.2.2
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- kharkov_max
- капитан
- Сообщения: 1862
- Зарегистрирован: 2008-10-03 14:56:40
Re: Кеширующий DNS сервер Unbound+шлюз в инет
В принципе Вы правы, можно так делать ....terminus писал(а):В случае, когда он не сможет сам разрешить имя через первого провайдер, он не станет автоматом переключаться на второго, а вернет клиенту результат (нет домена или нет ответа) - ведь негативный результат это тоже результат...kharkov_max писал(а): Подскажите пожалуйста.
Есть 2 провайдера и стоит unbound.
Мне хотелось бы сделать так, скажем все dns запросы Unbound начинает обрабатывать сам (интернет провайдера 1), а если он не находит нужной зоны то обращается к DNS серверу провайдера 2 (это домовые локальные сети).
Возможно ли так реализовать в конфиге ?
Если то имя которое вы хотите разрешать через второго провайдера не пересекается с уже имеющимся в интернете доменным именем (скажем provaider.local, но не provider.ru) то можно ведь просто жестко включить пересылку для данного имени на ДНС второго провайдера?
Код: Выделить всё
forward-zone: name: "provaider.local." forward-addr 2.2.2.2
Но давайте рассмотрим следующий вариант.
С инетом все ясно, unbound лезет находит что нужно и отдает зону, но ....
Если эта зона ему не известна ... И Вы не знаете какие зоны могут быть у провайдера2.
Т.е. скажем mail.ru четко видно из инета, в локальной сети Вы записали зону my.domain (известная вам (уже) зона провайдера2), но там же завтра (у провайдера2) появилась зона my.superdomain.
По Вашим предположениям ее необходимо прописать у себя в unbound иначе не будет работать ...
Так вот ка можно сделать что б неизвестную зону unbound искал у провайдера2, если не смог отработать сам?
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Кеширующий DNS сервер Unbound+шлюз в инет
стандартным способом (через опции конфигурации) такой штуки не сделать...
но есть совсем уж фантастический вариант - написать плагин на питоне который бы обеспечивал эту фишку (unbound позволяет цеплять к себе питоновые модули).
но есть совсем уж фантастический вариант - написать плагин на питоне который бы обеспечивал эту фишку (unbound позволяет цеплять к себе питоновые модули).
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- лейтенант
- Сообщения: 966
- Зарегистрирован: 2007-12-05 9:45:18
- Откуда: Mytischi
Re: Кеширующий DNS сервер Unbound+шлюз в инет
Не уверен, но можно попробовать запустить второй unbound, повесить его на виртуальный интерфейс и настроить его на форвардинг на другой ДНС сервер. Клиентам в настройках прописать его как secondary dns.
Что скажешь, terminus?
Что скажешь, terminus?
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Кеширующий DNS сервер Unbound+шлюз в инет
Да наверно не поможет - клиент же будет всегда к первому обращаться, и только если тот не работает на второй идти. Ведь негативный ответ про то, что нет домена это нормальный ответ, и нет причин запрашивать второй сервер.
Еще "вариант" - всегда использовать пересылку всех запросов только через второго провайдера, если тот разрешает так делать через тот днс на котором заводятся эти самые "левые" домены...
Еще "вариант" - всегда использовать пересылку всех запросов только через второго провайдера, если тот разрешает так делать через тот днс на котором заводятся эти самые "левые" домены...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- kharkov_max
- капитан
- Сообщения: 1862
- Зарегистрирован: 2008-10-03 14:56:40
Re: Кеширующий DNS сервер Unbound+шлюз в инет
Если конфиг unbound этого не может, то похоже что это единственное решение.Еще "вариант" - всегда использовать пересылку всех запросов только через второго провайдера, если тот разрешает так делать через тот днс на котором заводятся эти самые "левые" домены...
Просто провайдер2 медленнее и не анлим (т.е. не хотелось бы через него весь DNS трафик гонять). Понятно что его будет мало, но все же ....