Перейти к содержимому
Калькуляторы

Как правильно настраивать провайдерский DNS

nginx в качестве балансировщика запросов, он кидает запросы на 3и сервера каждый из которых в контейнере unbound.

 

Попробуйте погонять http://dnsdist.org

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Совершенно не понятно как оно тестирует.

Если оно шлёт один за одним то цифры вполне нормальные, попугаи зависят от времени затрачиваемого на один запрос.

Если же оно шлёт параллельно пачки запросов то фигня какая то.

 

Не понятно что там за контейнеры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Честно признаться, мне вообще странно представляется тестирование рекурсивного сервера..... Это получается тестирование интернетов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, dnsdist оказался интересным, по показателям дает 800-1000 запросов в той же конфигурации, сейчас хочу наплодить docker с unbound и посмотреть по другому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

stub-zone:
       name: "retracker.local."
       stub-addr: IP.NS1
       stub-addr: IP.NS2

 

на NS1 (primary) и NS2 (slave) сидят bindы и там есть зоны retracker.local. с файлами описаний зоны.

 

Но я почему то стал получать от Unbound отлупы.

не удалось найти retracker.local: Server failed

 

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
14:19:41.802089 IP 10.10.0.1.53438 > IP.NS1.53: 1+ PTR? X.X.X.X.in-addr.arpa. (43)
14:19:41.802227 IP IP.NS1.53 > 10.10.0.1.53438: 1 1/2/0 PTR ns0.site.net. (106)
14:19:41.805018 IP 10.10.0.1.53439 > IP.NS1.53: 2+ A? retracker.local. (33)
14:19:41.805145 IP IP.NS1.53 > 10.10.0.1.53439: 2 ServFail 0/0/0 (33)
14:19:41.805528 IP 10.10.0.1.53440 > IP.NS1.53: 3+ AAAA? retracker.local. (33)
14:19:41.805660 IP IP.NS1.53 > 10.10.0.1.53440: 3 ServFail 0/0/0 (33)
14:19:41.805990 IP 10.10.0.1.53441 > IP.NS1.53: 4+ A? retracker.local. (33)
14:19:41.806117 IP IP.NS1.53 > 10.10.0.1.53441: 4 ServFail 0/0/0 (33)
14:19:41.806520 IP 10.10.0.1.53442 > IP.NS1.53: 5+ AAAA? retracker.local. (33)
14:19:41.806606 IP IP.NS1.53 > 10.10.0.1.53442: 5 ServFail 0/0/0 (33)

unbound-control lookup retracker.local
The following name servers are used for lookup of retracker.local.
The noprime stub servers are used:
Delegation with 0 names, of which 0 can be examined to query further addresses.
It provides 2 IP addresses.
IP.NS1            rto 12 msec, ttl 71, ping 0 var 3 rtt 50, tA 0, tAAAA 0, tother 0, EDNS 0 probed.
IP.NS2            rto 22 msec, ttl 12, ping 2 var 5 rtt 50, tA 0, tAAAA 0, tother 0, EDNS 0 probed.

 

При этом другие зоны нормально отвечает через stub, например:

 

    stub-zone:
       name: "site.ru."
       stub-addr: IP.NS1
       stub-addr: IP.NS1

 

local-zone и local-data, forward не используется, сервер кеширует и резолвит, прописаны только stub's

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Работает только если сделать так:

 

local-zone: "retracker.local." redirect
local-data: "retracker.local 300 IN A 10.10.0.60"

 

Forward не работает, вообще не форвардит и в tcpdump тишина.

 

 forward-zone:
      name: "retracker.local."
      forward-addr: IP.NS1
      forward-addr: IP.NS1

 

Еще пришлось поломать голову, почему в /etc/unbound/unbound.conf.d нельзя сделать файлик с таким именем local.conf, как только его создаёшь — unbound тут же отказывается стартовать.

 

unbound-checkconf
/etc/unbound/unbound.conf.d/local.conf:1: error: syntax error
read /etc/unbound/unbound.conf.d/local.conf failed: 1 errors in configuration file
mv local.conf locals.conf
unbound-checkconf
/etc/unbound/unbound.conf.d/locals.conf:1: error: syntax error
read /etc/unbound/unbound.conf.d/locals.conf failed: 1 errors in configuration file
mv locals.conf zone.conf
unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf
mv zone.conf zone_local.conf
unbound-checkconf
/etc/unbound/unbound.conf.d/zone_local.conf:1: error: syntax error
read /etc/unbound/unbound.conf.d/zone_local.conf failed: 1 errors in configuration file
mv zone_local.conf zone_internal.conf
unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf

 

Содержимое файлика при этом одинаковое.

Изменено пользователем hsvt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещё вопрос, у меня unbound 1.4.22 работает на Debian 8.4. При старте говорит что слишком низкие значения ulimit.

 

Nov 30 19:51:58 unbound[12413:0] warning: setrlimit: Operation not permitted
Nov 30 19:51:58 unbound[12413:0] warning: cannot increase max open fds from 33022 to 65790
Nov 30 19:51:58 unbound[12413:0] warning: continuing with less udp ports: 4096
Nov 30 19:51:58 unbound[12413:0] warning: increase ulimit or decrease threads, ports in config to remove this warning

 

Поднял стенд на CentOS7 1.4.20 с тем же конфигом, там ulimit не изменял и без проблем стартует.

 

CentOS7:

ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 64078
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 64078
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 

Debian:

 

ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 96551
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 96551
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 

sysctl и там и там:

 

 

fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 65000
fs.inotify.max_queued_events = 16384

 

в limits.conf ничего не прописано.

Изменено пользователем hsvt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потому что дописывать нужно не куда попало в конфиге а в конец раздела "server"

 

