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

Исходное сообщение
"DummyNet и торренты"

Отправлено zheka2 , 15-Фев-09 10:22 
Настроил на домашнем сервере (FreeBSD 6.2) шейпинг, весь входящий трафик из инета на сервер попадает в трубу с низшим приоритетом, а всё остальное что качают юзеры (доступ раздаю через NAT) попадает в другую. Смотрю через ipfw -a list, трафик правильно заворачивается, но если я ставлю на сервере закачку торрентов (использую ctorrent), то он забирает почти всю полосу, хотя качает через трубу с низшим приоритетом (точнее с никакушным приоритетом 2 против 80-ти).
Конфигурация ipfw:

ipfw pipe 1 config bw 256Kbit/s queue 10
ipfw pipe 2 config bw 256Kbit/s queue 10

ipfw queue 102 config pipe 1 weight 2
ipfw queue 202 config pipe 2 weight 2
ipfw queue 180 config pipe 1 weight 80
ipfw queue 280 config pipe 2 weight 80

${fwcmd} add 1000 skipto 10000 ip from any to any in recv rl0
${fwcmd} add 1100 skipto 20000 ip from any to any out xmit rl0

${fwcmd} add 1400 skipto 30000 ip from any to any in recv ng0
${fwcmd} add 1500 skipto 40000 ip from any to any out xmit ng0

${fwcmd} add 2000 deny log ip from any to any

#################internal-in
${fwcmd} add 10000 count ip     from any to any
${fwcmd} add 19000 allow ip     from any to any

#################internal-out
${fwcmd} add 20000 count ip from any to any
${fwcmd} add 29000 allow ip from any to any

#################external-in
${fwcmd} add 30000 count ip from any to any
${fwcmd} add 36000 deny ip from any to not me
${fwcmd} add 38000 divert natd ip from any to any

#LOW PRIORITY
${fwcmd} add 38400 queue 102 ip from any to me
#HIGH PRIORITY
${fwcmd} add 38500 queue 180 ip from any to not me

${fwcmd} add 38600 allow ip from any to any

#################external-out
${fwcmd} add 40000 count ip from any to any

${fwcmd} add 44000 skipto 47400 ip from 192.168.6.48, 192.168.6.49 to any
${fwcmd} add 45000 skipto 47400 ip from me to any

${fwcmd} add 47000 deny all from any to any

#LOW PRIORITY
${fwcmd} add 47400 queue 202 ip from me to any
$HIGH PRIORITY
${fwcmd} add 47500 queue 280 ip from not me to any

${fwcmd} add 47600 divert natd ip from any to any
${fwcmd} add 47700 allow ip from any to any

${fwcmd} add 65000 deny log ip from any to any


Который день вожусь, если у кого есть мысли на этот счёт, поможите!


Содержание

Сообщения в этом обсуждении
"DummyNet и торренты"
Отправлено zheka2 , 20-Фев-09 20:59 
Учитывая интерес, проявленный к этому вопросу решил отписаться о решении проблемы, может кому пригодится. Как показал sockstat при запуске закачки торрента, ctorrent устанавливал сразу 99 TCP соединений, в результате пакеты с высоким приоритетом просто терялись в общей массе. Решение:
${fwcmd} add 45000 skipto 47400 ip from me to any
изменить на
${fwcmd} add 45000 skipto 47400 ip from me to any limit src-addr 7
последнее значение подбирается экспериментально

"DummyNet и торренты"
Отправлено illk , 30-Окт-10 22:45 
> Учитывая интерес, проявленный к этому вопросу решил отписаться о решении проблемы, может
> кому пригодится. Как показал sockstat при запуске закачки торрента, ctorrent устанавливал
> сразу 99 TCP соединений, в результате пакеты с высоким приоритетом просто
> терялись в общей массе. Решение:
> ${fwcmd} add 45000 skipto 47400 ip from me to any
> изменить на
> ${fwcmd} add 45000 skipto 47400 ip from me to any limit src-addr
> 7
> последнее значение подбирается экспериментально

7 конектов помоему весьма мало. Может есть другие способы?