Просмотр Исходного

{toc}

h2. Unbound fakezone generator

Генератор зон Unbound для списка доменов, которые необходимо переадресовывать на страницу-заглушку.

h4. Установка

{code}
yum -y install unbound
mkdir /var/run/unbound
unbound-control-setup
service unbound restart
{code}

Обратите внимание, что в конфиге в секции server: должен подключаться файл `/etc/unbound/local.d/reductor.conf`. Это может выглядеть так `include: /etc/unbound/local.d/reductor.conf` или (обычно из коробки) так `include: /etc/unbound/local.d/*.conf`.

В случае CentOS 6 установка будет выглядеть следующим образом:

{code}
yum -y install git
git clone https://github.com/carbonsoft/named_fakezone_generator.git /opt/named_fakezone_generator/
cp /opt/named_fakezone_generator/unbound/main.sh.example /opt/named_fakezone_generator/unbound/main.sh
{code}

h4. Использование

Укажите в `/opt/named_fakezone_generator/unbound/main.sh` IP адрес Carbon Reductor.


h4. Получение списка доменов

Если SSH ключи отсутствуют, генерируем их:

{code}
ssh-keygen
{code}

Затем добавляем их на Carbon Reductor:

{code}
ssh-copy-id root@<ip адрес carbon reductor>
{code}


Проверяем что scp не запрашивает пароль и выкачивает файл:

{code}
/opt/named_fakezone_generator/unbound/main.sh
{code}

Добавляем вызов в Cron.

{code}
echo '*/20 * * * * root /opt/named_fakezone_generator/unbound/main.sh' > /etc/cron.d/unbound_fakezone_generator
{code}

h3. Принцип действия


* Выкачиваем новый список доменов, которые нужно блокировать
* Пытаемся добавить разницу/удалить разблокированные домены с помощью diff_load.sh
** Разница автоматически вычисляется из скачанного файла и используемого в текущий момент /etc/unbound/local.d/reductor.conf
** Добавление и удаление производится через unbound-control local_zone/local_data/local_zone_remove

* Если не получилось (нажали ctrl+c или что-то ещё произошло) - вызывается unbound-control reload

* Если не вышло и это (например сервер был выключен) - service unbound restart