URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 49605
[ Назад ]

Исходное сообщение
"вопрос по IPFW DUMMYNET"

Отправлено Andrej , 20-Окт-04 22:17 
Вот есть вопрос по DUMMYNET - ввожу я трубы, ограничиваю траффик, нарезаю юзерам по 20 кб/сек. Но почитав теорию IPFW, пользователь все равно получает максимальную скорость до роутера, а уже роутер ограничивает скорость 20 кб/сек. То есть получается, что пользователь все равно нагружает канал, ему идут дополнительные мегабайты и т.д. А прога bandwidthd показывает нагрузку канала около 400-500 кбпс/сек на каждого пользователя, хотя у него качает макс. 20. А сейчас внимание, вопрос - есть ли средство более точной нарезки траффика, и скажем чтобы дальше сервера 20 кб/сек не выходило?

Содержание

Сообщения в этом обсуждении
"вопрос по IPFW DUMMYNET"
Отправлено Loky , 21-Окт-04 09:26 
>Вот есть вопрос по DUMMYNET - ввожу я трубы, ограничиваю траффик, нарезаю
>юзерам по 20 кб/сек. Но почитав теорию IPFW, пользователь все равно
>получает максимальную скорость до роутера, а уже роутер ограничивает скорость 20
>кб/сек. То есть получается, что пользователь все равно нагружает канал, ему
>идут дополнительные мегабайты и т.д. А прога bandwidthd показывает нагрузку канала
>около 400-500 кбпс/сек на каждого пользователя, хотя у него качает макс.
>20. А сейчас внимание, вопрос - есть ли средство более точной
>нарезки траффика, и скажем чтобы дальше сервера 20 кб/сек не выходило?
>

Конфиг давай.


"вопрос по IPFW DUMMYNET"
Отправлено Andrej , 21-Окт-04 13:31 
#######################################################
/sbin/ipfw add 35 divert natd all from any to any via rl1
#####################################################
/sbin/ipfw add 36 allow icmp from any to any
/sbin/ipfw add 37 check-state
/sbin/ipfw add 38 allow all from any to 10.1.0.0/23 via rl1 setup limi dst-port
/sbin/ipfw add 50 allow all from any to any 53
/sbin/ipfw add 51 allow all from any 53 to any
/sbin/ipfw add 52 allow all from any to any not 445,135,137,139 via rl0
#####################################################
/sbin/ipfw add 1379 pipe 3 ip from any to 10.1.0.36 via rl1 in
/sbin/ipfw add 1380 pipe 4 ip from 10.1.0.36 to any via rl1 out
/sbin/ipfw add 1382 pipe 6 ip from any to 10.1.0.16 via rl1 in
/sbin/ipfw add 1383 pipe 7 ip from 10.1.0.16 to any via rl1 out
/sbin/ipfw add 1385 pipe 8 ip from any to 10.1.0.73 via rl1 in
/sbin/ipfw add 1386 pipe 9 ip from 10.1.0.73 to any via rl1 out
/sbin/ipfw add 1387 pipe 10 ip from any to 10.1.0.216 via rl1 in
/sbin/ipfw add 1388 pipe 11 ip from 10.1.0.216 to any via rl1 out
################################################################
/sbin/ipfw pipe 3 config bw 13KByte/s
/sbin/ipfw pipe 4 config bw 13KByte/s
/sbin/ipfw pipe 6 config bw 13KByte/s
/sbin/ipfw pipe 7 config bw 13KByte/s
/sbin/ipfw pipe 8 config bw 13KByte/s
/sbin/ipfw pipe 9 config bw 13KByte/s
/sbin/ipfw pipe 10 config bw 8KByte/s
/sbin/ipfw pipe 11 config bw 8KByte/s
######################################
#SYSTEMNIJE TRUBI#
/sbin/ipfw pipe 1 config bw 215KByte/s
/sbin/ipfw pipe 2 config bw 215KByte/s
/sbin/ipfw pipe 30 config bw 45KByte/s
/sbin/ipfw pipe 31 config bw 45KByte/s
/sbin/ipfw pipe 34 config bw 20KByte/s
/sbin/ipfw pipe 35 config bw 20KByte/s
#SYSTEMNIJE TRUBI KONEC#
##################################################
/sbin/ipfw queue 1 config weight 100 pipe 1
/sbin/ipfw queue 2 config weight 100 pipe 2
/sbin/ipfw queue 11 config weight 85 pipe 1
/sbin/ipfw queue 12 config weight 85 pipe 2
/sbin/ipfw queue 13 config weight 40 pipe 30
/sbin/ipfw queue 14 config weight 40 pipe 31
/sbin/ipfw queue 15 config weight 10 pipe 30
/sbin/ipfw queue 16 config weight 10 pipe 31
##################################################
/sbin/ipfw queue 50 config weight 75 pipe 1
/sbin/ipfw add 3000 queue 50 tcp from any pop3,smtp,http,443,4330,4337,4339,1500#
/sbin/ipfw queue 60 config weight 75 pipe 2
/sbin/ipfw add 3010 queue 60 tcp from any to any pop3,smtp,http,443,4330,4337,43#
/sbin/ipfw queue 70 config weight 100 pipe 34
/sbin/ipfw add 3020 queue 70 all from any to any via rl1 in
#
/sbin/ipfw queue 80 config weight 100 pipe 35
/sbin/ipfw add 3030 queue 80 all from any to any via rl1 out
                                                            

