|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (32)
просмотр истории страницыh2. Unbound fakezone generator |
{toc} |
|
{warning} {color:#aa6600}{*}Устарело{*}{color}. Используйте [актуальный модуль интеграции с Unbound|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=113737730]. {warning} |
Генератор зон Unbound для списка доменов, которые необходимо переадресовывать на страницу-заглушку. |
h2. Unbound |
h43. Установка |
|
{code} yum -y install unbound |
... |
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 установка будет выглядеть следующим образом: |
h3. Настройка (!) В основном конфиге unbound в секции server должен подключаться сгенерированный fakezone файл: |
{code} |
/etc/unbound/local.d/reductor.conf {code} Это может выглядеть так: {code} include: /etc/unbound/local.d/reductor.conf {code} или (обычно из коробки) так: {code} include: /etc/unbound/local.d/*.conf {code} h2. Система генерации зон для DNS-сервера h3. 1. Установка В случае CentOS 6 установка надстройки для конфигурирования будет выглядеть следующим образом: Нам потребуется git для клонирования репозитория {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. Использование |
Клонируем репозиторий на DNS-сервер в папку /opt/named_fakezone_generator/ |
|
Укажите в `/opt/named_fakezone_generator/unbound/main.sh` IP адрес Carbon Reductor. |
{code} git clone https://download5.carbonsoft.ru/reductor/repos/named_fakezone_generator /opt/named_fakezone_generator/ {code} |
|
h4. Получение списка доменов |
h3. 2. Настройка |
|
Откройте (если его ещё нет, создайте) конфигурационный файл: {code} /etc/sysconfig/named_fakezone_generator {code} В нём укажите следующие значения: {code} REDUCTOR_IP='10.0.0.1' REDUCTOR_VERSION='8' {code} Если в сети используется несколько Carbon Reductor - выберите один любой. Для Carbon Reductor 7 инструкция находится по адресу: [http://docs.carbonsoft.ru/pages/viewpage.action?pageId=65798699] h3. 3. Обращение к Carbon Reductor за списком доменов |
Если SSH ключи отсутствуют, генерируем их: |
|
{code} ssh-keygen {code} |
|
Затем добавляем их на Carbon Reductor: |
|
{code} ssh-copy-id root@<ip адрес carbon reductor> {code} |
Проверяем что scp не запрашивает пароль и выкачивает файл: |
(!) Обязательно проверьте, что main.sh отрабатывает при ручном запуске перед автоматическим запуском. Проверяем что: * scp не запрашивает пароль * новый файл со списком доменов скачивается * и всё это применяется за приемлемое время (менее двух минут) |
{code} |
/opt/named_fakezone_generator/unbound/main.sh |
timeout -s 15 3500s /opt/named_fakezone_generator/unbound/main.sh |
{code} |
Добавляем вызов в Cron. |
h3. 4. Настройка регулярного обновления Добавляем задачу для cron: раз в 20 минут обновлять список доменов. Ограничение по времени выполнения (timeout) сделано с большим запасом в качестве защиты от зависания скрипта. |
{code} |
echo '*/20 * * * * root timeout -s 15 3500s /opt/named_fakezone_generator/unbound/main.sh' > /etc/cron.d/unbound_fakezone_generator |
{code} |
h3. Принцип действия |
|
h3. Примечания Часть описанных действий может выполняться не от пользователя root, в документации используется именно он для простоты примера. Если самостоятельная настройка схемы для работы от имени непривилегированного пользователя вызывает затруднения - используйте root. *Принцип действия* |
* Выкачиваем новый список доменов, которые нужно блокировать * Пытаемся добавить разницу/удалить разблокированные домены с помощью 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 |