Это старая версия документа!
Роскомнадзор. Блокировка средствами штатного 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