Проблемы и решения

Как массово поменять тариф?

Если для задания тарифного плана использовался именованный профиль, то достаточно поменять настройки тарифного плана в этом профиле и они автоматически применятся ко всем абонентам с данным именем тарифного плана

fdpi_ctrl load profile --policing rate_10_night.cfg --profile.name тариф_10

Если же профили полисинга анонимные (без имени), то сменить один тариф на другой можно следующим образом, пример для rate10.cfg bp примера Управление полосой абонента для тарифного плана:

fdpi_ctrl list all --policing | grep 'rrate=1250000(10.00mbit)' | awk '{ print $1}'>ll.tmp; fdpi_ctrl load --policing policing.htb.cng --file ll.tmp;

или в случае наличия подготовленного списка:

fdpi_ctrl load --policing policing.htb.cng --file my_rate10_ip.lst

где в my_rate10_ip.lst список IP, например такого вида:

# cat my_rate10_ip.lst
10.64.66.110
10.64.66.112
10.64.66.114

Как провести диагностику распределения полосы абонента?

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

Включаем в /etc/dpi/fastdpi.conf параметр

plc_trace_ip=109.234.130.131

Перезачитываем конфигурацию:

service fastdpi reload

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

fdpi_ctrl load --policing rat_HTB.cfg --ip 109.234.130.131

Проверяем:

fdpi_ctrl list all --policing

Autodetected fastdpi params : dev='em3', port=29000
connecting 217.74.168.149:29000 …

109.234.130.131 HTB dnlnk_rate=0.00mbit dnlnk_ceil=0.00mbit
rrate=500000(4.00mbit) rburst=250000(2.00mbit) rceil=500000(4.00mbit)
rcburst=250000(2.00mbit) rate0=0.51mbit ceil0=3.00mbit rate1=0.01mbit
ceil1=1.00mbit rate2=0.01mbit ceil2=1.00mbit rate3=0.01mbit
ceil3=1.00mbit rate4=0.01mbit ceil4=1.00mbit rate5=0.01mbit
ceil5=1.00mbit rate6=0.01mbit ceil6=1.00mbit rate7=0.01mbit
ceil7=1.00mbit HTB_INBOUND rrate=250000(2.00mbit)
rburst=125000(1.00mbit) rceil=375000(3.00mbit)
rcburst=187500(1.50mbit) rate0=0.51mbit ceil0=2.00mbit rate1=0.01mbit
ceil1=1.00mbit rate2=0.01mbit ceil2=1.00mbit rate3=0.01mbit
ceil3=1.00mbit rate4=0.01mbit ceil4=1.00mbit rate5=0.01mbit
ceil5=1.00mbit rate6=0.01mbit ceil6=1.00mbit rate7=0.01mbit ceil7=1.00mbit

Правила загружены.

Проверяем лог статистики по данному IP. Если трафик есть для данного IP то лог не пустой, если пустой - трафик через СКАТ не идет либо ориентация интерфейсов не верная (in_dev должен смотреть в сторону абонентов). Смотрим:

grep -A 7 "109.234.130.131" /var/log/dpi/fastdpi_stat.log | more

Исходящий:

[STAT ][2014/10/30-19:25:16:441786] HTB : Statistics (IP=109.234.130.131) dscp=7, if 'dna2' :
DSCP_actual stats Rcvd: [358187060 bytes][47.73 Mbit/sec]
[232589 pkts ][3'874.07 pkt/sec]
Drop: [354236960 bytes][98.90 %]
[230024 pkts ][98.90 %]
Send: [0 bytes][0.00 Mbit/sec]
[0 pkts ][0.00 pkt/sec]
Esnd: [0 err_pkts][0.00 %]

входящий > 0:

[STAT ][2014/10/30-19:25:16:441793] HTB : Statistics (IP=109.234.130.131) dscp=0, if 'dna3' :
DSCP_actual stats Rcvd: [1018 bytes][0.00 Mbit/sec]
[10 pkts ][0.17 pkt/sec]
Drop: [0 bytes][0.00 %]
[0 pkts ][0.00 %]
Send: [828 bytes][0.00 Mbit/sec]
[9 pkts ][0.15 pkt/sec]
Esnd: [0 err_pkts][0.00 %]

[STAT ][2014/10/30-19:25:16:441834] HTB : Statistics (IP=109.234.130.131) dscp=7, if 'dna3' :
DSCP_actual stats Rcvd: [0 bytes][0.00 Mbit/sec]
[0 pkts ][0.00 pkt/sec]
Drop: [0 bytes][0.00 %]
[0 pkts ][0.00 %]
Send: [3950100 bytes][0.53 Mbit/sec]
[2565 pkts ][42.72 pkt/sec]
Esnd: [0 err_pkts][0.00 %]

Следовательно исходящий трафик ограничивается, определяется наличием drop'ов, а входящий трафик идет альтернативным маршрутом и не попадает под правила загруженные в СКАТ.