Это старая версия документа!
Полисинг Виртуального канала (vChannel)
Когда у оператора есть несколько внешних (аплинков) или внутренних каналов часто возникает потребность контролировать в них "полку" и ограничивать низкоприоритетный трафик независимо друг от друга, так как балансировка трафика обычно неравномерна и каналы часто неравнозначны.
Настройка
В настройках DPI /etc/dpi/fastdpi.conf указывается способ, по которому он будет различать каналы:
vchannels_type=1
где
- 1 - означает, что для разных каналов используются разные сетевые интерфейсы
- 2 - означает, что будут использоваться разные VLAN
- 3 - означает, что будут определяться через CIDR
Далее нужно указать, какие физические интерфейсы, VLAN, CIDR образуют виртуальный канал. Для этого используется параметр vchannels_list в /etc/dpi/fastdpi.conf.
systemctl restart fastdpi
Для физических интерфейсов
vchannels_list=60-00.0:60-00.1|61-00.0:61-00.1
Если на СКАТ есть кроме них еще сетевые интерфейсы, указанные в настройке in_dev/out_dev, то трафик через них будет относиться к общему каналу, ограничения на который заданы в конфигурационном файле.
Для VLAN
vchannels_list=100:101-115|200:201:240-250
Для CIDR
Создать файл ipchannels.txt:
10.0.1.0/24 1 10.0.2.0/24 1 10.1.0.0/16 2
Сконвертировать
cat ipchannels.txt | as2bin /etc/dpi/ipchannels.bin
Пример задания:
fe80::0/8 1 cat ipchannels6.txt | as2bin6 /etc/dpi/ipchannels6.bin
Перечислить vChannels в /etc/dpi/fastdpi.conf:
vchannels_list=1|2
Настройка полисинга
Загрузим настройки полисинга для каналов 1 и 2
fdpi_ctrl load --policing vchannel1.cfg --vchannel 1 fdpi_ctrl load --policing vchannel2.cfg --vchannel 2
Где vchannel1.cfg это имя файла с описанием настроек полисинга (формат этого файла идентичен для общего канала, виртуальных каналов и для тарифного плана абонентов)
Пример конфигурационного файла:
htb_inbound_root=rate 10mbit htb_inbound_class0=rate 8bit ceil 10mbit htb_inbound_class1=rate 1mbit ceil 3mbit htb_inbound_class2=rate 8bit ceil 10mbit htb_inbound_class3=rate 8bit ceil 10mbit htb_inbound_class4=rate 8bit ceil 10mbit htb_inbound_class5=rate 8bit ceil 10mbit htb_inbound_class6=rate 100mbit static htb_inbound_class7=rate 8bit ceil 10mbit htb_root=rate 10mbit htb_class0=rate 8bit ceil 10mbit htb_class1=rate 1mbit ceil 3mbit htb_class2=rate 8bit ceil 10mbit htb_class3=rate 8bit ceil 10mbit htb_class4=rate 8bit ceil 10mbit htb_class5=rate 8bit ceil 10mbit htb_class6=rate 100mbit static htb_class7=rate 8bit ceil 10mbit
Проверим какие настройки загружены
fdpi_ctrl list all vchannel --policing
Настройки для виртуальных каналов хранятся во внутренней БД DPI, их можно на лету менять в процессе работы, и также как и для абонентов, настройки полисинга для канала можно загружать по имени из профиля, сохраненного ранее в БД.
fdpi_ctrl load --policing --profile.name vchannel_1 --vchannel 1
Также тарифный план можно задать в формате JSON
Настройка Черного списка - 4 услуга
Создается профиль аналогично как для абонента: Управление Черным списком.
fdpi_ctrl load --service 4 --profile.name test_blocked ––vchannel 2
Настройка Белого списка - 5 услуга
Создается профиль аналогично как для абонента: Управление Белым списком.
fdpi_ctrl load --service 5 --profile.name test_white ––vchannel 1