Автор Тема: Проблем с Shell скрипт за НТВ  (Прочетена 2328 пъти)

GuessWho

  • Напреднали
  • *****
  • Публикации: 14
    • Профил
Такаа .... след дълга и мъчителна битка с Load Balancing-а (м/у другото ако някой го интерисува скрипта за лоад балансинг нека ми пише ЛС) стигнах до момента в който трябва да си изградя шейповете за интерфейсите и за клиентите. Спрях се на НТВ ....
Тъй като правилата ми дойдоха в повечко (а и м/у другото немога да се оправя с класовете нс ТС-то) се опитах да проявя малко творчество, като взех кеша от НТВ-то и по него да си направя направя едно Shell-че с което да се прескочи момента в които трябва да се създадат "928437693847698346" фаила за отделните интерфейси и отделните клиенти. Като замисъл нали ми се стори мн добре докато не стигнах момента в който да напиша "./rc.shape start" :) Започна да ми връща съобщение:

RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
...............

и така без да спира и разбира се никакъв ефект освен че изгубих връзка със сървъра :)

Ето го и rc.shape-а:

Код:

#!/bin/sh
#
#
#
#
#############################################################################################################
IF0="eth0" #Modem 1
IF0_IP="192.168.1.2"
IF1="eth1" #Modem 2
IF1_IP="192.168.121.2"
IF2="eth2" #Vytreshna mreja
IF2_IP="192.168.197.2"

IF0_IN="10400Kbit"
IF0_OUT="768Kbit"

IF1_IN="10400Kbit"
IF1_OUT="768Kbit"

IF2_IN="20800Kbit"
IF2_OUT="1400"

CNET="192.168.197."
START_IP="8"
END_IP="254"
CSPEED="2560"
CLN_UPL="240"
CMETRIC="Kbit"
CLSID="10"
#################



function htb_start ()
{
echo "Startirane..."
/sbin/tc qdisc del dev $IF0 root
/sbin/tc qdisc add dev $IF0 root handle 1 htb default 50 r2q 2

/sbin/tc qdisc del dev $IF1 root
/sbin/tc qdisc add dev $IF1 root handle 1 htb default 50 r2q 2

/sbin/tc qdisc del dev $IF2 root
/sbin/tc qdisc add dev $IF2 root handle 1 htb default 50 r2q 2

/sbin/tc class add dev $IF0 parent 1: classid 1:2 htb rate 10Mbit
/sbin/tc class add dev $IF1 parent 1: classid 1:2 htb rate 10Mbit
/sbin/tc class add dev $IF2 parent 1: classid 1:2 htb rate 20Mbit
#################################################################################################
#IF0 Download Limit
/sbin/tc class add dev $IF0 parent 1:2 classid 1:3 htb rate $IF0_IN
/sbin/tc qdisc add dev $IF0 parent 1:3 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF0 parent 1:0 protocol ip prio 100 u32 match ip dst $IF0_IP classid 1:3
#IF0 Upload Limit
/sbin/tc class add dev $IF0 parent 1:2 classid 1:4 htb rate $IF0_OUT
/sbin/tc qdisc add dev $IF0 parent 1:4 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF0 parent 1:0 protocol ip prio 100 u32 match ip src $IF0_IP classid 1:4
#################################################################################################
#IF1 Download Limit
/sbin/tc class add dev $IF1 parent 1:2 classid 1:5 htb rate $IF1_IN
/sbin/tc qdisc add dev $IF1 parent 1:5 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF1 parent 1:0 protocol ip prio 100 u32 match ip dst $IF1_IP classid 1:5
#IF1 Upload Limit
/sbin/tc class add dev $IF1 parent 1:2 classid 1:6 htb rate $IF1_OUT
/sbin/tc qdisc add dev $IF1 parent 1:6 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF1 parent 1:0 protocol ip prio 100 u32 match ip src $IF1_IP classid 1:6
#################################################################################################
#IF2 Download Limit
/sbin/tc class add dev $IF2 parent 1:2 classid 1:7 htb rate $IF0_IN
/sbin/tc qdisc add dev $IF2 parent 1:7 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip dst $IF0_IP classid 1:7
#IF2 Upload Limit
/sbin/tc class add dev $IF2 parent 1:2 classid 1:8 htb rate $IF2_OUT
/sbin/tc qdisc add dev $IF2 parent 1:8 handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip src $IF2_IP classid 1:8

#################################################################################################
#Users Rules .....
while test $START_IP -le $END_IP
    do
#Clients Download Limit
/sbin/tc class add dev $IF2 parent 1:2 classid 1:$CLSID htb rate $CSPEED$CMETRIC
/sbin/tc qdisc add dev $IF2 parent 1:$CLSID handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip dst $CNET$START_IP classid 1:$CLSID
#Clients Upload Limit
CLSID=$[CLSID+1]
/sbin/tc class add dev $IF2 parent 1:2 classid 1:$CLSID htb rate $CLN_UPL$CMETRIC
/sbin/tc qdisc add dev $IF2 parent 1:$CLSID handle 10 sfq perturb 10
/sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip src $CNET$START_IP classid 1:$CLSID
   
CLSID=$[CLSID+1]
START_IP=$[START_IP+1]
    done
echo "... OK"
##################################################################################################
}


