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

Pipe для конкретного IP

Добавлено: 2009-10-21 9:44:02
Dark Smoke
Добрый день.
Подскажите новичку. Шеф поставил задачу, всех ограничить кроме него, а то он почту не может нормально забрать. У нас канал на 1мегабит.
cat /etc/firewall.conf

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

ipfw add pipe 1 all from any to 192.168.1.6/24 in via $tun
ipfw add pipe 2 all from any to 192.168.1.6/24 out via $tun
ipfw pipe 1 config bw 256Kbit/s
ipfw pipe 2 config bw 64Kbit/s
ipfw show

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

00100 19718 15755485 allow ip from any to any via em1
00200     0        0 allow ip from any to any via lo0
00300  9869  8673287 pipe 1 ip from any to 192.168.1.0/24 in via tun0
00400     0        0 pipe 2 ip from any to 192.168.1.0/24 out via tun0
00500 10510  7203549 allow ip from any to any
00600     0        0 deny log logamount 500 ip from any to any
65535     5      545 allow ip from any to any
ipfw pipe show

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

00001: 256.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    78.84.241.163/25992     192.168.1.3/2465  10332  9178340 16 23200  24
00002:  64.000 Kbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
Почему правило не срабатывает для конкретного пользователя, а работает для всех?

Re: Pipe для конкретного IP

Добавлено: 2009-10-21 10:34:48
Gamerman
Если нужно правило для пользователя 192.168.1.6, то тогда не нужно писать маску 24. А так получается, что и шеф попадает под ту маску.

Да и при таких записях до

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

00400     0        0 pipe 2 ip from any to 192.168.1.0/24 out via tun0
не дойдет.

Re: Pipe для конкретного IP

Добавлено: 2009-10-21 13:53:31
---nebo---

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

ipfw add pipe 1 all from any to 192.168.1.6/24 in via $tun
ipfw add pipe 2 all from any to 192.168.1.6/24 out via $tun
у тебя обе трубы для ВХОДЯЩЕГО трафика.
вот поетому и получаеш, все выскакивает до второй трубы

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

00300  9869  8673287 pipe 1 ip from any to 192.168.1.0/24 in via tun0
00400     0        0 pipe 2 ip from any to 192.168.1.0/24 out via tun0
хотябы так

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

ipfw add allow all from 192.168.1.6 to any via $tun
ipfw add allow all from any to 192.168.1.6 via $tun

ipfw add pipe 1 all from any to 192.168.1.0/24 via $tun
ipfw add pipe 2 all from 192.168.1.0/24 to any via $tun

ipfw pipe 1 config bw 256Kbit/s
ipfw pipe 2 config bw 64Kbit/s

Re: Pipe для конкретного IP

Добавлено: 2009-10-21 19:04:24
Dark Smoke
А как правильно добавить в этот же pipe еще трех человек?

Re: Pipe для конкретного IP

Добавлено: 2009-10-22 9:36:20
vadim64
создайте им отдельную подсеть и пайпр создавайте дял это подсети

Re: Pipe для конкретного IP

Добавлено: 2009-10-22 9:37:35
mediamag
создай таблицу например в верху фаера...

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

ipfw table 1 add, ipfw table 2 add
нужный айпи или нужная подсеть, создай нужные тебе трубы, но вместо своих значений подставляй таблицу..например

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

ipfw add pipe 1 all from any to "table(1)" via $tun
ipfw add pipe 2 all from "table(1)" to any via $tun
и итак далее для остальных таблиц

Re: Pipe для конкретного IP

Добавлено: 2009-10-22 21:17:06
---nebo---
Посмотрите man
Если адреса 3, можно, например:

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

ipfw add allow ip from { 1.1.1.1 or 1.1.1.2 or 1.1.1.3 } to any 
Ну или же как было сказано кинуть в одну подсеть, ... 1.1.1.0/29 (или какие у вас там адреса...)