Jump to content
Калькуляторы

Bind и редирект доменов

Добрый день.

Сам с биндом только знакомлюсь, поэтому прошу помочь.

Как сделать на ДНСе редирект запрещённых доменов на сайт-заглушку?

Просьба тапками не кидать, и не предлагать нанять специалиста. Все равно изучать надо...

Share this post


Link to post
Share on other sites

zone "1st-restricted-domain.ru" {type master; file "zaglushka"; };

zone "2nd-restricted-domain.ru" {type master; file "zaglushka"; };

zone "3rd-restricted-domain.ru" {type master; file "zaglushka"; };

 

зона "заглушка" указывает A (не делайте AAAA, у вас его в списках нету) на адрес, с которого отвечает веб-сервер.

 

ZDRkNWVlYzc1YiMvTW51RXJfVktZMDFTV201emk1VlllbG1QQXlnPS8weDI4OjU5Mng0MDEvZmlsdGVyczpxdWFsaXR5KDcwKS9odHRwczovL3MzLmFtYXpvbmF3cy5jb20vcG9saWN5bWljLWltYWdlcy9kYWEyYzI0NDU0ZDFiYjY5OGFmNjdjNzZmM2U5MzYzNmZmZTFjNWIzMzFiYWFkOTc3MzZmZmMyMTFlOTczMjY5LmpwZw==.jpg

Share this post


Link to post
Share on other sites

zone "1st-restricted-domain.ru" {type master; file "zaglushka"; };

zone "2nd-restricted-domain.ru" {type master; file "zaglushka"; };

zone "3rd-restricted-domain.ru" {type master; file "zaglushka"; };

 

зона "заглушка" указывает A (не делайте AAAA, у вас его в списках нету) на адрес, с которого отвечает веб-сервер.

 

ZDRkNWVlYzc1YiMvTW51RXJfVktZMDFTV201emk1VlllbG1QQXlnPS8weDI4OjU5Mng0MDEvZmlsdGVyczpxdWFsaXR5KDcwKS9odHRwczovL3MzLmFtYXpvbmF3cy5jb20vcG9saWN5bWljLWltYWdlcy9kYWEyYzI0NDU0ZDFiYjY5OGFmNjdjNzZmM2U5MzYzNmZmZTFjNWIzMzFiYWFkOTc3MzZmZmMyMTFlOTczMjY5LmpwZw==.jpg

 

Иначе говоря, если я правильно понял, раз в реестре 3500 доменов, то на днсе надо будет делать 3500 таких записей?

Share this post


Link to post
Share on other sites

Если вы выбрали такой путь блокирования (см. картинку) - да, вам нужно для каждого из 3500 доменов ответить авторитетным ответом с вашего сервера. Как по мне, это ведь легко автоматизируется, нет?

Share this post


Link to post
Share on other sites

Такая блокировка не пройдёт поверку РКН, И ВЫПИШУТ штраф и устранение, не забивайте голову, либо блок по ip (на что, клиенты спасибо не скажут и побегут) либо dpi.

Share this post


Link to post
Share on other sites

Примерный порядок блокировки URL

1) заворачивать ДНС запросы на себя

2) создавать А записи на свой IP для доменов из запрещенных URL

3) проксировать через nginx траффик на эти домены

4) блокировать средствами nginx траффик на запрещенные URL

 

Больше подробностей - в соответствующих ветках форума, посвященных блокировкам.

Share this post


Link to post
Share on other sites

Если вы выбрали такой путь блокирования (см. картинку) - да, вам нужно для каждого из 3500 доменов ответить авторитетным ответом с вашего сервера. Как по мне, это ведь легко автоматизируется, нет?

 

