Подмена DNS-ответов

Назначение

Услуга подмены DNS-ответов позволяет изменять IP-адреса, возвращаемые DNS-сервером для определенных доменных имен. Это позволяет влиять на ответы DNS-серверов, переопределяя IP-адреса в ответах сервера для определённых типов DNS-запросов, указанных в настройках услуги.
Эта услуга эффективна для контроля DNS-запросов клиентов и перенаправления их на альтернативные IP-адреса. Она особенно полезна, когда нужно направить пользователя на ресурс, отличный от запрашиваемого.

Схема работы услуги

Клиент запрашивает выполняет определенный тип запроса к DNS-серверу (например, тип A).

DNS сервер возвращает ответ (для записи типа А это IP-адрес).

DPI видит запрос и проверяет, назначена ли услуга подмены для этого клиента.

Если услуга назначена, DPI модифицирует оригинальный ответ DNS-сервера, в зависимости от указанных правил в услуге.

DPI перенаправляет модифицированный ответ клиенту. При этом клиент не замечает модификации и считает ответ легитимным.

Настройка

Создать текстовый файл и добавить в него правила подмены для DNS, указав доменное имя, тип DNS-записи и IP-адрес, который будет указан в ответе для данного домена:

vi test.txt google.com A 1.2.3.4 example.com A 5.6.7.8

Утилитой dns2dic конвертировать текстовый файл в бинарный формат, понятный для DPI:

cat test.txt|dns2dic test.bin

Поместить полученный бинарный файл в директорию, откуда его будет читать DPI:

cp test.bin /var/lib/dpi/dns.bin

Выполнить reload для перезагрузки конфигурации DPI и чтения нового списка подмен:

service fastdpi reload

Управление

Формат команды:

fdpi_ctrl [команда] --service 19 [список опций] [login или vchannel]

Подключение услуги:

fdpi_ctrl load --service 19 --login test #или fdpi_ctrl load --service 19 --vchannel 1

Отключение услуги:

fdpi_ctrl del --service 19 --login test #или fdpi_ctrl del --service 19 --vchannel 1