ayf Опубликовано 21 марта, 2017 · Жалоба Добрый день. Коллеги, поделитесь знаниями, как сделать баласировку нагрузки между серверами ДНС, чтобы не получалось, что при подключении клиентов по DHCP все будут ломиться на примари DNS. Проблема в том, что нужна одна большая сеть типа 10.0.0.0/8. То есть на подсети с разными ДНС я ее разбить не могу. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sol Опубликовано 21 марта, 2017 · Жалоба >> все будут ломиться на примари DNS. Разок не получат ответ и перейдут на второй сервер. К стати, в DHCP нет примари/не примари. ДНС отдаются списком без выделения какой либо роли. По RFC, после получения адреса, ДНС, к которому пойдёт первый запрос, должен выбираться случайно, если ДНС серверов пришло более одного. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Tau Опубликовано 21 марта, 2017 · Жалоба Добрый день. Коллеги, поделитесь знаниями, как сделать баласировку нагрузки между серверами ДНС, чтобы не получалось, что при подключении клиентов по DHCP все будут ломиться на примари DNS. Проблема в том, что нужна одна большая сеть типа 10.0.0.0/8. То есть на подсети с разными ДНС я ее разбить не могу. Какой DHCP? Почему сегментировать не можете? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ayf Опубликовано 21 марта, 2017 · Жалоба Добрый день. Коллеги, поделитесь знаниями, как сделать баласировку нагрузки между серверами ДНС, чтобы не получалось, что при подключении клиентов по DHCP все будут ломиться на примари DNS. Проблема в том, что нужна одна большая сеть типа 10.0.0.0/8. То есть на подсети с разными ДНС я ее разбить не могу. Какой DHCP? Почему сегментировать не можете? DHCP на рутере Cisco. Клиент поставил задачу, что все абоненты (несколько тысяч человек) должны быть в одной сети. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Saab95 Опубликовано 21 марта, 2017 · Жалоба Поставьте несколько DNS серверов с одинаковыми IP адресами в разных участках сети - если терминация всей подсети будет происходить не в одном месте. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 21 марта, 2017 · Жалоба Клиент поставил задачу, что все абоненты (несколько тысяч человек) должны быть в одной сети. ссзб Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ayf Опубликовано 21 марта, 2017 · Жалоба Клиент поставил задачу, что все абоненты (несколько тысяч человек) должны быть в одной сети. ссзб Это понятно, но головняк-то мой получится... Поставьте несколько DNS серверов с одинаковыми IP адресами в разных участках сети - если терминация всей подсети будет происходить не в одном месте. В одном. Грубо говоря, громадная площадка с толпой людей:) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
v_r Опубликовано 21 марта, 2017 · Жалоба В одном. Грубо говоря, громадная площадка с толпой людей:) Как вариант можно настроить средствами anycast-маршрутизации. Настройте на лупбеках серверов одинаковые адреса, добавьте эти интерфейсы в DNS-сервер (в смысле разрешите отвечать на запросы с адреса лупбека), на маршрутизаторе прописывайте маршруты на адрес лупбека на два эти сервера, и выдаете клиентам адреса лупбеков в качестве DNS сервера. Можно вместо статики настроить динамическую маршрутизацию, принцип не меняется. Маршрутизатор должен уметь ECMP load-balancing и балансировку на /32 сети (последний пункт поддерживают не все L3-свитчи). Из недостатков - нет связи между маршрутом на сервере и статусом DNS сервера: при остановке DNS на одном из серверов трафик все равно будет направляться к нему. Разок не получат ответ и перейдут на второй сервер. В разных ОС по-разному, Windows вроде бы посылает запросы на оба сервера одновременно. А FreeBSD для определения недоступности DNS-сервера требуется несколько минут, правда в некоторых приложениях своя реализация резолвинга, более шустрая. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sol Опубликовано 21 марта, 2017 · Жалоба Windows вроде бы посылает запросы на оба сервера одновременно. Это не так. WireShark в руки. А FreeBSD для определения недоступности DNS-сервера Это не в ОС. Это в glibc. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
edo Опубликовано 21 марта, 2017 · Жалоба Ну будут ломиться на один, и что? Как бы нагрузка по сегодняшним меркам смешная. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 21 марта, 2017 · Жалоба днс сервера в этой сети будут не самым слабым местом. Где-то на последнем месте Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 21 марта, 2017 · Жалоба Проблема в том, что нужна одна большая сеть типа 10.0.0.0/8. в одном бродкасте? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 21 марта, 2017 · Жалоба Добрый день. Коллеги, поделитесь знаниями, как сделать баласировку нагрузки между серверами ДНС, чтобы не получалось, что при подключении клиентов по DHCP все будут ломиться на примари DNS. Проблема в том, что нужна одна большая сеть типа 10.0.0.0/8. То есть на подсети с разными ДНС я ее разбить не могу. Я в дхцп делаю роундробин выдачу двух днс по dhcprequest. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dignity Опубликовано 21 марта, 2017 · Жалоба Проще взять сервер потолще и поднять нормальный рекурсор на pdns и будет счастье. Это вообще, иллюзия что нагрузка будет большая. Если уж сильно хочется - haproxy в помощь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vurd Опубликовано 21 марта, 2017 · Жалоба Я в дхцп делаю роундробин выдачу двух днс по dhcprequest. Как? По теме, поднимите unbound, кеш побольше, чем по-умолчанию и, собственно, всё. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 21 марта, 2017 · Жалоба Как? Меняю местами первичный и вторичный сервера в строке опции днс. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ShyLion Опубликовано 22 марта, 2017 · Жалоба Поставьте несколько DNS серверов с одинаковыми IP адресами в разных участках сети - если терминация всей подсети будет происходить не в одном месте. Совет курильщика. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ShyLion Опубликовано 22 марта, 2017 · Жалоба Добрый день. Коллеги, поделитесь знаниями, как сделать баласировку нагрузки между серверами ДНС, чтобы не получалось, что при подключении клиентов по DHCP все будут ломиться на примари DNS. Проблема в том, что нужна одна большая сеть типа 10.0.0.0/8. То есть на подсети с разными ДНС я ее разбить не могу. top - 11:00:18 up 8 days, 20:48, 1 user, load average: 0.18, 0.16, 0.14 Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie %Cpu(s): 5.1 us, 2.7 sy, 0.0 ni, 91.2 id, 0.0 wa, 0.0 hi, 1.0 si, 0.0 st KiB Mem: 1018248 total, 646148 used, 372100 free, 138300 buffers KiB Swap: 8188 total, 140 used, 8048 free. 83220 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10554 named 20 0 256244 121176 3036 S 7.6 11.9 3:11.12 named 11 root 20 0 0 0 0 S 0.7 0.0 39:43.11 rcuos/0 841 root 20 0 452744 9928 6900 S 0.7 1.0 76:29.90 NetworkManager 10 root 20 0 0 0 0 S 0.3 0.0 35:16.52 rcu_sched 822 root 20 0 186916 4576 3664 S 0.3 0.4 9:29.94 vmtoolsd 2462 mysql 20 0 907468 91436 7748 S 0.3 9.0 4:58.56 mysqld 10590 root 20 0 123676 1608 1112 R 0.3 0.2 0:00.09 top 1 root 20 0 129484 3928 2308 S 0.0 0.4 0:23.76 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.10 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 2:23.89 ksoftirqd/0 ... Полторы тысячи абонентов живут в интернете. Виртуалка под VMWare ESXi. RPZ с блеклистом на список роскомнадзора. Короче, проблема, судя по всему, вымышленная. Для отказоустойчивости можно держать два сервера. Балансировать есть смысл при десятках тысячах абонентов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vurd Опубликовано 22 марта, 2017 · Жалоба 2ShyLion реализацию rpz покажите? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ShyLion Опубликовано 22 марта, 2017 · Жалоба 2ShyLion реализацию rpz покажите? Там все просто как 3 кпейки. У меня хост, запрашивающий данные из РКН и DNS сервер разные, поэтому на первом мастер зоны, а на DNS сервере-слейв. Скрипт после парсинга пинает мастера: rndc reload zapret, а дальше все само. Серийник только не забудь увеличивать ( уменя тупо time() ). Мастер: zone "zapret" IN { type master; file "zapret.zone"; allow-transfer { slave_ip; }; also-notify { slave_ip; }; //это важно, там есть имена с подчеркиванием check-names ignore; }; Файл зоны: # head /var/named/zapret.zone $ORIGIN zapret. $TTL 1H @ SOA localhost. root (1490176736 1h 15m 30d 2h) NS localhost. cannabay.org A 127.0.0.1 *.cannabay.org A 127.0.0.1 eoliaseeds.com A 127.0.0.1 *.eoliaseeds.com A 127.0.0.1 www.weedy.be A 127.0.0.1 *.www.weedy.be A 127.0.0.1 и т.д. Сам сервер DNS: options { вся обычная фигня... response-policy {zone "zapret"; }; }; zone "zapret" IN { type slave; masters { master_ip; }; check-names ignore; }; named ванильный из стандартного репозитория CentOS 7 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vurd Опубликовано 22 марта, 2017 · Жалоба Спасибо, а то у меня зонами обычными сделано, пухнет сильно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ShyLion Опубликовано 22 марта, 2017 · Жалоба Логирование: logging { channel rpz { file "data/rpz.log" versions 7 size 1m; severity info; print-time yes; }; category rpz { rpz; }; } 22-Mar-2017 15:57:22.707 client x.x.x.72#39667 (f-slots.org): rpz QNAME Local-Data rewrite f-slots.org via f-slots.org.zapret 22-Mar-2017 15:57:22.708 client x.x.x.72#39667 (casino-automats.com): rpz QNAME Local-Data rewrite casino-automats.com via casino-automats.com.zapret 22-Mar-2017 15:57:22.711 client x.x.x.72#39667 (slotosfera.com): rpz QNAME Local-Data rewrite slotosfera.com via slotosfera.com.zapret Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...