Jump to content

снова о шейпере под линуксом


Recommended Posts

пытаюсь построить шейпер для старгейзера

застрял на вопросе ограничения входящего к клиенту трафика

должен сказать, что внешний и внутренний интерфейсы у меня выполнены в виде vlan'ов (ext=vlan144 , int=vlan14)которые заходят через основную сетевуху eth0.

добавил еще и сетевуху eth1 в качестве тестового внутреннего интерфейса.

 

примерно вот такой скрипт:

#!/bin/sh
INTIF=XXX # vlan14 или eth1
IP=YY.YY.YY.YY
mark=100
SPD=256
SPDC=256
#зачищаю старое
/sbin/tc qdisc del dev $INTIF root
# создаю корневую дисциплину и добавляю в нее класс
/sbin/tc qdisc add dev $INTIF root handle 1: htb
/sbin/tc class add dev $INTIF parent 1: classid 1:1 htb rate 1000mbit ceil 1000mbit burst 200k
#помечаю пакеты конкретного пользователя
/sbin/iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark
#создаю класс пользователя и отфильтровываю в него помеченные пакеты
/sbin/tc class add dev $INTIF parent 1:1 classid 1:$mark htb rate ${SPD}kbit ceil ${SPDC}kbit burst 10k
/sbin/tc filter add dev $INTIF parent 1: protocol ip prio 5 handle $mark fw classid 1:$mark

 

если подключить пользователя через eth1 то данный скрипт абсолютно ровно ограничивает скорость.

если же его подключить к vlan'у то скорость режется, но очень не ровно, а какой то пилой, причем среднее значение около 160килобит/сек , хотя ожидается 256.

 

 

может ли tc некорректно работать с виланами?

как это пофиксить?

может целесообразно использовать ifb? даст ли это какой то результат?

Link to post
Share on other sites

неужели никто не запускал шейпер между виланами?

Поделитесь впечатлениями..

Link to post
Share on other sites

Пилообразный трафик скорее говорит о недостатке буферов, я бы начал с увеличения burst'a и cburst'a. И еще qlen посмотреть у влана, на eth скорее всего стоит правильное 10000, а на вилане может быть что угодно.

Link to post
Share on other sites

Пилообразный трафик скорее говорит о недостатке буферов, я бы начал с увеличения burst'a и cburst'a. И еще qlen посмотреть у влана, на eth скорее всего стоит правильное 10000, а на вилане может быть что угодно.

Большое спасибо. Действительно помогло:

ifconfig vlan14 txqueuelen 1000

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...