Jump to content

Recommended Posts

Posted

есть писюковый роутер

на нем через ТС настроен шейпинг...

встал вопрос, какую дисциплину использовать, что минимизировать нагрузку на процессор

 

нарезка на приблизительно полтысячи пользователей, для каждого создается такой вот набор правил:

 

tc class replace dev eth1 parent $tc_parent classid 1:$code_user htb rate 1kbit ceil ${ceil}kbit quantum 2000

tc qdisc add dev eth1 parent 1:$code_user handle $code_user: sfq perturb 10

tc filter replace dev eth1 protocol ip parent 1:0 prio 5 handle $code_user fw classid 1:$code_user

...

tc class replace dev eth0 parent $tc_parent classid 1:$code_user htb rate 1kbit ceil ${ceil}kbit quantum 2000

tc qdisc add dev eth0 parent 1:$code_user handle $code_user: sfq perturb 10

tc filter replace dev eth0 protocol ip parent 1:0 prio 5 handle $code_user fw classid 1:$code_user

...

 

 

Posted

хм...

 

я читал, что айпитейблз "есть" мало процессора...

 

ю32 - говорят еще больше есть

 

как тогда мне быть?

Posted
хм...

 

я читал, что айпитейблз "есть" мало процессора...

 

ю32 - говорят еще больше есть

 

как тогда мне быть?

FreeBSD+Radius+mpd5+ng_car спасут Отца Русской демократии. ;)

У меня данная связка держит полторы сотни он-лайн зверей с персональным шейпом (именно шейп, не рейт-лимит) на каждом.

Говорят, что без напряга потащит 500 и более зверей..

На пиюковом рутере только нарезаю полосы для тарифных планов. Ну Вы наверное читали тут.

Posted

Вот только, что (на той неделе) разбилался с таким случаем.

iptables - метит пакеты. Далее соовт. фильтр и 1 класс HTB.

1500 клиентов. Тормоза...

Узким местом оказалась цепочка из 3000 правил iptables -t mangle

Порезал на подсети. Теперь все летает.

Xeon 2Г

Posted

Было:

/sbin/iptables -t mangle -A FORWARD -s $IP -j MARK --set-mark $SMARK

/sbin/iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $DMARK

1500 клиентов и соответственно 3000 строк.

Результат - поток в 100Мб/s укладывал XEON 2Г с "крутыми" интеловскими сетевухами НАГЛУХО. Временами такой бридж не мог пропускать более 50-60 Мб при задержках 2-3 секунды на отдельных пакетах. Что конечно неприемлимо.

 

Решение:

 

sn_list="10.129.0.0 10.100.0.0 10.100.1.0 10.0.0.0" ..... и так много

 

/sbin/iptables -t mangle -F FORWARD

for i in $sn_list

do

/sbin/iptables -t mangle -A FORWARD -s $i/24 -j SUBNET-$i

/sbin/iptables -t mangle -A FORWARD -d $i/24 -j SUBNET-$i

done

/sbin/iptables -t mangle -A FORWARD -j SUBNET-OTHER

 

insert_rule() {

sn=`echo $1 | sed -r "s/\.[0-9]+$/.0/"`

fl=0

for i in $sn_list

do

if [ $i = $sn ]

then

/sbin/iptables -t mangle -A SUBNET-$sn -d 0/0 -s $1 -j MARK --set-mark $2

/sbin/iptables -t mangle -A SUBNET-$sn -s 0/0 -d $1 -j MARK --set-mark $3

fl=1

fi

done

if [ $fl = 0 ]

then

 

/sbin/iptables -t mangle -A SUBNET-OTHER -d 0/0 -s $1 -j MARK --set-mark $2

/sbin/iptables -t mangle -A SUBNET-OTHER -s 0/0 -d $1 -j MARK --set-mark $3

fi

}

 

Возможно код скрипта не оптимален, но суть отражает. Цепочка SUBNET-OTHER создана для подсетей, которые возможно забыл внести в список sn_list

Разбиение на подсети /24 позволило сильно не заботится о дальнейшем росте числа абонентов.

Теперь загрузка при потоке 100Мб:

# uptime

14:10:33 up 12 days, 19:04, 1 user, load average: 0.00, 0.01, 0.00

 

Posted

т.е. я правильно понял, что каждой подсети была создана новая цепочка и траффик туда завернут

 

тогда вопрос, количество марков не изменилось, они лишь разнесеные по разным цепочкам...

почему от этого становицо легче процу?

Posted

ну, скажем, я был не уверен в столь интеллектуальности iptables...

если он знает в какой цепочке искать - эт хорошо

 

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

Posted (edited)

ipset для маркировки не применим. Я уже обьяснял в другом топике.

>если он знает в какой цепочке искать...

 

iptables сам ничего незнает :-) Куда Вы его направите, туда он и пойдет.

Edited by Ivan Rostovikov

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.