Страница 1 из 1

mpd+шейпинг стартовыми скриптами

Добавлено: 2007-06-11 23:02:14
schizoid
вот решил сделать шейпинг в мпд с помощью пайпов.
понаписывал и прикрутил вот такие скрипты:

# cat up.sh

Код: Выделить всё

#!/bin/sh

###параметры получаемые при выполнении скрипта###
##$1   $2        $3            $4      $5
##ng0 inet 192.168.0.100/32 10.0.0.1 eugene

ipfw=/sbin/ipfw
awk=/usr/bin/awk
i=`echo $4| awk -F . '{print $4}'`      #номер последней цифры для номера правила фаервола, номер pipe
s=`cat /work/public/admin/users/users |grep $5| awk '{print $3}'`  #скорость

#проверка для последней цифры в номере фаервола
if [ $i -le 9 ]
  then
        n=0$i
  else
        n=$i
fi

ipfw add 5$n pipe $n ip from any to $4          #pipe's IN
ipfw add 7$n pipe 1$n ip from $4 to any         #pipe's OUT
#pipe's speed
ipfw pipe $n config bw $s
ipfw pipe 1$n config bw $s
# cat down.sh

Код: Выделить всё

#!/bin/sh

###параметры получаемые при выполнении скрипта###
##$1   $2    $3
##ng0 inet  eugene
ipfw=/sbin/ipfw
awk=/usr/bin/awk
i=`cat /work/public/admin/users/users |grep $3| awk '{print $2}'| awk -F . '{print $4}'`      #номер последней цифры для номера правила фаервола, номер pipe

#проверка для последней цифры в номере фаервола
if [ $i -le 9 ]
  then

        n=0$i
  else
        n=$i
fi

ipfw pipe delete $n
ipfw pipe delete 1$n
ipfw delete 5$n
ipfw delete 7$n
# cat /work/public/admin/users/users

Код: Выделить всё

eugene 10.0.0.1 160Kbit/s
ageNT 10.0.0.2 160Kbit/s
chetkiller 10.0.0.3 160Kbit/s
sirius 10.0.0.4 160Kbit/s
TEAC 10.0.0.5 160Kbit/s
whatsup 10.0.0.6 160Kbit/s
#TANYA 10.0.0.7 160Kbit/s
Virus 10.0.0.8 160Kbit/s
Crazy 10.0.0.9 160Kbit/s
#AndrewNokia 10.0.0.10 160Kbit/s
Rigik 10.0.0.11 160Kbit/s
kraft 10.0.0.12 115Kbit/s
damanea 10.0.0.13 160Kbit/s
LEON 10.0.0.14 160Kbit/s
ruslan 10.0.0.15 160Kbit/s
WLAD 10.0.0.16 160Kbit/s
moisey 10.0.0.17 160Kbit/s
happy 10.0.0.18 160Kbit/s
horror 10.0.0.19 160Kbit/s
LIH@CHOV 10.0.0.20 160Kbit/s
#ingener 10.0.0.21 160Kbit/s
addon 10.0.0.22 160Kbit/s
roman 10.0.0.23 160Kbit/s
Bunya 10.0.0.24 115Kbit/s
messer 10.0.0.25 160Kbit/s
Alena 10.0.0.26 160Kbit/s
kranium 10.0.0.27 160Kbit/s
babay 10.0.0.28 160Kbit/s
#maks 10.0.0.29 160Kbit/s
vika 10.0.0.30 160Kbit/s
matvey 10.0.0.31 160Kbit/s
...
теперь собсно вопрос.
если все пайпы статикой прописаны в фаере, то все работает ок. ни глюков ни непоняток. так уже больше 2 или 3 месяцев.

но со скриптами вышел казус.
1. у некоторых юзеров все работает ок.
2. у некоторых работает несколько секунд после подключения, потом отваливается pipe вида

Код: Выделить всё

ipfw pipe $n config bw $s 
при этом все остальное на месте. т.е. правила в фаере

Код: Выделить всё

 ipfw add 5$n pipe $n ip from any to $4          #pipe's IN
ipfw add 7$n pipe 1$n ip from $4 to any         #pipe's OUT
, и пайп

Код: Выделить всё

ipfw pipe 1$n config bw $s
на месте. заметил, вроде как, что пайт отваливается, когда кто-нить из юзеров отключается. (хотя не факт)
3. у некоторых вообще пайпы

Код: Выделить всё

ipfw pipe $n config bw $s
ipfw pipe 1$n config bw $s
 
не создаются, но правила в фаере добавляются

Код: Выделить всё

ipfw add 5$n pipe $n ip from any to $4          #pipe's IN
ipfw add 7$n pipe 1$n ip from $4 to any         #pipe's OUT

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

Re: mpd+шейпинг стартовыми скриптами

Добавлено: 2009-03-08 23:03:52
Alex Keda
чем кончилось-то?