Роскомнадзор. Блокировка средствами штатного DNS BIND9

После настройки выгрузки от РосКомНадзора, с инструкцией можно ознакомиться тут, появляется возможность блокировать запрещённые ресурсы по доменному имени средствами штатного DNS BIND9.

Рассмотрим как это сделать:


1. Скачайте свежий дистрибутив, в папке /DISTR/RKN есть архив rknblock.tgz. (архив доступен с версии 2.8.14)


2. Разверните архив.


3. Проверьте и отредактируйте конфиг интерфейса с дополнительным адресом для nginx

Для Centos отредактируйте:

/etc/sysconfig/network-scripts/ifcfg-eth4:0

Для Debian добавьте:

mcedit /etc/network/interfaces  
auto eth4:0
iface eth4:0 inet static
address 172.31.0.222
netmask 255.255.255.0 

Интерфейс и адрес, естественно ставим свой.


4. Измените конфиг nginx со страницей предупреждением

mcedit /etc/nginx/conf.d/roszapret.conf
listen       Ваш_IP:80;
server_name Ваш_IP;


5. Поднимите интерфейс с доп адресом

ifup eth4:0


6. Перезапустите nginx

/etc/init.d/nginx


7. Проверьте из браузера открываемость страницы блокировки

 |


8. Отредактируйте dom2named.sh, для Debian отредактируйте dom2named_debian.sh

8.1. Конфигурационный файл named (включается по директивой include в основном конфиге named)

out_conf="/var/named/chroot/etc/block.zones"

8.2. Отдельный каталог с файлами блокируемых зон

out_zpath="/var/named/block"
ВНИМАНИЕ!!! вначале этот скрипт удаляет из него ВСЕ!!!! файлы

8.3. Путь к файлу со списком блокируемых доменов РКН

in_list="/var/www/mikbill/admin/app/etc/roskomnadzor/domain_file.list"

8.4. Список неблокируемых доменов

no_blk_cfg="/var/www/mikbill/admin/app/etc/roskomnadzor/no_block.cfg"

8.5. Нормализованный список блокируемых доменов

rkn_blk="/var/www/mikbill/admin/app/etc/roskomnadzor/rkn_blk"

8.6. Адрес для перенаправления на страничку с запретом.

redirect_addr="172.31.0.31"


9. Запустите dom2named.sh.


10. Добавьте сгенеренный конфиг по include в named.conf


11. Проверить правильность сгенеренного конфига named named-checkconf - конфиг named-checkconf -z - зоны

Ошибок не должно быть.


12. Перезапустите named


13. С помощью nslookup проверить работу блокируемых доменов (должен выдаваться адрес nginx)

nslookup block_site.ru

Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   block_site.ru
Address: 172.31.0.222


14. Добавте dom2named.sh в скрипт постобработки в демон mikbill_rkn

  • billing/howto/rkn_named.txt
  • Последние изменения: 3 лет назад
  • — Александр Дудяк