Привет коллеги!
Всего есть 256Кбит
Есть 3 сервера в интернете к которым нужен приоритет.--------------
$cmd disable one_pass$cmd pipe 1 config bw 256Kbit/s queue 20
$cmd queue 1 config pipe 1 weight 50 queue 20 mask dst-ip 0xffffffff
$cmd queue 2 config pipe 1 weight 10 queue 20 mask dst-ip 0xffffffff$cmd add queue 1 ip from $SERVER-1 to me in recv $PIF
$cmd add queue 1 ip from $SERVER-2 to me in recv $PIF
$cmd add queue 1 ip from $SERVER-3 to me in recv $PIF$cmd add queue 2 ip from <все остальное кроме 3-х серв.> (*)
-----------------------------------
Как написать правило (*) ?
В случае когда я делал приоритет только для одного сервера, то вот так работало нормально:
... from NOT $SERVER-1 to me in recv $PIFЕсли я укажу
... from any to to me in recv $PIF
то, по-моему, трафик от $SERVER-1 попадет и в 1-ю очередь и во 2-ю.Подскажите, пожалуйста!
>В случае когда я делал приоритет только для одного сервера, то вот
>так работало нормально:
>... from NOT $SERVER-1 to me in recv $PIF
>
>Если я укажу
>... from any to to me in recv $PIF
>то, по-моему, трафик от $SERVER-1 попадет и в 1-ю очередь и во
>2-ю.
>
>Подскажите, пожалуйста!Самому интересно как это сделать.
Сейчас выкручиваюсь при помощи таблиц:
... from NOT "table(10)" to me in recv $PIF
... table 10 add $SERVER-1
... table 10 add $SERVER-2
... table 10 add $SERVER-3
задача усложнилась )))помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко мне на порт 1194 (OpenVpn).
никак не могу сообразить как это красиво и правильно сделать.
ждем попощи!
>задача усложнилась )))
>
>помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
>мне на порт 1194 (OpenVpn).
>
>никак не могу сообразить как это красиво и правильно сделать.
>
>ждем попощи!используйте в правилах skipto
>>задача усложнилась )))
>>
>>помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
>>мне на порт 1194 (OpenVpn).
>>
>>никак не могу сообразить как это красиво и правильно сделать.
>>
>>ждем попощи!
>
>используйте в правилах skiptoИнтересно, а если в таблицу забить IP и порт. Прокатит?
>>задача усложнилась )))
>>
>>помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
>>мне на порт 1194 (OpenVpn).
>>
>>никак не могу сообразить как это красиво и правильно сделать.
>>
>>ждем попощи!
>
>используйте в правилах skiptoм... попробую! спасибо...
в таблицах не знаю, можно ли порт указывать...
>>задача усложнилась )))
>>
>>помимо 3-х приоритетных серверов, мне надо выдлеать в приоритет трафик идущий ко
>>мне на порт 1194 (OpenVpn).
>>
>>никак не могу сообразить как это красиво и правильно сделать.
>>
>>ждем попощи!
>
>используйте в правилах skiptoMichael, спасибо! делаю...
Как при помощи pipe, queueрасставить приоритет:
1. Большой приоритет для:
$server1
$server2
а также любой хост который соединяется со мной на UDP : 11942. Малый приоритет
все остальное кроме п.1спасибо!
Спасибо Michael! Использую SKIPTO!!!
-----------------------------------------------$cmd -f flush
$cmd -f pipe flush
$cmd -f queue flush$cmd disable one_pass
$cmd pipe 1 config bw 256Kbit/s queue 20 (канал на 256)$cmd queue 1 config pipe 1 weight 50 queue 20 mask dst-ip 0xffffffff (3 очереди на входящий трафик из интернета)
$cmd queue 2 config pipe 1 weight 40 queue 20 mask dst-ip 0xffffffff
$cmd queue 3 config pipe 1 weight 10 queue 20 mask dst-ip 0xffffffff$cmd table 1 flush (таблица)
$cmd table 1 add $aza 1 (1 это tablearg, им будем указывать номер очереди)
$cmd table 1 add $mx1 2
$cmd table 1 add $mx2 2
$cmd add 010 queue tablearg ip from "table(1)" to $pip in recv $pif (сервера)
$cmd add 011 skipto 50 ip from "table(1)" to $pip in recv $pif$cmd add 015 queue 1 udp from any to $pip 1194 in recv $pif (udp 1194)
$cmd add 016 skipto 50 udp from any to $pip 1194 in recv $pif$cmd add 020 queue 3 ip from any to $pip in recv $pif (остальное)
$cmd add 021 skipto 50 ip from any to $pip in recv $pif
-------------- тут пошел файрвол --------------------$cmd add 050 allow ip from any to any via lo0
...
...
...
...
nat'ы и т.п...
Например у меня линк до провайдера 256 К.могу я указать 2 pipe:
128к
256кбудет ли это правильно?
или надо делить чтоб сумма была 256?
спасиб.
ответ нашел вот такой:
--------------------
$cmd -f flush
$cmd -f pipe flush
$cmd -f queue flush$cmd disable one_pass
$cmd pipe 1 config bw 256Kbit/s queue 20 # основной канал и его очереди
$cmd queue 1 config pipe 1 weight 50 queue 20 mask dst-ip 0xffffffff
$cmd queue 2 config pipe 1 weight 40 queue 20 mask dst-ip 0xffffffff
$cmd queue 3 config pipe 1 weight 10 queue 20 mask dst-ip 0xffffffff$cmd pipe 2 config bw 128Kbit/s queue 20 - канал 128 и его одна очередь
$cmd queue 4 config pipe 2 weight 10 queue 20 mask dst-ip 0xffffffff$cmd table 1 flush приоритетеные хосты
$cmd table 1 add $aza 1
$cmd table 1 add $mx1 2
$cmd table 1 add $mx2 2
$cmd table 1 add $fpsu 2# table
$cmd add 010 queue tablearg ip from "table(1)" to $pip in recv $pif
$cmd add 011 skipto 50 ip from "table(1)" to $pip in recv $pif# openvpn
$cmd add 015 queue 1 udp from any to $pip 1194 in recv $pif
$cmd add 016 skipto 50 udp from any to $pip 1194 in recv $pif# pop3
$cmd add 020 queue 2 tcp from any 110 to $pip in recv $pif
$cmd add 021 skipto 50 tcp from any 110 to $pip in recv $pif# other
$cmd add 030 queue 3 ip from any to $pip in recv $pif сперва выясним кто мы в основном канале
$cmd add 031 queue 4 ip from any to $pip in recv $pif а теперь завернем в 128
$cmd add 032 skipto 50 ip from any to $pip in recv $pif
---------- тут пошел файервол -----------------
$cmd add 050 allow ip from any to any via lo0