Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим |
просмотр истории страницы
Unbound fakezone generator
Генератор зон Unbound для списка доменов, которые необходимо переадресовывать на страницу-заглушку.
Установка
yum -y install unbound
mkdir /var/run/unbound
unbound-control-setup
service unbound restart
Обратите внимание, что в конфиге в секции server: должен подключаться файл
/etc/unbound/local.d/reductor.conf
Это может выглядеть так:
include: /etc/unbound/local.d/reductor.conf
или (обычно из коробки) так:
include: /etc/unbound/local.d/*.conf
В случае CentOS 6 установка надстройки для конфигурирования будет выглядеть следующим образом:
Нам потребуется git для клонирования репозитория
yum -y install git
Клонируем репозиторий на DNS-сервер в папку /opt/named_fakezone_generator/
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
Использование
Укажите IP адрес Carbon Reductor в файле:
/opt/named_fakezone_generator/unbound/main.sh
Получение списка доменов
Если SSH ключи отсутствуют, генерируем их:
ssh-keygen
Затем добавляем их на Carbon Reductor:
ssh-copy-id root@<ip адрес carbon reductor>
Проверяем что scp не запрашивает пароль и выкачивает файл:
/opt/named_fakezone_generator/unbound/main.sh
Добавляем вызов в Cron.
echo '*/20 * * * * root /opt/named_fakezone_generator/unbound/main.sh' > /etc/cron.d/unbound_fakezone_generator
Принцип действия
- Выкачиваем новый список доменов, которые нужно блокировать
- Пытаемся добавить разницу/удалить разблокированные домены с помощью 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