Содержание

Назначение приоритетов в зависимости от протокола

Приоритеты протоколов загружаются из файла /etc/dpi/protocols.dscp

Подготовка файла состоит из двух этапов:
Создается тестовый файл со списком протоколов с приоритетами, который затем конвертируется во внутренний формат с помощью специальной утилиты.

Для применения изменений достачно перечитать конфигурацию dpi командой

service fastdpi reload

Формат файла со списком протоколов и приоритетов:

Каждая строка файла представляется в формате имя_протокола <пробел> значение_dscp, например:

dns         0x3F
skype       drop
compressnet 010
ftp         keep
http        cs0
default     keep

Ключевое слово означает:

Для того чтобы применение drop произошло только после разбора TLS и определения SNI, необходимо добавить в fastdpi.conf параметр smartdrop = 1. Это означает: если для прокола задан drop, то он будет отложен, пока не будет разобран TLS или ошибка разбора TLS. Параметр горячий, достаточно reload.

Настройка разметки

1. Создаем файл protocols.txt c описанием групп протоколов, которые мы хотим выделить из общего трафика, и назначенных им приоритетов (классов):

dns cs0
ICMP cs0
http cs0
https cs0
QUIC cs1
default cs2
bittorrent cs7

где

Данная разметка учитывается в правилах полисинга по классам.

2. Конвертируем его в формат dscp, который понимает fastDPI

cat protocols.txt|lst2dscp /etc/dpi/protocols.dscp
Есть возможность во входных файлах утилиты lst2dscp добавлять комментарии (#) и пустые линии.

3. Применяем настройки

service fastdpi reload

Перенос настроек в рабочий каталог в случае сохранения backup конфигурации, необходимо сделать reload после переноса:

mv protocols.dscp  /etc/dpi/protocols.dscp
Используйте только команду mv - она атомарная, не используйте копирование