function htb_stop ()
{
    echo "Stop ..."
    /sbin/tc qdisc del dev $IF0 root 2> /dev/null
    /sbin/tc qdisc del dev $IF1 root 2> /dev/null
    /sbin/tc qdisc del dev $IF2 root 2> /dev/null
    echo "... OK"
}

#####################################################################################################################################################33


case $1 in
   
    start)
     htb_start
   
    ;;

    stop)
     htb_stop
   
    ;;
   
    restart)
     htb_stop
     sleep 3
     htb_start
   
    ;;
   
    *)
    echo "Useg: rc.shape (start|stop|restart)"
    exit 1
    ;;
esac


Моля някой с повече опит да удари едно рамо :)

п.п. дистрото е Slackware 12.0
Активен

edmon

  • Гост
Re: Проблем с Shell скрипт за НТВ
« Отговор #1 -: Mar 13, 2009, 18:05 »
:)

#Clients Download Limit
      /sbin/tc class add dev $IF2 parent 1:2 classid 1:$CLSID htb rate $CSPEED$CMETRIC
      /sbin/tc qdisc add dev $IF2 parent 1:$CLSID handle 10 sfq perturb 10
      /sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip dst $CNET$START_IP classid 1:$CLSID
      #Clients Upload Limit
      CLSID=$[CLSID+1]
      /sbin/tc class add dev $IF2 parent 1:2 classid 1:$CLSID htb rate $CLN_UPL$CMETRIC
      /sbin/tc qdisc add dev $IF2 parent 1:$CLSID handle 10 sfq perturb 10
      /sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip src $CNET$START_IP classid 1:$CLSID
      


тези по някакъв начин не ти ли се струва че се повтарят?:)))
може би ще работи ако го направиш така:


#Clients Download Limit
      /sbin/tc class add dev $IF2 parent 1:2 classid 1:$CLSID htb rate $CSPEED$CMETRIC
      /sbin/tc qdisc add dev $IF2 parent 1:$CLSID handle 10 sfq perturb 10
      /sbin/tc filter add dev $IF2 parent 1:0 protocol ip prio 100 u32 match ip dst $CNET$START_IP classid 1:$CLSID
      #Clients Upload Limit eth0
      CLSID=$[CLSID+1]
      /sbin/tc class add dev $IF0 parent 1:2 classid 1:$CLSID htb rate $CLN_UPL$CMETRIC
      /sbin/tc qdisc add dev $IF0 parent 1:$CLSID handle 10 sfq perturb 10
      /sbin/tc filter add dev $IF0 parent 1:0 protocol ip prio 100 u32 match ip src $CNET$START_IP classid 1:$CLSID

#Clients Upload Limit eth1
      CLSID=$[CLSID+1]
      /sbin/tc class add dev $IF1 parent 1:2 classid 1:$CLSID htb rate $CLN_UPL$CMETRIC
      /sbin/tc qdisc add dev $IF1 parent 1:$CLSID handle 10 sfq perturb 10
      /sbin/tc filter add dev $IF1 parent 1:0 protocol ip prio 100 u32 match ip src $CNET$START_IP classid 1:$CLSI


или подобно ... изходящия трафик ... :)))


абе не се повтарят...
но има нещо дето се повтаря:)))
« Последна редакция: Mar 13, 2009, 18:19 от edmon »
Активен

GuessWho

  • Напреднали
  • *****
  • Публикации: 14
    • Профил
Re: Проблем с Shell скрипт за НТВ
« Отговор #2 -: Mar 14, 2009, 13:17 »
И на мен ми е ясно че нещо не е наред само дето немоа да разбера какво :)
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
shell
Настройка на програми
svetoslav 3 3330 Последна публикация Mar 21, 2004, 18:03
от
Безплатен Shell Акаунт
Настройка на програми
madmad 2 2545 Последна публикация Jun 28, 2010, 18:03
от betso
Gnome SHELL
Настройка на програми
pi6in 0 1765 Последна публикация Dec 29, 2010, 17:21
от pi6in
shell скрипт
Общ форум
AMD 15 5213 Последна публикация Dec 29, 2011, 23:27
от AMD
Bourn shell скрипт
Общ форум
h4rd2kill 31 10013 Последна публикация Jun 21, 2012, 13:00
от radoulov