Всем привет! Возникла такая проблема с IProuteВых данные:
Комп - Atlon 900, 512Mb, 40Gb
Ubuntu 10, ядро 2.6.32
создал вот такой скрипт для деления общего интернет канала:
#!/bin/shipr=/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, ошибка таже.
Кто сталкивался, подскажите плиз.
>[оверквотинг удален]
>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 и как это переводится на русский язык ? Дык какого оно на старте вызывается, не задумался ? Задумайся...
При старте ошибка возникает в секции shaper_on() в строке $ipr qdisc del dev eth1 root &> /dev/null, т.к. скрипт пытается удалить не существующую дисциплину. Это не критично.
>При старте ошибка возникает в секции shaper_on() в строке $ipr qdisc del dev eth1 root &> /dev/null, т.к. скрипт пытается удалить не существующую дисциплину. Это не критично.пасиб, вроде решил: поменял &> на 2> (накопал в нете) и ошибка исчезла, правда я так и не понял почему, ведь в первом варианте работает же у людей...