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