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

ipfw pipe и внешня сеть

Добавлено: 2008-09-05 16:44:41
the_madghost
дано
FreeBSD 7.0-RELEASE

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

00100     6028      706004 allow ip from any to any via lo0
00200        0           0 deny ip from any to 127.0.0.0/8
00202     1012      142032 queue 21 ip from table(1) to any out via tun0
00203    59092    25985629 queue 31 ip from table(2) to any out via tun0
00204     2955      532190 queue 41 ip from table(3) to any out via tun0
00300        0           0 deny ip from 127.0.0.0/8 to any
00302     1000      530528 queue 2 ip from any to table(1) in via tun0
00303    48071    33131697 queue 3 ip from any to table(2) in via tun0
00304     3240     2336784 queue 4 ip from any to table(3) in via tun0
65000 18349435 10452613202 allow ip from any to any
65535        1          64 deny ip from any to any
в table 3 сети
172.16.1.0/24
172.16.5.0/24
192.168.0.0/24
как видно шейпер с очередью работает
канал 256Kbit/s

так же есть еще сеть за tun0 77.35.112.0/20 куда скорость 2Mbit/s
не получается настроить чтоб именно туда не было ограничений в 256к и pipe была 2 мегабита...
мучаюсь уже 2 неделю :( сам канал режится без проблем, а туда не снимается ограничение

ipfw просто как пример приведен в режиме open c pipe

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-05 17:31:23
Nix86

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

00100     6028      706004 allow ip from any to any via lo0
00200        0           0 deny ip from any to 127.0.0.0/8
00202     1012      142032 queue 21 ip from table(1) to not 77.35.112.0/20 out via tun0
00203    59092    25985629 queue 31 ip from table(2) to not 77.35.112.0/20 y out via tun0
00204     2955      532190 queue 41 ip from table(3) to not 77.35.112.0/20  out via tun0
00300        0           0 deny ip from 127.0.0.0/8 to any
00302     1000      530528 queue 2 ip from not 77.35.112.0/20  to table(1) in via tun0
00303    48071    33131697 queue 3 ip from not 77.35.112.0/20  to table(2) in via tun0
00304     3240     2336784 queue 4 ip from not 77.35.112.0/20 to table(3) in via tun0

00305     1012      142032 queue 51 ip from table(1) to  77.35.112.0/20 out via tun0
00306     3240     2336784 queue 5 ip from not 77.35.112.0/20 to table(3) in via tun0

65000 18349435 10452613202 allow ip from any to any

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-05 17:34:07
Nix86
Опечаток конечно много, но идея думаю понятна... :smile:

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-05 18:47:20
hizel
неособенно
если бы вы привели настройки pipe queue - было бы волшебно :)

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-05 19:17:19
Nix86
hizel писал(а):неособенно
если бы вы привели настройки pipe queue - было бы волшебно :)
Ну настройки pipe queue - это к автору, как я понимаю с ними у него проблем нет.
А идея в том, что any в queue меняем на not 77.35.112.0/20
А дальше свой queue для этой сети в 2 Mbit

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-05 20:53:12
hizel
ну хорошо следующий шаг
до 77.35.112.0/20 сделать pipe\queue в 2 мбита ;)

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-06 0:55:42
the_madghost

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

ipfw pipe 1 config bw 256Kbit/s queue 24Kbytes
ipfw pipe 11 config bw 256Kbit/s queue 24Kbytes


ipfw queue 2 config pipe 1 weight 60 queue 30 mask dst-ip 0xffffffff gred 0.002/10/30/0.1
ipfw queue 21 config pipe 11 weight 60 queue 30 mask src-ip 0xffffffff gred 0.002/10/30/0.1

ipfw queue 3 config pipe 1 weight 40 queue 30 mask dst-ip 0xffffffff gred 0.002/10/30/0.1
ipfw queue 31 config pipe 11 weight 40 queue 30 mask src-ip 0xffffffff gred 0.002/10/30/0.1

ipfw queue 4 config pipe 1 weight 30 queue 30 mask dst-ip 0xffffffff gred 0.002/10/30/0.1
ipfw queue 41 config pipe 11 weight 30 queue 30 mask src-ip 0xffffffff gred 0.002/10/30/0.1

# shaper out
        ipfw add 202 queue 21 ip from "table(1)" to any out via tun0
        ipfw add 203 queue 31 ip from "table(2)" to any out via tun0
        ipfw add 204 queue 41 ip from "table(3)" to any out via tun0

# shaper in
        ipfw add 302 queue 2 ip from any to "table(1)" in via tun0
        ipfw add 303 queue 3 ip from any to "table(2)" in via tun0
        ipfw add 304 queue 4 ip from any to "table(3)" in via tun0
это то что работало для 256к

добавил

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

ipfw pipe 21 config bw 2Mbit/s
ipfw add 190 pipe 21 ip from not 77.35.112.0/20 to "table(2)" in via tun0
ipfw add 191 pipe 21 ip from "table(2)" to not 77.35.112.0/20 out via tun0
при выводе

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