а в 11 12 13 14 15 16 очереди идут VIP клиенты


"вопрос по IPFW DUMMYNET"
Отправлено A Clockwork Orange , 21-Окт-04 13:41 
Особо не капаясь в конфиге.
1. Ограничения надо ставить до рарзрешающих правил для соответствующих интерфейсов и хостов.
2. Попадая под условия разных труб пакет будет проходить только через первую или надо ставить net.inet.ip.fw.one_pass=0 (благодаря Locky).

"вопрос по IPFW DUMMYNET"
Отправлено Chris , 22-Окт-04 12:52 
>или надо ставить net.inet.ip.fw.one_pass=0 (благодаря Locky).


Локки ли благодаря ;-)


"вопрос по IPFW DUMMYNET"
Отправлено Loky , 21-Окт-04 13:43 
1. пайпы поставь первыми в списке правил. проверка правил осуществляется подряд, и при первом совпадении прекращается.
2. поправь sysctrl net.inet.ip.fw.one_pass: 0
установка означает, что после прохождения канала пакет проверяется еще раз начиная со следующего правила.

"вопрос по IPFW DUMMYNET"
Отправлено Андрей , 21-Окт-04 22:06 
а немнго не понимаю трубы вводить перед правилом диверта или после??
если ввожу до диверта то у этих пользователей сразу пропадает инет.
а диверт стоит первым разрешающим правилом, вверху только все запреты.

"вопрос по IPFW DUMMYNET"
Отправлено Loky , 22-Окт-04 09:15 
>а немнго не понимаю трубы вводить перед правилом диверта или после??
>если ввожу до диверта то у этих пользователей сразу пропадает инет.
>а диверт стоит первым разрешающим правилом, вверху только все запреты.

У меня сделано так
1. все запреты
2. диверт натд
3. пайпы
4. все разрешения
5. запрет всего остального


"вопрос по IPFW DUMMYNET"
Отправлено kir , 22-Окт-04 12:27 
>Вот есть вопрос по DUMMYNET - ввожу я трубы, ограничиваю траффик, нарезаю
>юзерам по 20 кб/сек. Но почитав теорию IPFW, пользователь все равно
>получает максимальную скорость до роутера, а уже роутер ограничивает скорость 20
>кб/сек. То есть получается, что пользователь все равно нагружает канал, ему
>идут дополнительные мегабайты и т.д. А прога bandwidthd показывает нагрузку канала
>около 400-500 кбпс/сек на каждого пользователя, хотя у него качает макс.
>20. А сейчас внимание, вопрос - есть ли средство более точной
>нарезки траффика, и скажем чтобы дальше сервера 20 кб/сек не выходило?
>


переходи на FreeBSD 5_3 там уже портирован altq .. точнее уже небывает:-))


"вопрос по IPFW DUMMYNET"
Отправлено A Clockwork Orange , 22-Окт-04 12:36 
ALTQ с патчиванием ядра?
Он стабилен?

"вопрос по IPFW DUMMYNET"
Отправлено Андрей , 22-Окт-04 14:38 
да у меня тоже самое, только вот как я уже понял DUMMYNET берет уж больно неточное среднее арифметическое, скажем если выставить 17 кб/сек, то он берет +/- 8 кб/сек то есть получается пик 25 одна секунда, второй минимум 9 одна секунда, дальше 20 и 14, вот и получается 17 в среднем =), а про altq слышал немало отрицательных отзывов, особенно про динамическое распределение (Weihgt) приоритетов, может я неправ - переубедите, тем более опасно как-то использовать такое штуку, интегрированную в ядро, а не начнутся ли потом KERNEL FAULT и т.д.?