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

Ограничение скорости через ipfw

Добавлено: 2010-11-11 15:43:57
cubespace
Я не очень силён в ipfw, по тому хочу вашего совета

Мне нужно розпределить скорость между пользователями!

Вот как я сделал:

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

${FwCMD} pipe 1 config bw 2048Kbit/s mask dst-ip 0xffffffff
${FwCMD} pipe 2 config bw 64Kbit/s mask dst-ip 0xffffffff
${FwCMD} pipe 3 config bw 1524Kbit/s mask dst-ip 0xffffffff
${FwCMD} pipe 4 config bw 512Kbit/s mask dst-ip 0xffffffff

${FwCMD} add 11 pipe 1 tcp from any to 192.168.1.53 out
${FwCMD} add 12 pipe 1 tcp from 192.168.1.53 to any in

${FwCMD} add 11 pipe 3 tcp from any to 192.168.1.52 out
${FwCMD} add 12 pipe 3 tcp from 192.168.1.52 to any in

${FwCMD} add 11 pipe 3 tcp from any to 192.168.1.92 out
${FwCMD} add 12 pipe 3 tcp from 192.168.1.92 to any in

${FwCMD} add 11 pipe 3 tcp from any to 192.168.1.57 out
${FwCMD} add 12 pipe 3 tcp from 192.168.1.57 to any in

${FwCMD} add 11 pipe 4 tcp from any to 192.168.1.59 out
${FwCMD} add 12 pipe 4 tcp from 192.168.1.59 to any in

${FwCMD} add 11 pipe 4 tcp from any to 192.168.1.54 out
${FwCMD} add 12 pipe 4 tcp from 192.168.1.54 to any in

${FwCMD} add 11 pipe 4 tcp from any to 192.168.1.56 out
${FwCMD} add 12 pipe 4 tcp from 192.168.1.56 to any in

${FwCMD} add 11 pipe 3 tcp from any to 192.168.1.60 out
${FwCMD} add 12 pipe 3 tcp from 192.168.1.60 to any in

${FwCMD} add 13 pipe 2 tcp from any to 192.168.1.0/24 out
${FwCMD} add 14 pipe 2 tcp from 192.168.1.0/24 to any in



Я думаю с конфига задум понятен )

