{toc}
Генератор зон Bind/Named для списка доменов, которые необходимо переадресовывать на страницу-заглушку.
Это один из способов решения проблемы с фильтрацией ресурсов, меняющих IP адреса. Позволяет абонентам видеть страницу-заглушку при обращении к запрещённому ресурсу.
h2. Bind/Named
h3. Установка
Вся эта схема рассчитана на использование на уже имеющемся и реально используемом абонентами/ревизором DNS-сервере провайдера. Пример установки приведён для целей тестирования, считаем что дистрибутив сервера CentOS 6.
(!) Устанавливать DNS-сервер bind/named на Carbon Reductor не рекомендуется.
{code}
yum -y install named
/etc/init.d/named restart
{code}
h3. Настройка
(!) В основном конфиге bind/named должен подключаться сгенерированный fakezone файл. В конец файла /etc/named.conf допишите:
{code}
include "/etc/named.reductor.zones";
{code}
h2. Система генерации зон для DNS-сервера
h3. 1. Установка
Нам потребуется 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}
h3. 2. Настройка
Откройте (если его ещё нет, создайте) конфигурационный файл:
{code}
/etc/sysconfig/named_fakezone_generator
{code}
В нём укажите следующие значения:
{code}
REDUCTOR_IP='10.0.0.1'
REDUCTOR_VERSION='7'
{code}
Если в сети используется несколько Carbon Reductor - выберите один любой.
h3. 3. Обращение к Carbon Reductor за списком доменов
Если SSH ключи отсутствуют, генерируем их:
{code}
ssh-keygen
{code}
Затем добавляем их на Carbon Reductor:
{code}
ssh-copy-id root@<ip адрес carbon reductor>
{code}
(!) Обязательно проверьте, что main.sh отрабатывает при ручном запуске перед автоматическим запуском.
Проверяем что:
* scp не запрашивает пароль
* новый файл со списком доменов скачивается
* и всё это применяется за приемлемое время (менее двух минут)
{code}
timeout -s 15 3500s /opt/named_fakezone_generator/main.sh
{code}
h3. 4. Настройка регулярного обновления
Добавляем задачу для cron: раз в 20 минут обновлять список доменов.
Ограничение по времени выполнения (timeout) сделано с большим запасом в качестве защиты от зависания скрипта.
{code}
echo '*/20 * * * * root timeout -s 15 3500s /opt/named_fakezone_generator/main.sh' > /etc/cron.d/named_fakezone_generator
{code}
h3. Примечания
Часть описанных действий может выполняться не от пользователя root, в документации используется именно он для простоты примера.
Если самостоятельная настройка схемы для работы от имени непривилегированного пользователя вызывает затруднения - используйте root.
*Принцип действия*
Список блокируемых зон:
{code}
/etc/named.reductor.zones
{code}
Файлы зон создаются на каждый блокируемый домен:
{code}
/etc/named/reductor_<домен который необходимо редиректить>.conf
{code}
Больше подробностей можно узнать непосредственно посмотрев файлы:
* /opt/named_fakezone_generator/generate_bind_configs.sh
* /opt/named_fakezone_generator/reductor_named_domain.tmplt.
Генератор зон Bind/Named для списка доменов, которые необходимо переадресовывать на страницу-заглушку.
Это один из способов решения проблемы с фильтрацией ресурсов, меняющих IP адреса. Позволяет абонентам видеть страницу-заглушку при обращении к запрещённому ресурсу.
h2. Bind/Named
h3. Установка
Вся эта схема рассчитана на использование на уже имеющемся и реально используемом абонентами/ревизором DNS-сервере провайдера. Пример установки приведён для целей тестирования, считаем что дистрибутив сервера CentOS 6.
(!) Устанавливать DNS-сервер bind/named на Carbon Reductor не рекомендуется.
{code}
yum -y install named
/etc/init.d/named restart
{code}
h3. Настройка
(!) В основном конфиге bind/named должен подключаться сгенерированный fakezone файл. В конец файла /etc/named.conf допишите:
{code}
include "/etc/named.reductor.zones";
{code}
h2. Система генерации зон для DNS-сервера
h3. 1. Установка
Нам потребуется 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}
h3. 2. Настройка
Откройте (если его ещё нет, создайте) конфигурационный файл:
{code}
/etc/sysconfig/named_fakezone_generator
{code}
В нём укажите следующие значения:
{code}
REDUCTOR_IP='10.0.0.1'
REDUCTOR_VERSION='7'
{code}
Если в сети используется несколько Carbon Reductor - выберите один любой.
h3. 3. Обращение к Carbon Reductor за списком доменов
Если SSH ключи отсутствуют, генерируем их:
{code}
ssh-keygen
{code}
Затем добавляем их на Carbon Reductor:
{code}
ssh-copy-id root@<ip адрес carbon reductor>
{code}
(!) Обязательно проверьте, что main.sh отрабатывает при ручном запуске перед автоматическим запуском.
Проверяем что:
* scp не запрашивает пароль
* новый файл со списком доменов скачивается
* и всё это применяется за приемлемое время (менее двух минут)
{code}
timeout -s 15 3500s /opt/named_fakezone_generator/main.sh
{code}
h3. 4. Настройка регулярного обновления
Добавляем задачу для cron: раз в 20 минут обновлять список доменов.
Ограничение по времени выполнения (timeout) сделано с большим запасом в качестве защиты от зависания скрипта.
{code}
echo '*/20 * * * * root timeout -s 15 3500s /opt/named_fakezone_generator/main.sh' > /etc/cron.d/named_fakezone_generator
{code}
h3. Примечания
Часть описанных действий может выполняться не от пользователя root, в документации используется именно он для простоты примера.
Если самостоятельная настройка схемы для работы от имени непривилегированного пользователя вызывает затруднения - используйте root.
*Принцип действия*
Список блокируемых зон:
{code}
/etc/named.reductor.zones
{code}
Файлы зон создаются на каждый блокируемый домен:
{code}
/etc/named/reductor_<домен который необходимо редиректить>.conf
{code}
Больше подробностей можно узнать непосредственно посмотрев файлы:
* /opt/named_fakezone_generator/generate_bind_configs.sh
* /opt/named_fakezone_generator/reductor_named_domain.tmplt.