====== Назначение приоритетов в зависимости от протокола ======
{{indexmenu_n>3}}
Приоритеты протоколов загружаются из файла **/etc/dpi/protocols.dscp**
Подготовка файла состоит из двух этапов:\\
Создается тестовый файл со списком протоколов с приоритетами, который затем конвертируется
во внутренний формат с помощью специальной утилиты.
Для применения изменений достачно перечитать конфигурацию dpi командой service fastdpi reload
===== Формат файла со списком протоколов и приоритетов: =====
Каждая строка файла представляется в формате имя_протокола <пробел> значение_dscp, **например**:
dns 0x3F
skype drop
compressnet 010
ftp keep
http cs0
default keep
[[dpi:dpi_options:opt_statistics:statistics_info|Полный список протоколов.]]\\
Значение DSCP задается [[dpi:dpi_options:opt_priority:dscp_table|в числовом (10-,16- или 8-ричном) формате или с помощью текстовой аббревиатуры.]]
Ключевое слово означает:
* drop - пакеты дальше передавать не нужно (их нужно отбрасывать)\\
* keep - значение приоритета изменять не нужно, т.е. сохранить его текущее значение (обычно 0)\\
* default - означает "для всех остальных протоколов" и его позволяет существенно упростить и сократить процесс создания конфигурационного файла
Для того чтобы применение 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
где
* cs0 соответствует приоритету 0, class0 соответственно
* cs1 - приоритету 1, class1
* cs7 - приоритету 7, низший класс
Данная разметка учитывается в правилах полисинга по классам.
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 - она атомарная, не используйте копирование