Начало Вход/Регистрация Помощ Tazi stranica s latinski bukwi
Области
 Новини
 Актуална тема
 Linux портали
 Какво е Линукс?
 Въпроси-отговори
 Форуми
   •Трудова борса
   •Конкурс
 Статии
 Дистрибуции
   •Поръчка на CD
 Made In BG
 Файлове
 Връзки
 Галерия
 Конференции
Настройки
 Външен вид
 Предложения
 Направи си сам
И още ...
 За нас
 Линукс за българи ЕООД
 Линк към нас
 Предложения

Подкрепяно от:
TelePoint - Място за хора със свободни идеи

SiteGround

initLab

Adsys Group

SAP Bulgaria

Въпроси отговори
Въпрос: htb traffic shape
[Търси: ]

ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.

Към началото |Добави въпрос |Отговори
 
Въпрос
От: SS Дата: 05/20/2007
Привет!
Ето проблема.
 Ако шейпвам трафика с htb.init, htb-tools или някой от
 готовите скриптоев - всичко е ОК, но трафика към сървера
същo е лимитиран - което не е feature :-).
 Аз исках да пусна нещо семпло - Висок приоритет за  някои
 услуги + IP-тата на IPphones. По-нискък прио за ниакои
услуги и вси4ко друго в коша.
Оказа се че не става...лесно.
Ето work-arounda...

#!/bin/bash

# TODO
# Put variables for RATE and CAIL

 # Some VARIABLES - please change them to suit to your
config

DEV=eth1
LOCAL_IP=192.168.1.1
EXT_IP=89.190.203.195
LAN_NET=192.168.1.1/24
RATE=
CEIL=

# TC="/opt/sbin/tc"
TC="/sbin/tc"
# IPTABLES="/opt/sbin/iptables"
IPTABLES="/sbin/iptables"



 if [ "$1" = "status" ]
 then
         echo "[qdisc]"
         $TC -s qdisc show dev $DEV
         echo "[class]"
         $TC -s class show dev $DEV
         echo "[filter]"
         $TC -s filter show dev $DEV
         echo "[iptables]"
          $IPTABLES -t mangle -L shape_local -v -x 2>
/dev/null
          $IPTABLES -t mangle -L shape_all -v -x 2>
/dev/null
         exit
 fi

if [ "$1" = "stop" ]
then

 # Reset everything to a known state (cleared)
 $TC qdisc del dev $DEV root    2> /dev/null > /dev/null

 # RESET iptables rules
 $IPTABLES -t mangle -D POSTROUTING -j shape_local

 $IPTABLES -t mangle -F shape_local

 $IPTABLES -t mangle -F shape_all


 $IPTABLES -t mangle -X shape_local
 $IPTABLES -t mangle -X shape_all



 exit
fi

 # Reset everything to a known state (cleared)
 $TC qdisc del dev $DEV root    2> /dev/null > /dev/null


$IPTABLES -t mangle -N shape_local
$IPTABLES -t mangle -N shape_all

$IPTABLES -t mangle -A POSTROUTING -j shape_local
 $IPTABLES -t mangle -A shape_local -s $LOCAL_IP  -d $LAN_NET
-j MARK --set-mark 20
 $IPTABLES -t mangle -A  shape_local -s $LOCAL_IP  -d
$LAN_NET -j RETURN

 $IPTABLES -t mangle -A shape_local -s $EXT_IP  -d $LAN_NET
-j MARK --set-mark 20
 $IPTABLES -t mangle -A  shape_local -s $EXT_IP  -d $LAN_NET
-j RETURN

$IPTABLES -t mangle -A shape_local  -j shape_all
# И от тук вече може или по услуги....или всичко за тест-а
 $IPTABLES -t mangle -A  shape_all -d $LAN_NET -j  MARK
--set-mark 30
#/sbin/tc qdisc del dev $DEV root
 /sbin/tc qdisc add dev $DEV root handle 1 htb default 40 r2q
100
 /sbin/tc class add dev $DEV parent 1:2 classid 1:20 htb rate
100Mbit burst 15k
 /sbin/tc qdisc add dev $DEV parent 1:20 handle 20 sfq
perturb 10
 /sbin/tc filter add dev $DEV parent 1:0 protocol ip prio 200
handle 20 fw classid 1:20

 /sbin/tc class add dev $DEV parent 1:2 classid 1:30 htb rate
128Kbit burst 15k
 /sbin/tc qdisc add dev $DEV parent 1:30 handle 30 sfq
perturb 10
 /sbin/tc filter add dev $DEV parent 1:0 protocol ip prio 200
handle 30 fw classid 1:30

 /sbin/tc class add dev $DEV parent 1:2 classid 1:40 htb rate
1Kbit ceil 64Kbit burst 15k
 /sbin/tc qdisc add dev $DEV parent 1:40 handle 40 sfq
perturb 10


Въпроса ми е:
Има ли по-лесен начин?
Благодаря предварително.




Отговор #1
От: flipz Дата: 06/03/2007
 значи искаш да зададеш приоритети за отделните маркове, това
ли да разбираме?
аз имам един въпрос, в този вид този скрипт работи ли ?



Отговор #2
От: SS Дата: 06/07/2007
Скрипта работи.
Но трябва да се оптимизира.
Да се направият подкласове - за VoIP, ssh, web.
Иначе в този си вид - работи.
 Може би с iptables да се направи по-добро маркиране...Дойде
ми нещо на ум...но за сега нямам време да го тествам.
 Скрипта го тествах и от локалния сервер ( където е стартиран
 шейпъра ) дърпам на MAX, а от нета на колкото си наглася
RATE i CEIL ( които все оше генерирам с HTB.init  :(.





<< Kak da si zapazvam Ubuntu-to pri reinstal (2 ) | problem (6 ) >>

 
© 2011-... Асоциация "Линукс за българи"
© 2007-2010 Линукс за българи ЕООД
© 1999-2006 Slavej Karadjov
Ако искате да препечатате или цитирате информация от този сайт прочетете първо това
Външния вид е направен от MOMCHE
Code Version: 1.0.8 H (Revision: 23-09-2011)
 
Изпълнението отне: 0 wallclock secs ( 0.08 usr + 0.00 sys = 0.08 CPU)