>В локальной сети находится машина со squid'ом под FreeBSD, перенаправляющая запросы пользователей
>на squid провайдера (через маршрутизатор).Пытаюсь создать pipe (IPFW) для управления траффиком
>для пользователей squid.Он слушает запросы пользователей и отправляет их дальше через
>один сетевой интерфейс.Пытался ограничить правилами типа:
>setup_loopback
> ${fwcmd} add pipe 1 all from 10.10.0.18 8080 to any
> ${fwcmd} add pipe 2 all from хост_провайдера 8080 to 10.10.0.18
> ${fwcmd} pipe 1 config bw 32Kbit/s
> ${fwcmd} pipe 2 config bw 32Kbit/s
> ${fwcmd} queue 1 config pipe 1 weight 75
> ${fwcmd} queue 2 config pipe 1 weight 50
> ${fwcmd} queue 3 config pipe 1 weight 50
> ${fwcmd} add queue 3 all from хост_провайдера 8080 to 10.10.0.18
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.111
> ${fwcmd} add queue 1 all from
>хост_провайдера 8080 to 10.10.0.7
> ${fwcmd} add queue 1 all from 10.10.0.18 8080 to 10.10.0.254
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.56
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.21
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.100
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.28
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.58
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.23
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.60
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.222
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.92
> ${fwcmd} add queue 2 all from 10.10.0.18 8080 to 10.10.0.6
> ${fwcmd} add pass all from any to any
>Разделение траффика не происходит:
>#ipfw pipe show
>00001: 32.000 Kbit/s 0 ms 50
>sl. 1 queues (1 buckets) droptail
> mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
>BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
> 0 tcp 10.10.0.18/8080
> 10.10.0.21/48628 72005 59433826 16 16599 1444
>
>00002: 32.000 Kbit/s 0 ms 50
>sl. 0 queues (1 buckets) droptail
> mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
>q00001: weight 75 pipe 1 50 sl. 0 queues (1
>buckets) droptail
> mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
>q00002: weight 50 pipe 1 50 sl. 0 queues (1
>buckets) droptail
> mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
>q00003: weight 50 pipe 1 50 sl. 0 queues (1
>buckets) droptail
> mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
>#ipfw -a show
>00100 7064 2903384 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
>00400 72673 59730971 pipe 1 ip from 10.10.0.18 8080 to any
>
>00500 0
> 0 pipe 2 ip from адрес_провайдера 8080 to 10.10.0.18
>
>00600 0
> 0 queue 3 ip from 10.10.11.12 8080 to 10.10.0.18
>
>00700 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.111
>
>00800 0
> 0 queue 1 ip from 10.10.0.18 8080 to 10.10.0.7
>
>00900 0
> 0 queue 1 ip from 10.10.0.18 8080 to 10.10.0.254
>
>01000 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.56
>
>01100 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.21
>
>01200 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.100
>
>01300 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.28
>
>01400 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.58
>
>01500 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.23
>
>01600 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.60
>
>01700 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.222
>
>01800 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.92
>
>01900 0
> 0 queue 2 ip from 10.10.0.18 8080 to 10.10.0.6
>
>02000 255476 82405213 allow ip from any to any
>65535 0
> 0 deny ip from any to any
>Когда пробовал настроить правила, как описано в статье, http://unixwood.org.ru/manview.php?id=64 то траффик делился,
>но squid был недоступен.
>Но вопрос, поднятый в статье, для групп пользователей с разным весом весьма
>инетересен.
>Заранее благодарен за какие либо соображения на эту тему.
Ты какой то бредятины понаписывал :)
Сам то понял что написал :)
IPFW такая штука понимаешь она находит правило
1 мол переадресовать туда (улетело)
потом стоит правило
2 (твои пайпы) до которого ничего не дошло (улавливаешь ?)
И точно также в обратную сторону...
нашло пайп урезало что нужно а на следующее правило о трансляции забило :)
Для этого используется не allow а pass шоля....короче док нужно читать....чтобы фаер после чтения правила посылал обработаный пакет обрабатывать следующими правилами...
ну вроде так....сиди разбирайся...я когда то же над подобной проблемой долбался :)