Полисинг для Captive Portal

Выделим список протоколов, которые будут доступны в режиме Captive Portal в отдельный класс, как описано в разделе Назначение приоритетов.

В типичном случае это будут протоколы http/https/dns/icmp.
http cs0 https cs0 dns cs0 icmp cs0 default cs1 bittorrent cs7

Создадим файл конфигурации captive_portal.cfg, в котором укажем ограничение на доступную полосу в режиме Captive Portal для каждого из 8 классов 1)Подробнее про управление полосой.

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