Просто если мне нужно будет добавить еще 30 IP, то конфиг будет очень большой((
Подскажите где ошибки, и как эти правила написать проще!

Заранее спасибо

Re: Ограничение скорости через ipfw

Добавлено: 2010-11-11 15:47:55
hizel
смотреть man ipfw или google ipfw с ключевым словом tablearg

Re: Ограничение скорости через ipfw

Добавлено: 2010-11-19 12:41:37
Time
вот вам пример

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

${ipfw} add 1010 pipe 1 ip from any to 192.168.10.10 out via ${iif}
${ipfw} pipe 1 config bw 250Kbit/s queue 20

Re: Ограничение скорости через ipfw

Добавлено: 2010-11-19 12:47:28
hizel
пример чего? :D

Re: Ограничение скорости через ipfw

Добавлено: 2010-11-19 13:01:47
rmn

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

${FwCMD} pipe 1 config bw 2048Kbit/s mask dst-ip 0xffffffff
${FwCMD} pipe 2 config bw 2048Kbit/s mask src-ip 0xffffffff

${FwCMD} pipe 3 config bw 64Kbit/s mask dst-ip 0xffffffff
${FwCMD} pipe 4 config bw 64Kbit/s mask src-ip 0xffffffff

${FwCMD} pipe 5 config bw 1524Kbit/s mask dst-ip 0xffffffff
${FwCMD} pipe 6 config bw 1524Kbit/s mask src-ip 0xffffffff

${FwCMD} pipe 7 config bw 512Kbit/s mask dst-ip 0xffffffff
${FwCMD} pipe 8 config bw 512Kbit/s mask src-ip 0xffffffff

${FwCMD} table 1 add 192.168.1.53/32
${FwCMD} add 11 pipe 1 tcp from any to table\(1\) out
${FwCMD} add 12 pipe 2 tcp from table\(1\) to any in

${FwCMD} table 2 add 192.168.1.0/24
${FwCMD} add 13 pipe 3 tcp from any to table\(2\) out
${FwCMD} add 14 pipe 4 tcp from table\(2\) to any in

${FwCMD} table 3 add 192.168.1.52/32
${FwCMD} table 3 add 192.168.1.92/32
${FwCMD} table 3 add 192.168.1.57/32
${FwCMD} table 3 add 192.168.1.60/32
${FwCMD} add 15 pipe 5 tcp from any to table\(3\) out
${FwCMD} add 16 pipe 6 tcp from table\(3\) to any in

${FwCMD} table 4 add 192.168.1.59/32
${FwCMD} table 4 add 192.168.1.54/32
${FwCMD} table 4 add 192.168.1.56/32
${FwCMD} add 17 pipe 7 tcp from any to table\(4\) out
${FwCMD} add 18 pipe 8 tcp from table\(4\) to any in

Re: Ограничение скорости через ipfw

Добавлено: 2010-11-19 16:48:35
Time
hizel писал(а):пример чего? :D
а неужели догодаться трудно? :crazy:

Re: Ограничение скорости через ipfw

Добавлено: 2010-11-20 18:25:10
Alex Keda
телепатов нет

Re: Ограничение скорости через ipfw

Добавлено: 2010-11-22 8:16:10
Spook1680
Можно еще ограничение прописать вот так, вариантов похоже може. Опять действительно смотря для цего.

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

${fwcmd} add 27 pipe 10 all from any to 192.168.0.196 out via nfe0
${fwcmd} pipe 10 config bw 150K queue 27K
Но это не распределение, тут ограничение.

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-29 13:52:04
cubespace
Всем спасибо за помощь !

Вопрос теперь в другом! Я поставил себе SAMBA - сервер !
И скорость доступа на самбу такая как на инет!
А мне нужно чтобы доступ на самбу был неограничен в скорости для всех пользователей!

Подскажите как это сделать ?

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-29 14:34:54
BirdGovorun
${FwCMD} add 17 pipe 7 tcp from any to table\(4\) out via тута_указать_имя_внешней_сетевухи
${FwCMD} add 18 pipe 8 tcp from table\(4\) to any in via тута_то-же

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-29 16:23:59
cubespace
Что то не получается !!

Если так прописать, то тогда скорость всем быстра, скорость всего нета!!

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-29 16:40:16
rmn

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

ipfw add allow ip from any to me in recv ${int_if}
ipfw add allow ip from me to any out xmit ${int_if}
${int_if} - сетевая, что смотрит в локалку
правила добавить перед всеми пайпами

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-30 12:03:53
cubespace
Тоже самое!

FreeBSD 8.1
Я НАТ не использую! Все через маршутизацию!

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-30 12:08:36
hizel
в ipfw имеет значение все правила, покажите ipfw show

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-30 14:11:20
cubespace
вот:

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

# ipfw show
00011   15   1548 pipe 1 tcp from any to 192.168.1.53 out
00011    3    147 pipe 1 tcp from any to 192.168.1.92 out
00011    0      0 pipe 4 tcp from any to 192.168.1.57 out
00011    0      0 pipe 3 tcp from any to 192.168.1.58 out
00011    0      0 pipe 4 tcp from any to 192.168.1.59 out
00011    0      0 pipe 4 tcp from any to 192.168.1.54 out
00011   67  95140 pipe 4 tcp from any to 192.168.1.56 out
00011    0      0 pipe 3 tcp from any to 192.168.1.60 out
00012   23   1128 pipe 1 tcp from 192.168.1.53 to any in
00012    1     50 pipe 3 tcp from 192.168.1.52 to any in
00012    4    168 pipe 1 tcp from 192.168.1.92 to any in
00012    0      0 pipe 4 tcp from 192.168.1.57 to any in
00012    0      0 pipe 3 tcp from 192.168.1.58 to any in
00012    0      0 pipe 4 tcp from 192.168.1.59 to any in
00012    0      0 pipe 4 tcp from 192.168.1.54 to any in
00012   38   1664 pipe 4 tcp from 192.168.1.56 to any in
00012    0      0 pipe 3 tcp from 192.168.1.60 to any in
00100    0      0 allow icmp from any to any icmptypes 0,8,11
00200    0      0 allow ip from any to 192.168.5.0/24 in via bge1
00300    0      0 allow ip from 192.168.5.0/24 to any out via bge1
00400  125  97641 allow tcp from any to any established
00500    0      0 allow udp from any to 192.168.1.55 dst-port 53 in via bge0
00600    0      0 allow udp from 192.168.1.55 53 to any out via bge0
00700    0      0 allow udp from any 53 to 192.168.1.55 in via bge0
00800    0      0 allow udp from 192.168.1.55 to any dst-port 53 out via bge0
00900    0      0 allow tcp from any to any dst-port 3306
01000    0      0 allow tcp from any 3306 to any
01100    0      0 allow udp from any to any dst-port 3306
01200    0      0 allow udp from any 3306 to any
01300    0      0 allow udp from any to any dst-port 123 via bge0
01400    0      0 allow udp from any 123 to any via bge0
01500    0      0 allow udp from any to any dst-port 53
01600    0      0 allow udp from any 53 to any
01700    0      0 allow tcp from any to any dst-port 22
01800    0      0 allow tcp from any 22 to any
01900    0      0 allow tcp from any to any dst-port 21
02000    0      0 allow tcp from any 21 to any
02100    0      0 allow tcp from any to any dst-port 49152-65535
02200    0      0 allow tcp from any 49152-65535 to any
02300    0      0 allow tcp from any to any dst-port 80,8080
02400    0      0 allow tcp from any 80,8080 to any
02500    0      0 allow tcp from any to any dst-port 6004,5190,843
02600    0      0 allow tcp from any 6004,5190,843 to any
02700    0      0 allow tcp from any to any dst-port 25
02800    0      0 allow tcp from any 25 to any
02900    0      0 allow udp from any to any dst-port 25
03000    0      0 allow udp from any 25 to any
03100    0      0 allow tcp from any to any dst-port 110,143
03200    0      0 allow tcp from any 110,143 to any
03300    0      0 allow udp from any to any dst-port 110
03400    0      0 allow udp from any 110 to any
03500    0      0 allow tcp from any to any dst-port 10000
03600    0      0 allow tcp from any 10000 to any
03700    0      0 allow tcp from any to any dst-port 443
03800    0      0 allow tcp from any 443 to any
03900    0      0 allow tcp from any to any dst-port 901
04000    0      0 allow tcp from any 901 to any
04100    0      0 allow tcp from any to any dst-port 995
04200    0      0 allow tcp from any 995 to any
04300    0      0 allow tcp from any to any dst-port 1433,1434
04400    0      0 allow tcp from any 1433,1434 to any
04500    0      0 allow tcp from any to any dst-port 2593-2594
04600    0      0 allow tcp from any 2593-2594 to any
04700    0      0 allow tcp from any to any dst-port 2100-2149
04800    0      0 allow tcp from any 2100-2149 to any
04900    0      0 allow tcp from any to any dst-port 7750-7789
05000    0      0 allow tcp from any 7750-7789 to any
05100    0      0 allow tcp from any to any dst-port 88,1080
05200    0      0 allow tcp from any 88,1080 to any
05300    0      0 allow tcp from any to any dst-port 5190
05400    0      0 allow tcp from any 5190 to any
05500    0      0 allow tcp from any to any dst-port 23
05600    0      0 allow tcp from any 23 to any
05700    0      0 allow tcp from any to any dst-port 475
05800    0      0 allow tcp from any 475 to any
05900    0      0 allow tcp from any to any dst-port 17212
06000    0      0 allow tcp from any 17212 to any
06100    0      0 allow tcp from me 3000,161 to any
06200    0      0 allow udp from me 161 to any
06300    0      0 allow tcp from any to any dst-port 3389
06400    0      0 allow tcp from any 3389 to any
06500    0      0 allow tcp from any to any dst-port 3390
06600    0      0 allow tcp from any 3390 to any
06700   21   2089 deny log logamount 100 ip from any to any
65535 3736 342640 allow ip from any to any
Часть фаервола:

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

LanOut="bge0"                   
NetOut="192.168.1.0/24"         
IpOut="192.168.1.55"            

LanIn="bge1"                    
NetIn="192.168.5.0/24"       
ip_lan="192.168.5"       
bge0 - локалка
bge1 - внешний

Re: Ограничение скорости через ipfw

Добавлено: 2011-03-30 14:50:57
hizel
везде где pipe, заменить any на not me а лучше переписать с таблицами и шлюхами:

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

# исходящий
table 1 add 192.168.1.53 1
table 1 add 192.168.1.57 4
# входящий
table 2 add 192.168.1.53 1
table 2 add 192.168.1.57 4

pipe tablearg tcp from not me to table(1) out
pipe tablearg tcp from table(1) to not me in
примерный аналог ваших pipe-ов

и еще зачем вы засовываете входящий и исходящий трафик в одну трубу, не логично ли раскидывает исходщий и входящий трафик по двум трубам