Проблема с организацией динамического шейпирования без разрыва PPPоE сессии
Немного о системе ОС Red Hat EL 5.4
UTM5 - 5.2.1-007
Использую модули rfw, radius и dynashape
Задача создать безлимитный тарифный план, допустим 512кб с ограничением по трафику допустим 500мб при превышении данного лимита понижать скорость до 64кб
Прочитал всю доку и все что нашел на форуме
http://www.netup.ru/UTM5/articles.php?n=50
http://www.netup.ru/UTM5/articles.php?n=39
http://www.netup.ru/UTM5/articles/dynashape.php
основная статья которая помогла все организовать
http://www.netup.ru/UTM5/articles.php?n=40
при превышении лимита трафика срабатывает шейпер запускается скрипит (запуск которого прописан rfw5.cfg в строке firewall_path=/home/test)
текст скрипта взят с статьи
http://www.netup.ru/UTM5/articles.php?n=40
#!/bin/bash
if="eth0"
echo $*
echo "First create: tc qdisc add dev $if root handle 1: htb"
case "$6" in
0)
iptables -t mangle -D FORWARD -s 0/0 -d $2/$3 -j MARK --set-mark $1
tc filter del dev $if parent 1: protocol ip prio 3 handle $1 fw classid 1:$1
tc class del dev $if parent 1:1 classid 1:$1 htb rate $5kbit burst 20k
;;
1)
iptables -t mangle -A FORWARD -s 0/0 -d $2/$3 -j MARK --set-mark $1
tc filter add dev $if parent 1: protocol ip prio 3 handle $1 fw classid 1:$1
tc class add dev $if parent 1:1 classid 1:$1 htb rate $5kbit burst 20k
;;
2)
tc class change dev $if parent 1:1 classid 1:$1 htb rate $5kbit burst 20k
;;
*)
echo "Usage: `basename $0` {UID IP UBITS UMASK BANDWIDTH [0|1|2]}" >&2
exit 64
;;
esac
проблема в том как передать значения пользователей «UID IP UBITS UMASK BANDWIDTH»
и
В качестве последнего параметра надо указать значение 0, 1 или 2 в зависимости от типа события:
0 – Снятие ограничений;
1 – Установление ширины;
2 – Изменение ширины.
Создал правило в качестве событий устанавливал Установление ширины, Изменение ширины и Снятие ограничений
Но нечего путного не выходит скрипт срабатывает но не передаются данные пользователей и параметр скрипта [0|1|2]
Подскажите с как правильно составить правила фаервола для передачи данных пользователя скрипту, если можно примеры под linux (iptables, iproute2) потому как мои попытки нечему не привели
dynashape + iptables +iproute2 помощь в настройке
-
- Сообщения: 11
- Зарегистрирован: Пн июн 09, 2008 09:18
- Откуда: Махачкала
-
- Сообщения: 11
- Зарегистрирован: Пн июн 09, 2008 09:18
- Откуда: Махачкала
-
- Сообщения: 11
- Зарегистрирован: Пн июн 09, 2008 09:18
- Откуда: Махачкала
при запуске скрипта вручную с указанием всех параметров
вылазит следующий баг
./test 2 10.10.133.12 32 255.255.255.255 0 1
2 10.10.133.12 32 255.255.255.255 0 1
First create: tc qdisc add dev eth0 root handle 1: htb
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
"rate" is required.
что можно с этим делать?
вылазит следующий баг
./test 2 10.10.133.12 32 255.255.255.255 0 1
2 10.10.133.12 32 255.255.255.255 0 1
First create: tc qdisc add dev eth0 root handle 1: htb
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
"rate" is required.
что можно с этим делать?
Dynashape 5.2.1-007
Такая же история, не разобрались что с этим делать?Serjik_M_KZ писал(а):при запуске скрипта вручную с указанием всех параметров
вылазит следующий баг
./test 2 10.10.133.12 32 255.255.255.255 0 1
2 10.10.133.12 32 255.255.255.255 0 1
First create: tc qdisc add dev eth0 root handle 1: htb
RTNETLINK answers: Invalid argument
We have an error talking to the kernel
"rate" is required.
что можно с этим делать?
Если ещё актуально...
> First create: tc qdisc add dev eth0 root handle 1: htb
Внимательнее читаем документацию.
> RTNETLINK answers: Invalid argument
Правильно ли записал имена интерфейсов?
вывод ifconfig в студию.
И по приведённому скрипту можно шейпить только исходящий трафф на одном интерфейсе (в данном случае eth0)
> First create: tc qdisc add dev eth0 root handle 1: htb
Внимательнее читаем документацию.
Далее....
Предполагается, что предварительно выполнены следующие команды:
tc qdisc add dev eth0 root handle 1: htb
– создана очередь (qdisc, queueing discipline), ассоциированная со входящим интерфейсом eth0, имеющая идентификатор 1. Для очереди выбран метод упорядочения htb (Hierarchy Token Bucket), отличающийся простотой и высоким быстродействием.
tc class add dev eth0 parent 1: classid 1:1 htb rate 50mbit ceil 100mbit burst 200k
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1mbit burst 20k
...
> RTNETLINK answers: Invalid argument
Правильно ли записал имена интерфейсов?
вывод ifconfig в студию.
И по приведённому скрипту можно шейпить только исходящий трафф на одном интерфейсе (в данном случае eth0)