====== Полисинг для Captive Portal ======
{{indexmenu_n>5}}
Выделим список протоколов, которые будут доступны в режиме Captive Portal в отдельный класс, как описано в разделе [[dpi:dpi_options:opt_priority:priority_config|Назначение приоритетов]].
В типичном случае это будут протоколы http/https/dns/icmp.
http cs0
https cs0
dns cs0
icmp cs0
default cs1
bittorrent cs7
Создадим файл конфигурации captive_portal.cfg, в котором укажем ограничение на доступную полосу
в режиме Captive Portal для каждого из 8 классов (([[dpi:dpi_options:opt_bandwidth_mgmt|Подробнее про управление полосой]])).
htb_inbound_root=rate 1mbit
htb_inbound_class0=rate 8bit ceil 1mbit
htb_inbound_class1=rate 8bit ceil 8bit
htb_inbound_class2=rate 8bit ceil 8bit
htb_inbound_class3=rate 8bit ceil 8bit
htb_inbound_class4=rate 8bit ceil 8bit
htb_inbound_class5=rate 8bit ceil 8bit
htb_inbound_class6=rate 8bit ceil 8bit
htb_inbound_class7=rate 8bit ceil 8bit
htb_root=rate 1mbit
htb_class0=rate 8bit ceil 1mbit
htb_class1=rate 8bit ceil 8bit
htb_class2=rate 8bit ceil 8bit
htb_class3=rate 8bit ceil 8bit
htb_class4=rate 8bit ceil 8bit
htb_class5=rate 8bit ceil 8bit
htb_class6=rate 8bit ceil 8bit
htb_class7=rate 8bit ceil 8bit
* htb_root: корневой класс, в котором указан общий размер полосы, в рамках которого проводится перераспределение полосы\\
* rate: минимальный размер полосы\\
* ceil: максимальный размер полосы, который можно заимствовать из корневого класса если полоса свободна
Когда у абонента закончились деньги на счету, помещаем его в Captive Portal:
fdpi_ctrl load --policing captive_portal.cfg --ip 192.168.0.1
fdpi_ctrl load --service 5 --ip 192.168.0.1
Когда деньги поступили на счет, разблокируем абонента
fdpi_ctrl load --policing rate_plan1.cfg --ip 192.168.0.1
fdpi_ctrl del --service 5 --ip 192.168.0.1