Вот так форвадить:

forward-zone:
name: "mosgorzdrav.ru"
forward-addr: 8.8.8.8			# NS1.google.com

 

Вот так делать статические записи свои

local-data: "dns.msftncsi.com			30	IN A	131.107.255.255"
local-data: "dns.msftncsi.com			3600	IN AAAA	fd3e:4f5a:5b81:0:0:0:0:1"

 

А вот так возвращать ошибку что ничего нет.

### Ads
local-zone: "1link.ru"				static
local-zone: "1tizer.ru"				static

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, да туда и прописывал в конце файла с конфигом в секцию server: оно попадало. Но не важно, уже вынес в отдельный файлик unbound.conf.d/zone_internal.conf

 

С лимитами кажись нужно именно restart сделать а не reload.

 

А вот если расширенную статистику включить, сильно ли на скорость повлияет?

 

  # enable extended statistics (query types, answer codes, status)
 # printed from unbound-control. default off, because of speed.
 # Needed for munin plugin

 

Хотел бы подёргать статистику.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хз, у меня оно под очень маленькими нагрузками работает: менее 50 хостов.

Лимиты - они системные, поэтому релоад сервиса им пофигу, они отрабатывают когда процесс стартует, там полностью вход эмулируется и оно всё применяется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Апну тему.

Как сейчас нужно настраивать DNS?

 

Есть сервер на Ubuntu Server 20.

Установил NSD (на 127.0.0.201) и Unbound (на 127.0.0.202); на Unbound добавлены stub-зоны, за которые отвечает NSD.

Сами по себе оба сервера работают нормально (если проверять nslookup host 127.0.0.202).

Но вот из ОС работает очень странно.

Например делаю команду ping mail.ru или ping service.local.

Иногда пинг выполняется сразу. А иногда ресолвинг может висеть пару минут и вылететь с таймаутом.

 

Первоначально на ОС по умолчанию используется systemd-resolved.

Совместить это штуку с Unbound я так и не смог, поэтому вообще его отключил, а вместо этого прописал 127.0.0.202 в /etc/resolv.conf и netplan.

Но все равно работает через раз.

А если выполнить команду resolvectl status, то показывает, что в качестве DNS используется 127.0.0.53 (на этом адресе работает systemd-resolved).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дефолтный.

passwd:         files systemd
group:          files systemd
shadow:         files
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

 

С глюками stub-зоны разобрался.

Вообщем сам виноват.

В NSD у меня прописаны зоны zone1.local, zone2.local.

А в Unbound я поленился и прописал stub-зону local.

Вот и работало через раз (странно, что вообще работало, авторитетный сервер по идее должен был каждый раз давать refuse).

Исправил, сейчас нормально. systemd-resolved не остановил, а вообще удалил.

 

А вот с паузой, когда делаю пинг по доменному имени — непонятно.

Например, выполняю команду ping mail.ru. В ответ мгновенно выдается "PING mail.ru (217.69.139.200) 56(84) bytes of data.", то есть доменное имя сразу же ресолвится.

А вот далее утилита висит одну-две секунду, и только после этого начинает выдавать "64 bytes from mail.ru (217.69.139.200)".

Причем пропущенных пакетов или задержек нет, пауза возникает до того, как начнут отправляться пакеты icmp-echo.

А вот если выполнять пинг по IP-адресу (ping 217.69.139.200), то паузы нет, ответы идут сразу.

 

И такое происходит на этом единственном сервере.

На других серверах (CentOS, Debian) такого нет, там ответы идут сразу после запуска команды, хоть по имени, хоть по IP-адресу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 18.02.2022 в 09:00, alibek сказал:

А вот далее утилита висит одну-две секунду, и только после этого начинает выдавать "64 bytes from mail.ru (217.69.139.200)".

резолвится запись в обратной зоне

 

В 18.02.2022 в 09:00, alibek сказал:

А вот если выполнять пинг по IP-адресу (ping 217.69.139.200), то паузы нет, ответы идут сразу.

что-то не то вы описываете, разницы быть не должно.

задержка должна зависеть от того есть запись в кэше локального резолвера или нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 18.02.2022 в 20:46, edo сказал:

разницы быть не должно

Тем не менее, наблюдал именно такое.

Если делаю пинг по доменному имени, то после разрешения имени и перед отправкой icmp-пакетов есть пауза в одну-две секунды.

Если делаю пинг по IP-адресу, то такой паузы нет.

 

Но это уже неактуально.

Справится с убунтой и systemd я так и не смог, так что вчера переустановил на сервере Debian 11.

Там конечно тоже есть systemd, но он ведет себя более предсказуемо.

Все тоже самое, что я делал в Ubuntu, на Debian работает нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 18.02.2022 в 00:33, alibek сказал:

Апну тему.

Как сейчас нужно настраивать DNS?

 

Есть сервер на Ubuntu Server 20.

Установил NSD (на 127.0.0.201) и Unbound (на 127.0.0.202); на Unbound добавлены stub-зоны, за которые отвечает NSD.

а BIND щас уже не в моде?

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

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

 

ps: нагрузка - до 800 A-запросов в секунду в ЧНН.

Изменено пользователем nixx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BIND я использовал раньше, но NSD/Unbound понравились больше.

У него есть свои достоинства — view и универсальность.

Но у него неудобной (громоздкий) конфиг, он потребляем много памяти и долго стартует/обновляется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Используем два сервера: первичный и вторичный. На Linux установлен BIND. Используется режим master - slave. Перенастривается только первичный (master). Вторичный считывает с первичного все изменения автоматически. На нем изменения делать не требуется. Используется система разделения  «View» - для разных клиентских IP адресов могут выдаваться разные DNS ответы.

Изменено пользователем neperpbl3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.