1

Здравствуйте.

Имеется шлюз на Debian.
Хочу использовать два шейпера. Один с 8 утра до 12 ночи, другой с 12 ночи до 8 утра.

Днем давать юзерам 2 мегабита, ночью 4.

Имеется два скрипта шейпера.

Наткнулся на подобный скрипт:
"Пишем скриптик и добавляем его в папку /etc/cron.hourly/"

==cat /etc/cron.hourly/switch ==
day=`date +"%a"`
stime=`date +"%H"`
shape2="/путь до файла с правилами на шейпер/tc-4Mb"
shape1="/путь до файла с правилами на шейпер/tc-2Mb"

if [ $day =  "Sat" ] || [ $day = "Sun" ]; then
        $shape2;
else

    if [ "$stime" -lt "08" ] || [ "$stime" -ge "00" ]; then
        $shape2;
    else
        $shape1;
    fi
fi
===

"теперь каждый час наш скрипт будет выполняться  и в субботу, и воскресенье, а также каждый будний день с 00.00 до 8 включать 4 Мб вместо 2 мб."

но столкнулся со следующей проблемой, при выполнении скрипта шефпера, выводитсья сообщение:
rtnetlink answers: file exists

Как я понимаю это из за того, что типа один скрипт с правилами фаэрвола уже был выполнен.

Что посоветуете?

2

Сам додумался как решить свою проблему!

/sbin/tc qdisc del dev $DEVICE root
/sbin/tc qdisc del dev $DEVICE ingress
/sbin/tc qdisc del dev $DEVICE handle ffff: ingress

3

Поднимаю тему! прошу прощения.

Но после этих трех комманд перестает работать исходящий трафик почему-то. Не могу файлы отправлять. Хотя страницы открываются...
Измерял скорость на разных сайтах, везде заступаревается, либо просто куда нибудь загружаю файлы, тоже самое..ошибка..

4

Подскажите пожалуйста, какие нужно ввести команды, чтобы удалить эти правила?:

/sbin/tc qdisc add dev eth1 root handle 1: htb default 30
/sbin/tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit burst 15k
/sbin/tc class add dev eth1 parent 1:1 classid 1:10 htb rate 1024kbit ceil 100mbit burst 15k
/sbin/tc class add dev eth1 parent 1:1 classid 1:20 htb rate 1024kbit ceil 100mbit burst 15k
/sbin/tc class add dev eth1 parent 1:1 classid 1:30 htb rate 1024kbit ceil 100mbit burst 15k
/sbin/tc class add dev eth1 parent 1:1 classid 1:40 htb rate 1024kbit ceil 2560kbit burst 15k
/sbin/tc class add dev eth1 parent 1:1 classid 1:50 htb rate 1024kbit ceil 2560kbit burst 15k

/sbin/tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:30 handle 30: sfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:40 handle 40: sfq perturb 10
/sbin/tc qdisc add dev eth1 parent 1:50 handle 50: sfq perturb 10

/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.2.1/24 match ip dst 10.20.0.0/24 flowid 1:10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 10.20.0.2 flowid 1:20
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 10.20.0.3 flowid 1:30
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 10.20.0.4 flowid 1:40
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 10.20.0.5 flowid 1:50

/sbin/tc qdisc add dev eth1 handle ffff: ingress
/sbin/tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip dst 192.168.2.1/24 police rate 100mbit burst 10k drop flowid :1
/sbin/tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 10.20.0.2 police rate 100mbit burst 10k drop flowid :2
/sbin/tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 10.20.0.3 police rate 100mbit burst 10k drop flowid :3
/sbin/tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 10.20.0.4 police rate 1536kbit burst 10k drop flowid :4
/sbin/tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 10.20.0.5 police rate 1536kbit burst 10k drop flowid :5