ipfw pipe show

00001: 256.000 Kbit/s    0 ms  24 KB 0 queues (1 buckets) droptail
00021:   2.000 Mbit/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    80.68.242.157/80        192.168.0.5/51469 24429 14004451  0    0   0
00011: 256.000 Kbit/s    0 ms  24 KB 0 queues (1 buckets) droptail
q00002: weight 60 pipe 1   30 sl. 1 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
 34 ip           0.0.0.0/0          172.16.1.2/0     19037  9429925  0    0  13
q00003: weight 40 pipe 1   30 sl. 1 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
 21 ip           0.0.0.0/0         192.168.0.5/0     1130913 732098522  0    0 16116
q00004: weight 30 pipe 1   30 sl. 2 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
  1 ip           0.0.0.0/0         172.16.5.33/0      318   452264  0    0   0
 15 ip           0.0.0.0/0        172.16.5.111/0     9998  9598806  0    0  29
q00021: weight 60 pipe 11   30 sl. 1 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
    mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
 20 ip        172.16.1.2/0             0.0.0.0/0     17694  2084987  0    0   0
q00041: weight 30 pipe 11   30 sl. 2 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
    mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
 14 ip      172.16.5.111/0             0.0.0.0/0     8609  1192607  0    0   0
 18 ip       172.16.5.33/0             0.0.0.0/0      273    14336  0    0   0
q00031: weight 40 pipe 11   30 sl. 1 queues (64 buckets)
          GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
    mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
 34 ip       192.168.0.5/0             0.0.0.0/0     1362399 644774665  7 5996 2701

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

00100     6826      805356 allow ip from any to any via lo0
00190    19815    15701706 pipe 21 ip from not 77.35.112.0/20 to table(2) in via tun0
00191    23698     9477530 pipe 21 ip from table(2) to not 77.35.112.0/20 out via tun0
00200        0           0 deny ip from any to 127.0.0.0/8
00202    17781     2096147 queue 21 ip from table(1) to any out via tun0
00203  1374509   653566609 queue 31 ip from table(2) to any out via tun0
00204    11521     1378694 queue 41 ip from table(3) to any out via tun0
00300        0           0 deny ip from 127.0.0.0/8 to any
00302    19126     9456550 queue 2 ip from any to table(1) in via tun0
00303  1143600   735479846 queue 3 ip from any to table(2) in via tun0
00304    13100    13504507 queue 4 ip from any to table(3) in via tun0
65000 20978480 11829166370 allow ip from any to any
65535        1          64 deny ip from any to any
счетчики растут и там и там... вот теперь чего я понять не могу

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

/home/madghost/script/>ipfw pipe 21 show
00021:   2.000 Mbit/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    80.68.242.157/80        192.168.0.5/51469 48257 27829925  2 1540   0
ip сети не та, хотя работает 2мегабита

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-13 3:10:32
uHk

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

00190    19815    15701706 pipe 21 ip from not 77.35.112.0/20 to table(2) in via tun0
00191    23698     9477530 pipe 21 ip from table(2) to not 77.35.112.0/20 out via tun0
77.35.112.0/20 - для этой сети вроде 2мбита надо было же сделать, а получилось наоборот

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-13 13:42:43
Nix86
Ещё разок...

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

ipfw add 190 pipe 21 ip from not 77.35.112.0/20 to "table(2)" in via tun0
ipfw add 191 pipe 21 ip from "table(2)" to not 77.35.112.0/20 out via tun0
Эти строчки нужно не добавить а просто изменить вот эти

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

# shaper out
        ipfw add 202 queue 21 ip from "table(1)" to any out via tun0
        ipfw add 203 queue 31 ip from "table(2)" to any out via tun0
        ipfw add 204 queue 41 ip from "table(3)" to any out via tun0

# shaper in
        ipfw add 302 queue 2 ip from any to "table(1)" in via tun0
        ipfw add 303 queue 3 ip from any to "table(2)" in via tun0
        ipfw add 304 queue 4 ip from any to "table(3)" in via tun0
на

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

# shaper out
        ipfw add 202 queue 21 ip from "table(1)" to not 77.35.112.0/20 out via tun0
        ipfw add 203 queue 31 ip from "table(2)" to not 77.35.112.0/20 out via tun0
        ipfw add 204 queue 41 ip from "table(3)" to not 77.35.112.0/20 out via tun0

# shaper in
        ipfw add 302 queue 2 ip from not 77.35.112.0/20 to "table(1)" in via tun0
        ipfw add 303 queue 3 ip from not 77.35.112.0/20 to "table(2)" in via tun0
        ipfw add 304 queue 4 ip from not 77.35.112.0/20 to "table(3)" in via tun0
Потом создать pipe и queue в 2Mbit
и уже потом добавить

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

