URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89290
[ Назад ]

Исходное сообщение
"Помогите с IProute"

Отправлено wellcom , 04-Июл-10 15:38 
Всем привет! Возникла такая проблема с IProute

Вых данные:
Комп - Atlon 900, 512Mb, 40Gb
Ubuntu 10, ядро 2.6.32
создал вот такой скрипт для деления общего интернет канала:
#!/bin/sh

ipr=/usr/sbin/tc

shaper_off() {
$ipr qdisc del dev eth1 root &> /dev/null # eth1 - смотрит в сторону юзеров
$ipr qdisc del dev eth0 root &> /dev/null # eth0 - смотрит в сторону ДСЛ модема
}

shaper_on() {
$ipr qdisc del dev eth1 root &> /dev/null
$ipr qdisc add dev eth1 root handle 1: htb default 17
$ipr class add dev eth1 parent 1:  classid 1:1  htb rate 100Mbit

$ipr class add dev eth1 parent 1: classid 1:1001 htb rate 512Kbit ceil 600Kbit prio 5
$ipr qdisc add dev eth1 parent 1:1001 handle 1001 tbf rate 512Kbit buffer 10Kb/8 limit 15Kb mtu 1500
$ipr filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.1.1.21 match ip sport 3128 0xffff classid 1:1001

$ipr class add dev eth1 parent 1: classid 1:1002 htb rate 512Kbit ceil 600Kbit prio 5
$ipr qdisc add dev eth1 parent 1:1002 handle 1002 tbf rate 512Kbit buffer 10Kb/8 limit 15Kb mtu 1500
$ipr filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.1.1.23 match ip sport 3128 0xffff classid 1:1002

$ipr class add dev eth1 parent 1: classid 1:1004 htb rate 512Kbit ceil 600Kbit prio 5
$ipr qdisc add dev eth1 parent 1:1004 handle 1004 tbf rate 512Kbit buffer 10Kb/8 limit 15Kb mtu 1500
$ipr filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.1.1.51 match ip sport 3128 0xffff classid 1:1004
}

list (){
echo '================================' eth1 '================================'
$ipr -s -d qdisc show dev eth1
$ipr -s -d class show dev eth1
$ipr -s  filter show dev  eth1
}

case "$1" in

start)
shaper_on
;;

stop)
shaper_off
;;

show)
list
;;

restart)
shift
$0 stop
$0 start "$@"
;;

*)
echo "Usage: `basename $0` {start|stop|restart|show}"
esac


....после запуска даного скрипта, скорость режет, но пишет ошибку:

RTNETLINK answers: No such file or directory

начал вычислять коментированием всех строк, какая из них выдает ошибку, и вычислил, что ошибку выдает во ети две строчки, что по отдельности, что вместе:
shaper_off() {
$ipr qdisc del dev eth1 root &> /dev/null # eth1 - смотрит в сторону юзеров
$ipr qdisc del dev eth0 root &> /dev/null # eth0 - смотрит в сторону ДСЛ модема
}

при этом, даю команду из строки tc qdisc del dev eth1 root &> /dev/null ошибки не выдает, пытался ставить вместо $ipr - tc, ошибка таже.

Кто сталкивался, подскажите плиз.


Содержание

Сообщения в этом обсуждении
"Помогите с IProute"
Отправлено PavelR , 05-Июл-10 07:07 
>[оверквотинг удален]
>RTNETLINK answers: No such file or directory
>
>начал вычислять коментированием всех строк, какая из них выдает ошибку, и вычислил,
>что ошибку выдает во ети две строчки, что по отдельности, что
>вместе:
> shaper_off() {
>$ipr qdisc del dev eth1 root &> /dev/null # eth1 - смотрит в сторону юзеров
>$ipr qdisc del dev eth0 root &> /dev/null # eth0 - смотрит в сторону ДСЛ модема
>}
>

какбэ я думаю ты должен понимать, что такое shaper_off и как это переводится на русский язык ? Дык какого оно на старте вызывается, не задумался ? Задумайся...



"Помогите с IProute"
Отправлено aaa , 05-Июл-10 09:26 
При старте ошибка возникает в секции shaper_on() в строке $ipr qdisc del dev eth1 root &> /dev/null, т.к. скрипт пытается удалить не существующую дисциплину. Это не критично.

"Помогите с IProute"
Отправлено wellcom , 05-Июл-10 22:20 
>При старте ошибка возникает в секции shaper_on() в строке $ipr qdisc del dev eth1 root &> /dev/null, т.к. скрипт пытается удалить не существующую дисциплину. Это не критично.

пасиб, вроде решил: поменял &> на 2> (накопал в нете) и ошибка исчезла, правда я так и не понял почему, ведь в первом варианте работает же у людей...