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

ipfw GRED

Добавлено: 2010-03-01 16:53:22
RAGNAR
почитал статью http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
разесните что не так. реши перейти на gred. что то работает не так, непойму где, но работает :pardon:

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

pipe 10 config bw 1000Kbit/s queue 60 gred 0.002/10/30/0.1
queue 10 config pipe 10 mask src-ip 0xffffffff queue 60 gred 0.002/10/30/0.1

pipe 20 config bw 3600Kbit/s queue 60 gred 0.002/10/30/0.1
queue 20 config pipe 20 mask dst-ip 0xffffffff queue 60 gred 0.002/10/30/0.1

#  с pipe  работает боле менгие...  а если в провилах ниже  pipe меняю на queue то вообще жопа

add 1000 pipe 10 ip from 192.168.1.0/24 to not me in
add 1100 pipe 20 ip from not 192.168.1.0/24 to 192.168.1.0/24 out
ipfw pipe show

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

00020:   1.000 Mbit/s    0 ms   60 sl. 1 queues (1 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 udp     192.168.1.19/137     192.168.1.255/137   21131  1111342  0    0   0
00010:   3.600 Mbit/s    0 ms   60 sl. 1 queues (1 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 tcp   213.180.204.11/80       192.168.1.15/2582  31701 46133738  0    0  58
q00020: weight 1 pipe 20   60 sl. 0 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
q00010: weight 1 pipe 10   60 sl. 0 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991

вот тут показаны два разных ip хотя в этот момент инетом пользуеться четверо , непонятно??
и что то даже отбрасываеться !


ipfw queue show

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

q00020: weight 1 pipe 20   60 sl. 0 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
q00010: weight 1 pipe 10   60 sl. 0 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
А сдесь пусто

Re: ipfw GRED

Добавлено: 2010-03-01 18:40:51
terminus

Re: ipfw GRED

Добавлено: 2010-03-01 19:18:39
RAGNAR
у меня там шрифты не правельно отбрабаються (( что можно сделать?

Re: ipfw GRED

Добавлено: 2010-03-01 19:24:01
RAGNAR
с шлифтом проблема решена

Re: ipfw GRED

Добавлено: 2010-03-01 20:45:08
RAGNAR
почитал посматрел, всеровно както не гладко вышло , подскажи на моем примере

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

ipfw pipe 1 config bw 3700Kbit/s
ipfw queue 1 config pipe 1 weight 50 mask dst-ip 0xffffffff queue 60 gred 0.002/10/30/0.1

#  первая сетевая смотрящия в локальную сеть, севые вбридже 
#  вот с этой сетевухи енет идет а с второй нет !!  что это?

ipfw add 720 queue 1 ip from not 192.168.1.0/24 to 192.168.1.0/24 out via fxp0
ipfw add 721 allow ip from any to 192.168.1.0/24 out via fxp0

#  вторая сетевая смотрящия в локальную сеть  

ipfw add 722 queue 1 ip from not 192.168.1.0/24 to 192.168.1.0/24 out via fxp1
ipfw add 723 allow ip from any to 192.168.1.0/24 out via fxp1

ipnat -l

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

List of active MAP/Redirect filters:
rdr fxp0 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128 tcp
rdr fxp1 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128 tcp
map tun0 192.168.1.0/24 -> 84.42.x.x/32 portmap tcp/udp auto
map tun0 192.168.1.0/24 -> 84.42.x.x/32

List of active sessions:
RDR 127.0.0.1       3128  <- -> 213.33.198.133  80    [192.168.1.20 1524]
RDR 127.0.0.1       3128  <- -> 93.186.225.212  80    [192.168.1.17 2542]
RDR 127.0.0.1       3128  <- -> 81.177.141.174  80    [192.168.1.20 1523]

#  вот ip с fxp1 покеты уходят на squid  и глохнут

RDR 127.0.0.1       3128  <- -> 91.203.99.45    80    [192.168.1.16 49325]
RDR 127.0.0.1       3128  <- -> 217.23.139.17   80    [192.168.1.16 49324]


ipfw pipe show

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

00001:   3.700 Mbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
q00001: weight 50 pipe 1   60 sl. 5 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
    mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 ip           0.0.0.0/0        192.168.1.16/0        1       40  0    0   0
  1 ip           0.0.0.0/0        192.168.1.17/0       43    27176  0    0   0
  4 ip           0.0.0.0/0        192.168.1.20/0     1312  1760289  0    0   0
  24 ip           0.0.0.0/0         192.168.1.8/0     20934 29981723  0    0   3
  31 ip           0.0.0.0/0        192.168.1.15/0     9696 13886535  0    0  16

# 16 не работает
схема

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

                   tun0 PPPoE
                       |
Lan  < --- > fxp1  [ bridge0 ]  fxp0  < --- > Lan


Re: ipfw GRED

Добавлено: 2010-03-02 0:02:15
agat

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

#со значениями gred сами
# ЭТО ТОЛЬКО ШАБЛОН ТРУБЫ НА 128 килобит.
    ${fwcmd} pipe 128 config bw 128Kbit/s mask dst-ip 0xffffffff gred 0.1/10/60/0.95 
    ${fwcmd} pipe 129 config bw 128Kbit/s mask src-ip 0xfffffff gred 0.1/10/60/0.95

# А это уже заготовка с нарезанными трубами на пользователей
    ${fwcmd} add 10 pipe 128 all from any to table\(1\)
    ${fwcmd} add 11 pipe 129 all from table\(1\) to any
Каждому пользователю выделено по 128 килобит входящего и исходящего, заметте не на всех пользователей этой таблицы 128 килобит, а на каждого из этой таблицы по 128 килобит за это отвечает запись в шаблоне ...ip 0xffffffff

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

#добавлять пользователей можно так
    ${fwcmd} table 1 add 10.10.10.10
Другой вариант, более на мой взгляд экономящий ресурсы, (dymmynet все таки грузит проц)
использовать одну таблицу на все скорости и передавать вместе с ip адресом tablearg скорости.
не юзайте без дела queue и weight

Если шейпить на 2х сетевухах то скорость падает вдвое, поэтому если уж разок отшейпили дальше пропустите без щейпа

Re: ipfw GRED

Добавлено: 2010-03-02 0:18:43
RAGNAR
у меня задача не каждому по 128 а 3700 на всех по чесному

Re: ipfw GRED

Добавлено: 2010-03-02 0:26:53
agat
""" применительно к вашей структуре будет примерно так
(мне удобнее red поэтому перепешите на gred не сложно если уж именно gred нужен)

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


${fwcmd} pipe 1 config bw 3700Kbit/s mask dst-ip 0xffffffff red 0.1/10/60/0.95
${fwcmd} pipe 2 config bw 3700Kbit/s mask src-ip 0xfffffff red 0.1/10/60/0.95

${fwcmd} pipe 3 config bw 1024Kbit/s mask dst-ip 0xffffffff red 0.1/10/60/0.95
${fwcmd} pipe 4 config bw 1024Kbit/s mask src-ip 0xfffffff red 0.1/10/60/0.95

#все кто ходит с fxp1
${fwcmd} add 10 pipe 1 all from any to table\(1\) via fxp1    
${fwcmd} add 11 pipe 2 all from table\(1\) to any via fxp1
#добавить в таблицу разрешенные ip 
${fwcmd} table 1 add  192.168.1.16
${fwcmd} table 1 add 192.168.1.17


#все кто ходит с fxp0
${fwcmd} add 20 pipe 1 all from any to table\(2\) via fxp0    
${fwcmd} add 21 pipe 2 all from table\(2\) to any via fxp0    

${fwcmd} table 2 add  192.168.3.12
${fwcmd} table 2 add 192.168.3.11

#А это зарезка на 1024 всех кто ходит с fxp0
${fwcmd} add 20 pipe 3 all from any to table\(3\) via fxp0    
${fwcmd} add 21 pipe 4 all from table\(3\) to any via fxp0    

${fwcmd} table 3 add  192.168.3.19
${fwcmd} table 3 add 192.168.3.20


Re: ipfw GRED

Добавлено: 2010-03-02 0:28:24
agat
RAGNAR писал(а):у меня задача не каждому по 128 а 3700 на всех по чесному
Ну и убирите тогда

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

mask dst-ip 0xffffffff
mask src-ip 0xffffffff
и будет на всех по этой скорости.

Re: ipfw GRED

Добавлено: 2010-03-02 0:32:34
agat
когда еще проще

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

${FWCMD} PIPE 1 CONFIG BW 3700KBIT/S RED 0.1/10/60/0.95
${FWCMD} PIPE 2 CONFIG BW 3700KBIT/S RED 0.1/10/60/0.95

#ВСЕ КТО ХОДИТ С FXP1
${FWCMD} ADD 10 PIPE 1 ALL FROM ANY TO TABLE\(1\) VIA FXP1    
${FWCMD} ADD 11 PIPE 2 ALL FROM TABLE\(1\) TO ANY VIA FXP1
${FWCMD} TABLE 1 ADD  192.168.1.0/24

#ВСЕ КТО ХОДИТ С FXP0
${FWCMD} ADD 12 PIPE 1 ALL FROM ANY TO TABLE\(2\) VIA FXP0    
${FWCMD} ADD 13 PIPE 2 ALL FROM TABLE\(2\) TO ANY VIA FXP0 
${FWCMD} TABLE 2 ADD  192.168.3.0/24
каждая из 2х сетей получает по скорости 3700 по чесноку на всех, кто первый встал на торрент того и тапки :) все остальные облизывают

Re: ipfw GRED

Добавлено: 2010-03-02 0:45:05
agat
Или вобще даже так скорее всего можно

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

${FWCMD} PIPE 1 CONFIG BW 3700KBIT/S RED 0.1/10/60/0.95
${FWCMD} PIPE 2 CONFIG BW 3700KBIT/S RED 0.1/10/60/0.95

${FWCMD} ADD 10 PIPE 1 ALL FROM ANY TO TABLE\(1\) 
${FWCMD} ADD 11 PIPE 2 ALL FROM TABLE\(1\) TO ANY

${FWCMD} TABLE 1 ADD  192.168.1.0/24
${FWCMD} TABLE 1 ADD  192.168.3.0/24

Re: ipfw GRED

Добавлено: 2010-03-02 0:51:41
RAGNAR
блогадарю, буду пробывать, завтра , хотя по торенту можно лимит ввести на соединения :smile:

Re: ipfw GRED

Добавлено: 2010-03-02 1:15:41
agat
с торрентами не все так просто как кажется, ну будет лимит допустим в 50 коннектов, и торрент их все схавает, а пользователь захотел пойти в инет- и не сможет потому как лимит исчерпан. И это не проблема пользователя, ...

Re: ipfw GRED

Добавлено: 2010-03-02 2:14:51
RAGNAR
у меня и с 5 и с 20 конектами торент тянет хлам, а 200 - 300 конектов, многовато

Re: ipfw GRED

Добавлено: 2010-03-02 2:15:36
RAGNAR
вот тоже по теме как узнать, скока провайдер даст одновременно открыть конектов?