Страница 1 из 1

Не работает динамическое распределение скорости кана

Добавлено: 2007-03-19 16:38:30
Frenk
Товарищи! :P
Помогите! :twisted:

Простая до неузнаваемости ситуация, думаю у многих она есть и надеюсь что кто-то с ней справился:

Есть локалка, есть инет ADSL(64KBit/64KBit).
Поставил FreeBSD 6.0 на компик, перекомпили ядро и так далее.
Задача: динамическое регулирование полосы канала для 2 груп пользователей.
Для одной VIP - 80% для другой 20%.
сколько искал, везде все по разному всяк пробовал но реально не так как есть.

[Pp][Rr][Oo][Xx][Yy])

net='192.168.0.1/24'
netpref='192.168.0'
outnic='rl1'
innic='rl0'

setup_loopback

#------- natd -------
${fwcmd} add 50000 divert natd all from any to 86.57.167.19 via ${outnic}

${fwcmd} add 50100 divert natd all from 192.168.0.200 to any via ${outnic}
${fwcmd} add 50200 divert natd all from 192.168.0.201 to any via ${outnic}
${fwcmd} add 50300 divert natd all from 192.168.0.202 to any via ${outnic}
${fwcmd} add 50400 divert natd all from 192.168.0.205 to any via ${outnic}

# -in-
${fwcmd} pipe 10 config bw 58Kbit/s queue 10

${fwcmd} queue 1 config pipe 10 weight 80 queue 20 mask dst-ip 0xffffffff
${fwcmd} add queue 1 tcp from any to 192.168.0.201 in
${fwcmd} add queue 1 tcp from any to 192.168.0.202 in

${fwcmd} queue 6 config pipe 10 weight 20 queue 50 mask dst-ip 0xffffffff
${fwcmd} add queue 6 tcp from any to 192.168.0.205 in
${fwcmd} add queue 6 tcp from any to 192.168.0.200 in


${fwcmd} add 65000 pass all from any to any
;;

----------------------

Добавлено: 2007-03-19 23:53:15
FreePascal
На первый взгляд ошибок не вижу, данная реализация динамического распределения
полосы канала работает и у меня.
Но хочю коечто уточнить.
1. Я так понял представленный кусок дописан в /etc/rc.firewall (если нет то работать не будет)
2. Наверное лучше сделать с етих огрызков законченные правила добавив via ${outnic}

Код: Выделить всё

${fwcmd} add queue 1 tcp from any to 192.168.0.201 in 
${fwcmd} add queue 1 tcp from any to 192.168.0.202 in 
${fwcmd} add queue 6 tcp from any to 192.168.0.205 in 
${fwcmd} add queue 6 tcp from any to 192.168.0.200 in
3. Представь вывод ipfw show
P.S.
Если перейти от теории к практике то 64Кб ето гдето реально будет 56
20% --> 11.2 и делем еще на 2 (по твоему конфигу там 2 узера) --> 5.6Кб
5.6Кб ето 0.7 КБ.
Помойму ето очень медленно даже если картинки отключить.
Ну если вебсервер вообще не откажется тебе чтото отдавать с твоими громадными
таймаутами.

Добавлено: 2007-03-20 19:13:07
Гость
добавил via ${outnic}, ничего не помогает.
К примеру такая ситуация: юзер с 20% поставил на закачку на максимум.
тогда при неработающих всех остальных тот у которого 80% не может почту прокачать, скорость 300байт/с

добавил via ${outnic}, ничего не помогает.
К примеру такая ситуация: юзер с 20% поставил на закачку на максимум.
тогда при неработающих всех остальных тот у которого 80% не может почту прокачать, скорость 300байт/с

00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
50000 101851 105526092 divert 8668 ip from any to 86.57.167.19 via rl1
50100 36466 2750185 divert 8668 ip from 192.168.0.200 to any via rl1
50200 4429 775890 divert 8668 ip from 192.168.0.201 to any via rl1
50300 9176 1146340 divert 8668 ip from 192.168.0.202 to any via rl1
50400 10193 1151862 divert 8668 ip from 192.168.0.205 to any via rl1
50700 4475 2659229 queue 1 tcp from any to 192.168.0.201 in via rl1
50800 8500 2723782 queue 1 tcp from any to 192.168.0.202 in via rl1
51000 9704 6153235 queue 6 tcp from any to 192.168.0.205 in via rl1
51100 35195 41322290 queue 6 tcp from any to 192.168.0.200 in via rl1
65000 315526 123930377 allow ip from any to any
65535 11 4996 deny ip from any to any