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

FreeBSD + ipfw + dummynet

Добавлено: 2010-04-01 14:18:44
Aidaho
Здравствуйте.
Не могу разобраться с проблемой в выставлении приоритетов на трафик.
У меня на одной железке под FreeBSD 6.3 завязано несколько офисоф. И бывает, что забивается каналы, и я хотел сделать, так что бы сервера всегда могли общаться между собой.
Между офисами канал по 2мегабита. Не совсем понятно, как надо делать.
Сделал для одного офиса на коммутаторе такие правила:

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

ipfw pipe 1 config bw 2Mbits queue 10
ipfw queue 1 config pipe 1 weight 80
ipfw queue 2 config pipe 1 weight 20
ipfw add 1000 queue 1 tcp from 192.168.0.1, 192.168.0.3 to any
ipfw add 1100 queue 2 ip from 192.168.0.0/24 to any

При этом скорость до этого офиса падает до не могу.

потом попытался сделать уже в удаленном офисе так:

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

ipfw pipe 1 config bw 2Mbits queue 10
ipfw queue 1 config pipe 1 weight 80
ipfw queue 2 config pipe 1 weight 20
ipfw add 1000 queue 1 tcp from any to 192.168.0.1, 192.168.0.3 
ipfw add 1100 queue 2 tcp from any to not 192.168.0.1, 192.168.0.3 
но после добавления второго правила сеть ложится.
В чем может быть дело? И подскажите, как более правильно сделать.
Заранее спасибо :)

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-01 14:55:32
hizel
one_pass действует ;-)

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-01 14:57:05
Aidaho
hizel писал(а):one_pass действует ;-)
дело в этом? странно, там кроме этих двух правил и разрешить фром эни ту эни больше ничего нет.
значит надо поставить значение в 1?

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-01 14:58:42
hizel
ipfw show и ipfw pipe show гиде?

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-01 15:08:01
Aidaho
воть:

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

# ipfw show
00100  2109149   215801028 queue 1 ip from any to 192.168.0.1,192.168.0.2,192.168.0.254
65000 37167799 12488836686 allow ip from any to any
65535     4606      242471 deny ip from any to any
и

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

# ipfw pipe show
00001:   1.900 Mbit/s    0 ms   10 sl. 0 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
q00001: weight 100 pipe 1   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    192.168.1.84/1609   192.168.0.2/1494  2109711 215828741  0    0  10
q00002: weight 50 pipe 2   50 sl. 0 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-01 15:33:51
hizel
кстати к queue хорошо mask приписать dst-ip или src-ip в зависимости от направления

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-02 7:10:00
Aidaho
hizel писал(а):кстати к queue хорошо mask приписать dst-ip или src-ip в зависимости от направления
не понял :) можно примерчик плз...

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-02 7:22:33
hizel

Re: FreeBSD + ipfw + dummynet

Добавлено: 2010-04-03 8:12:33
Aidaho
hizel писал(а):one_pass действует ;-)
поставил 0, но все равно при включении второго правила вылитает...
до этого стояла единица.
и еще в сислог пишет вот такое:

dummynet: no pipe 1 for queue 1/pkt