... {toc} Генератор зон Unbound для списка доменов, которые необходимо переадресовывать на страницу-заглушку.
|
h2. Unbound
|
|
h3. Установка
|
... {code} yum -y install unbound mkdir /var/run/unbound unbound-control-setup service unbound restart {code}
|
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. fakezone generator
|
|
h3. Установка
|
h3.
|
В случае CentOS 6 установка надстройки для конфигурирования будет выглядеть следующим образом:
|
... Нам потребуется git для клонирования репозитория {code} yum -y install git {code} Клонируем репозиторий на DNS-сервер в папку /opt/named_fakezone_generator/ {code} git clone https://github.com/carbonsoft/named_fakezone_generator.git /opt/named_fakezone_generator/ {code} Копируем скрипт синхронизации списков, его необходимо будет исправить позднее: {code} cp /opt/named_fakezone_generator/unbound/main.sh.example /opt/named_fakezone_generator/unbound/main.sh {code} h3. Настройка Укажите IP адрес Carbon Reductor в файле: {code} /opt/named_fakezone_generator/unbound/main.sh {code} 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
|