Обработка DNS-запросов и подмена DNS-ответов [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_options:dns_substitution [2025/07/24 14:50] atereschenkodpi:dpi_options:dns_substitution [2025/09/22 11:46] (текущий) atereschenko
Строка 4: Строка 4:
 =====Назначение===== =====Назначение=====
 Услуга подмены DNS-ответов позволяет изменять IP-адреса, возвращаемые DNS-сервером для определенных доменных имен. Это позволяет влиять на ответы DNS-серверов, переопределяя IP-адреса в ответах сервера для определённых типов DNS-запросов, указанных в настройках услуги.\\ Услуга подмены DNS-ответов позволяет изменять IP-адреса, возвращаемые DNS-сервером для определенных доменных имен. Это позволяет влиять на ответы DNS-серверов, переопределяя IP-адреса в ответах сервера для определённых типов DNS-запросов, указанных в настройках услуги.\\
-Эта услуга эффективна для контроля DNS-запросов клиентов и перенаправления их на альтернативные IP-адреса. Используется для балансировки трафика определенных ресурсов между разными серверами на основании IP адреса. +Эта услуга эффективна для контроля DNS-запросов клиентов и перенаправления их на альтернативные IP-адреса. Используется для балансировки трафика определенных ресурсов между разными серверами на основании IP адреса. \\ [[dpi:dpi_options:opt_li:li_ipfix#настройка_экспорта_dns-ответов_или_dns-запросов|Описание настройки экспорта DNS-запросов и DNS-ответов]]
  
 ====Схема работы услуги==== ====Схема работы услуги====
Строка 20: Строка 20:
 Возможные действия с DNS-запросами: Возможные действия с DNS-запросами:
   * ''ya.ru HTTPS #drop'' — DPI отбрасывает DNS-запрос с HTTPS типом записи   * ''ya.ru HTTPS #drop'' — DPI отбрасывает DNS-запрос с HTTPS типом записи
-  * ''ya.ru HTTPS #drop'' — DPI отвечает домен не сущетсвует на DNS-запрос с HTTPS типом записи +  * ''ya.ru HTTPS #nxdomain'' — DPI отвечает домен не сущетсвует на DNS-запрос с типом записи HTTPS 
-  * ''ya.ru A #nxdomain'' — DPI отправляет ответ об отсутствии домена +  * ''ya.ru A #nxdomain'' — DPI отправляет ответ об отсутствии домена с типом записи A 
-  * ''mail.ru MX smtp.googlemail.com'' — в данном случае на запрос mail.ru с типом ''MX'' должен быть получен ответ что домен mail.ru имеет почтовый сервер по адресу smtp.googlemail.co с ''preference'' равным 10.+  * ''mail.ru MX smtp.googlemail.com'' — в данном случае на запрос mail.ru с типом ''MX'' должен быть получен ответ что домен mail.ru имеет почтовый сервер по адресу smtp.googlemail.com с ''preference'' равным 10.
 =====Настройка===== =====Настройка=====
   - Создать текстовый файл и добавить в него правила обработки DNS-запросов, указав: доменное имя, тип DNS-записи, или действие, или IP-адрес или домен для записи с типом MX, который будет указан в ответе для данного домена. Поддерживается указание ''*'' для доменов. <code bash>vi test.txt   - Создать текстовый файл и добавить в него правила обработки DNS-запросов, указав: доменное имя, тип DNS-записи, или действие, или IP-адрес или домен для записи с типом MX, который будет указан в ответе для данного домена. Поддерживается указание ''*'' для доменов. <code bash>vi test.txt
Строка 32: Строка 32:
 mail.ru MX smtp.googlemail.com mail.ru MX smtp.googlemail.com
 </code> </code>
-  - Утилитой ''dns2dic'' конвертировать текстовый файл в бинарный формат, понятный для DPI:<code bash>cat test.txt|dns2dic test.bin</code>+  - Утилитой ''dns2dic'' конвертировать текстовый файл в бинарный формат, понятный для DPI:<code bash>cat test.txt|dns2dic test.bin</code> Обратная конвертация утилитой dic2dns.
   - Поместить полученный бинарный файл в директорию, откуда его будет читать DPI:<code bash>cp test.bin /var/lib/dpi/dns.bin</code>   - Поместить полученный бинарный файл в директорию, откуда его будет читать DPI:<code bash>cp test.bin /var/lib/dpi/dns.bin</code>
   - Создать профиль услуги:<code bash>fdpi_ctrl load profile --service 19 --profile.name test_193 --profile.json '{ "dns_list" : "/var/lib/dpi/dns.bin" }'</code>   - Создать профиль услуги:<code bash>fdpi_ctrl load profile --service 19 --profile.name test_193 --profile.json '{ "dns_list" : "/var/lib/dpi/dns.bin" }'</code>
Строка 54: Строка 54:
 fdpi_ctrl del --service 19 --profile.name test_193 --vchannel 1</code> fdpi_ctrl del --service 19 --profile.name test_193 --vchannel 1</code>
  
 +
 +Поиск абонентов, которым подключена услуга с заданным именем профиля:
 +
 +<code bash>fdpi_ctrl list all --service 19 --profile.name test_193</code>
 +
 +
 +Удаление именованного профиля (не должно быть абонентов, которые его используют):
 +
 +<code bash>fdpi_ctrl del profile --service 19  --profile.name test_193</code>
 +
 +Изменение настроек (профиля) услуги (новые настройки применятся ко всем абонентам с заданным профилем услуги):
 +<code bash>
 +fdpi_ctrl load profile --service 19 --profile.name test_193 --profile.json '{ "dns_list" : "/var/lib/dpi/dns.bin" }'
 +</code>