====== День/Ночь для Accel ====== Только для debian ===== Установка модуля ipt_ratelimit ===== Действуем согласно инструкции https://github.com/aabc/ipt-ratelimit Устанавливаем необходимые пакеты:\\ apt-get install -y module-assistant iptables-dev pkg-config git m-a prepare Создадим папку /var/mikbill \\ mkdir /var/mikbill Перейдем в неё и скачаем код модуля \\ cd /var/mikbill git clone https://github.com/aabc/ipt-ratelimit.git Перейдем в исходники и соберем модуль:\\ cd ipt-ratelimit make all install Обновим информацию в системе\\ depmod Проверяем что все успешно выполнив modinfo xt_ratelimit.ko ===== Настройка ===== ==== MySQL ==== Необходимо создать пользователя в mysql для того что бы сервер ацеля смог получать необходимую информацию.\\ Замените 10.0.0.1 на IP ацеля с которого он будет подключаться к базе Данные команды вводятся в консоле **mysql сервера**!\\ CREATE USER 'accel'@'10.0.0.1' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'accel'@'10.0.0.1'; FLUSH PRIVILEGES; ==== Тарифы ==== В тарифах необходимо включить шейпера и заполнить информацию о входящей\исходящей\\ скоростях для интервалов 1 и 2\\ {{:billing:howto:тариф.jpg?nolink&|}}\\ Время можно не трогать так как скрипт его не учитывает. ==== Полисер ==== Установим mysql-client:\\ apt-get install mysql-client Скачаем {{:billing:howto:policer.tar.gz|архив}} с файлами и распакуем его\\ cd /var/mikbill wget https://wiki.mikbill.ru/_media/billing/howto/policer.tar.gz tar xvf policer.tar.gz Обновим владельца и права:\\ chown root:root -R /var/mikbill/policer/ chmod +x /var/mikbill/policer/*.sh Перейдем в папку /var/mikbill/policer\\ cd /var/mikbill/policer в файле config.cfg необходимо указать:\\ # IP адрес ацеля по которому он связан с радиусом BRASIP="10.0.0.1" # Параметры подключения к базе DBADDRESS="10.0.0.2" DBLOGIN="accel" DBPASS="password" DBNAME="mikbill" # В экстренных ситуациях очень сильно ограничить скорость kb # активация запуском скрипта limit_hard.sh # пример: переключение на слабую резервную линию HARD_LIMIT_RX="1024" HARD_LIMIT_TX="1024" ==== Accel ==== В настройках ацеля необходимо отключить модуль **shaper**, активировать модуль **pppd_compat** и добавить параметры:\\ [pppd-compat] ip-up=/var/mikbill/policer/interface_up.sh ip-down=/var/mikbill/policer/interface_down.sh radattr-prefix=/tmp/radattr verbose=1 ==== iptables ==== eth0 - Аплоад интерфейс\\ rx - имя листа ratelimit для входящего трафика\\ tx - имя листа ratelimit для исходящего трафика\\ iptables -A FORWARD -i eth0 -m ratelimit --ratelimit-set rx --ratelimit-mode dst -j DROP iptables -A FORWARD -o eth0 -m ratelimit --ratelimit-set tx --ratelimit-mode src -j DROP ==== cron ==== # в 01:00 ночи активируем ночной интервал 00 01 * * * root cd /var/mikbill/policer && ./limit_night.sh > /dev/null 2>&1 # в 09:00 активируем дневной интервал 00 09 * * * root cd /var/mikbill/policer && ./limit_day.sh > /dev/null 2>&1 ===== Debug ===== После настройки и перезапуска службы ацель, в папке **/tmp** будут создаваться файлы вида:\\ ipoe123_shaper.log где ipoe123 - название интерфейса абонента при авторизации, в него будет заноситься информация какая скорость ему была установлена. файлы /proc/net/ipt_ratelimit/rx /proc/net/ipt_ratelimit/tx содержат общую информацию по установленным скоростям, количеству срабатываний и т.д.