Проблемы и решения
Как массово поменять тариф?
Если для задания тарифного плана использовался именованный профиль, то достаточно поменять настройки тарифного плана в этом профиле и они автоматически применятся ко всем абонентам с данным именем тарифного плана
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'ов, а входящий трафик идет альтернативным маршрутом и не попадает под правила загруженные в СКАТ.