ipfw add 190 pipe $new_pipe_2Mbit ip [b]from 77.35.112.0/20[/b] to "table(2)" in via tun0
ipfw add 191 pipe $new_pipe_2Mbit ip from "table(2)" [b]to 77.35.112.0/20 [/b]out via tun0

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-13 13:45:12
Nix86
P.S. Что-то в

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

 жирным не выделяется... Так и задумано?

Re: ipfw pipe и внешня сеть

Добавлено: 2008-09-13 14:22:44
alex3
теги кода придуманы для того, чтобы система не обращала внимание на спецсимволы внутри.

Re: ipfw pipe и внешня сеть

Добавлено: 2008-10-25 11:04:08
the_madghost
спасибо огромное помогли разобраться... сеть 77.35.112.83/20 сейчас не попадает в 1 трубу... если кому интересен полный конфиг могу выложить
но вариант первоначальный со 2 трубой не заработал пришлось немного изменить

зы только сейчас добрался до этой проблемы

Re: ipfw pipe и внешня сеть

Добавлено: 2008-10-25 11:10:33
Rita
the_madghost писал(а):... если кому интересен полный конфиг могу выложить
ну само собой разумеется интересно, выложите. для чего тогда тут тема мусолилась? :roll:

Re: ipfw pipe и внешня сеть

Добавлено: 2008-12-07 4:35:21
Jolly_Joker
the_madghost писал(а):если кому интересен полный конфиг могу выложить
Конфиг в студию :)

Re: ipfw pipe и внешня сеть

Добавлено: 2009-02-14 6:31:39
ivanx86
Ну где же конфиг??? Он мне так необходим...такая же ситуация инет и сетка провайдера в 5 мегабит....

Re: ipfw pipe и внешня сеть

Добавлено: 2011-11-30 15:43:55
Гость
делаю 3 трубы
ipfw pipe 1 config bw 2Mbit/s
ipfw pipe 2 config bw 3Mbit/s
ipfw pipe 3 config bw 3Mbit/s
очищаю првила №1 №2 №3
ipfw delete 1
ipfw delete 2
ipfw delete 3
добавляю по трубам
ipfw add 1 pipe 3 ip from 10.10.10.149 to any in recv rl0
ipfw add 1 pipe 3 ip from any to 10.10.10.149 out xmit rl0
ipfw add 2 pipe 2 ip from 10.10.10.132 to any in recv rl0
ipfw add 2 pipe 2 ip from any to 10.10.10.132 out xmit rl0
ipfw add 3 pipe 2 ip from 10.10.10.113 to any in recv rl0
ipfw add 3 pipe 2 ip from any to 10.10.10.113 out xmit rl0
ipfw delete 1302
ipfw delete 1303
ipfw add 1302 pipe 1 ip from "table(3)" to any in recv rl0
ipfw add 1303 pipe 1 ip from any to "table(3)" out xmit rl0
чистил правила 1302 и 1303
и загнал всех из таблицы в трубу № 1 с 2Mbit/s
терь директор 10.10.10.149 в трубе №3 3Mbit/s
бухи 10.10.10.132 и 10.10.10.113 вдвоем в трубе №2 3Mbit/s
а все остальные в трубе №1 2Mbit/s
а вот теперь самое интересное
смотрю саму трубу
mail# ipfw pipe show
00001: 2.000 Mbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
burst: 0 Byte
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 10.10.10.149/1730 94.100.191.202/80 9240857 6082023060 11 6157 638466
00002: 3.000 Mbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
burst: 0 Byte
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 10.10.10.132/1915 10.10.10.77/5222 122389 94299888 0 0 187
00003: 3.000 Mbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
burst: 0 Byte
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 10.10.10.149/3643 217.69.129.61/80 24411 2946524 0 0 0
ipfw pipe 1 show 2.000 Mbit/s
Source IP/port 10.10.10.149/1730
Dest. IP/port 94.100.191.202/80
10.10.10.149 это айпи директора
выходит он силит в трубе №1
а ведь задавали ему №3
а ведь задавали ему №3
ipfw add 1 pipe 3 ip from 10.10.10.149 to any in recv rl0
ipfw add 1 pipe 3 ip from any to 10.10.10.149 out xmit rl0
смотрю 2ю трубу ipfw pipe 2 show
Source IP/port 10.10.10.132/1915
Dest. IP/port 10.10.10.77/5222
10.10.10.132 это айпи 2й бухгалтерши
он сидит в трубе №2 как и задавали
ipfw add 2 pipe 2 ip from 10.10.10.132 to any in recv rl0
ipfw add 2 pipe 2 ip from any to 10.10.10.132 out xmit rl0
3я труба ipfw pipe 3 show
Source IP/port 10.10.10.149/3643
Dest. IP/port 217.69.129.61/80
опять 10.10.10.149 директор
и получаеться шо директор сидит в 2х трубах сразу, 2й бух 10.10.10.113 никуда не попал, а только 1й бух 10.10.10.132 попал в свою трубу