Увы, я ниразу не программер, поэтому для меня это нечто невообразимое :-(

 

Такая блокировка не пройдёт поверку РКН, И ВЫПИШУТ штраф и устранение, не забивайте голову, либо блок по ip (на что, клиенты спасибо не скажут и побегут) либо dpi.

 

У меня уже есть блокировка по IP. Ни одной жалобы пока... Это в дополнение хочу сделать, чтобы процент при проверке поменьше был.

Share this post


Link to post
Share on other sites

Столкнулся с не приятным изменением после обновления bind99-9.9.6P1_3 до bind99-9.9.7.

 

У меня в конфиге есть include "/usr/local/etc/namedb/banned.conf"; на так называемые зоны для которых указан один файл заглушка на 127.0.0.1

 

file "/usr/local/etc/namedb/master/null.zone";

 

После обновления ругается на то, что файл уже используется одной зоной.

 

named-checkconf

named-checkconf
/usr/local/etc/namedb/banned.conf:11: writeable file '/usr/local/etc/namedb/master/null.zone': already in use: /usr/local/etc/namedb/banned.conf:7
/usr/local/etc/namedb/banned.conf:15: writeable file '/usr/local/etc/namedb/master/null.zone': already in use: /usr/local/etc/namedb/banned.conf:7
/usr/local/etc/namedb/banned.conf:20: writeable file '/usr/local/etc/namedb/master/null.zone': already in use: /usr/local/etc/namedb/banned.conf:7
/usr/local/etc/namedb/banned.conf:25: writeable file '/usr/local/etc/namedb/master/null.zone': already in use: /usr/local/etc/namedb/banned.conf:7
/usr/local/etc/namedb/banned.conf:30: writeable file '/usr/local/etc/namedb/master/null.zone': already in use: /usr/local/etc/namedb/banned.conf:7
/usr/local/etc/namedb/banned.conf:35: writeable file '/usr/local/etc/namedb/master/null.zone': already in use: /usr/local/etc/namedb/banned.conf:7

 

То есть получается сейчас такую конфигурацию использовать уже нельзя.

 

cat banned.conf

zone "host.ru" {
   type master;
   file "/usr/local/etc/namedb/master/null.zone";
};

 

Прочитал здесь http://www.freshports.org/dns/bind99/ и https://kb.isc.org/article/AA-01256/0/BIND-9.9.7-Release-Notes.html ничего про это не нашёл. Неужели теперь придется для каждой зоны свой уникальный файл использовать разным названием но одинаковым содержимым ?

Edited by hsvt

Share this post


Link to post
Share on other sites

Используйте второй нулевой файл для забаненных доменов.

Share this post


Link to post
Share on other sites

файл "/usr/local/etc/namedb/master/null.zone" случайно не используется в описаниях зон для которых "type slave" ?

 

...Прочитал здесь http://www.freshports.org/dns/bind99/ и https://kb.isc.org/a...ease-Notes.html ничего про это не нашёл...

 

Вот же написано :(https://kb.isc.org/article/AA-01256/0/BIND-9.9.7-Release-Notes.html)

...

When files opened for writing by named, such as zone journal files, were referenced more than once in named.conf, it could lead to file corruption as multiple threads wrote to the same file. This is now detected when loading named.conf and reported as an error. [RT #37172]

....

Edited by OK-2004

Share this post


Link to post
Share on other sites

Используйте второй нулевой файл для забаненных доменов.

 

Для каждого забаненого домена создавать null.zone1, null.zone2, null.zone3 ?

 

файл "/usr/local/etc/namedb/master/null.zone" случайно не используется в описаниях зон для которых "type slave" ?

 

...Прочитал здесь http://www.freshports.org/dns/bind99/ и https://kb.isc.org/a...ease-Notes.html ничего про это не нашёл...

 

Вот же написано :(https://kb.isc.org/article/AA-01256/0/BIND-9.9.7-Release-Notes.html)

...

When files opened for writing by named, such as zone journal files, were referenced more than once in named.conf, it could lead to file corruption as multiple threads wrote to the same file. This is now detected when loading named.conf and reported as an error. [RT #37172]

....

 

Пардон, не увидел. null.zone в type slave; не используется. Ну теперь это интерпретируется как ошибка, какие варианты тогда ?

Share this post


Link to post
Share on other sites

Ну во фре лежит дефолтный конфиг содержащий

 

// Private Use Networks (RFCs 1918, 5735 and 6303)
zone "10.in-addr.arpa"     { type master; file "/etc/namedb/master/empty.db"; };
zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "18.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "19.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "20.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "21.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "22.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "23.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "24.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "25.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "26.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "27.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "28.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
...

и работает. allow-update на уровне сервера нету ?

Share this post


Link to post
Share on other sites

Ну во фре лежит дефолтный конфиг содержащий

 

// Private Use Networks (RFCs 1918, 5735 and 6303)
zone "10.in-addr.arpa"     { type master; file "/etc/namedb/master/empty.db"; };
zone "16.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "17.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "18.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "19.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "20.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "21.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "22.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "23.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "24.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "25.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "26.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "27.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
zone "28.172.in-addr.arpa" { type master; file "/etc/namedb/master/empty.db"; };
...

и работает. allow-update на уровне сервера нету ?

 

Какая у вас версия bind ? У меня за основу был взят дефолтный конфиг, но эти строки я там коментил, если раскоменить - тот же самый error. allow-update нету, это slave сервер. Но для зон заглушек всё равно type master;

Edited by hsvt

Share this post


Link to post
Share on other sites

9.9.7 из портов. За основу дефолтный конфиг от фри ~ 9.1

 

named-checkconf -t /var/named /etc/namedb/named.conf не ругается.

 

Mar  7 23:20:17 ns02 named[51869]: starting BIND 9.9.7 -c /etc/namedb/named.conf -t /var/named -u bind
///
Mar  7 23:14:59 ns02 named[51869]: zone 0.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 10.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 242.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 17.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 127.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 18.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 240.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 247.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 254.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 20.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 31.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 22.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 16.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 19.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone c.ip6.arpa/IN: loaded serial 42
///

 

Вот проверил специально, сделал другой файл, завел 2 другие зона (вдруг эти, они же все стандартно серые, где там не так обрабатываются). нет все ОК. зоны загрузились. дал бинду права на RW на файл и диру. Тоже ок.

 

зы

Да, конфиги у меня изначально от базы а не из портов (/etc/namedb). Но текущий бинд в портах, он replace base не делает, поэтому стоит в /usr/local. бинд собирался 3 марта, но там /usr/ports для этой версии бинда последние изменения более ранние

Share this post


Link to post
Share on other sites

9.9.7 из портов. За основу дефолтный конфиг от фри ~ 9.1

 

named-checkconf -t /var/named /etc/namedb/named.conf не ругается.

 

Mar  7 23:20:17 ns02 named[51869]: starting BIND 9.9.7 -c /etc/namedb/named.conf -t /var/named -u bind
///
Mar  7 23:14:59 ns02 named[51869]: zone 0.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 10.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 242.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 17.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 127.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 18.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 240.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 247.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 254.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 20.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 31.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 22.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 16.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone 19.172.in-addr.arpa/IN: loaded serial 42
Mar  7 23:14:59 ns02 named[51869]: zone c.ip6.arpa/IN: loaded serial 42
///

 

Вот проверил специально, сделал другой файл, завел 2 другие зона (вдруг эти, они же все стандартно серые, где там не так обрабатываются). нет все ОК. зоны загрузились. дал бинду права на RW на файл и диру. Тоже ок.

 

зы

Да, конфиги у меня изначально от базы а не из портов (/etc/namedb). Но текущий бинд в портах, он replace base не делает, поэтому стоит в /usr/local. бинд собирался 3 марта, но там /usr/ports для этой версии бинда последние изменения более ранние

 

У меня десятка стоит... ставил bind из портов т.к. в 10 его вырезали. Чрута нету.

uname -a
FreeBSD services.gw 10.0-RELEASE FreeBSD 10.0-RELEASE #0: Tue Jun  3 17:22:49 MSK 2014     root@services.gw:/usr/obj/usr/src/sys/SERVICES  amd64

 

ps axu | grep named
bind    15986   8.5 12.6 218192 130396  -  Ss   Thu12PM    713:17.78 /usr/local/sbin/named -u bind -c /usr/local/etc/namedb/named.conf

 

/usr/local/etc/namedb$ ls -al
total 100
drwxr-xr-x   6 bind  bind    512B Mar 10 10:28 .
drwxr-xr-x  12 root  wheel   512B Mar 10 10:24 ..
-rw-r--r--   1 root  wheel    10K Mar  6 16:27 banned.conf
-rw-r--r--   1 root  wheel   2.3K Mar 10 10:28 bind.keys
drwxr-xr-x   2 bind  bind    512B Mar 10 10:28 dynamic
drwxr-xr-x   2 bind  bind    512B Mar 10 10:28 master
-rw-r--r--   1 bind  bind     23K Mar 10 10:03 named.conf
-rw-r--r--   1 root  wheel    21K Mar 10 10:28 named.conf.sample
-rw-r--r--   1 root  wheel   3.1K Mar 10 10:28 named.root
-r--r--r--   1 bind  bind    479B Jun  3  2014 rndc.conf
-rw-r--r--   1 root  wheel   1.4K Mar 10 10:28 rndc.conf.sample
drwxr-xr-x   2 bind  bind    1.0K Mar 10 10:28 slave
drwxr-xr-x   2 bind  bind    512B Mar 10 10:28 working

 

root@services:/usr/local/etc/namedb$ ls -al master/
total 24
drwxr-xr-x  2 bind  bind    512B Mar 10 10:28 .
drwxr-xr-x  6 bind  bind    512B Mar 10 10:28 ..
-rw-r--r--  1 root  wheel   227B Mar 10 10:28 empty.db
-rw-r--r--  1 root  wheel   249B Mar 10 10:28 localhost-forward.db
-rw-r--r--  1 root  wheel   317B Mar 10 10:28 localhost-reverse.db
-rw-r--r--  1 root  wheel   492B Mar  6 16:42 null.zone

 

df -hT
Filesystem    Type     Size    Used   Avail Capacity  Mounted on
/dev/vtbd0p2  ufs       29G    5.8G     21G    22%    /
devfs         devfs    1.0K    1.0K      0B   100%    /dev

 

#### named ####
named_enable="YES"
named_program="/usr/local/sbin/named"
named_conf="/usr/local/etc/namedb/named.conf"
named_uid="bind"

 

Не знаю что с ним не так, пробовал пересобирать из порта, сейчас попробую make clean make rmconfig и пересобрать. Либо обновить попробовать до 10.1, но не хотелось бы трогать)

Edited by hsvt

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this