The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"IPFW + pipes + queue + tablearg"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Информационная безопасность (BSD ipfw, ipf, ip-filter / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"IPFW + pipes + queue + tablearg"  +/
Сообщение от Agres (ok) on 24-Фев-13, 21:19 
Доброго всем времени суток!

Заранее скажу что пролистал кучу манов и форумов но решения так и не нащел, поэтому очень сильно надеюсь что тут найдутся люди которые помогут мне в решении моей задачи.

Суть: разделить скорость, сделать приоритезацию.

работает сейчас так:

есть table0 и table10 в которых содержится юзеры которым дан интернет, и в tablearg номер интернет пакета.

пример table0
192.168.0.100 11
192.168.0.101 12
192.168.0.102 11
192.168.0.103 13

пример table10
192.168.0.100 21
192.168.0.101 22
192.168.0.102 21
192.168.0.103 23

есть трубы:

#Pipes Upload
$cmd pipe 11 config bw 10Mbit/s queue 86 mask src-ip 0xffffffff
$cmd pipe 12 config bw 20Mbit/s queue 86 mask src-ip 0xffffffff
$cmd pipe 13 config bw 30Mbit/s queue 86 mask src-ip 0xffffffff

#Pipes Download
$cmd pipe 21 config bw 10Mbit/s queue 86 mask dst-ip 0xffffffff
$cmd pipe 22 config bw 20Mbit/s queue 86 mask dst-ip 0xffffffff
$cmd pipe 23 config bw 30Mbit/s queue 86 mask dst-ip 0xffffffff

и правила:

#Download World
$cmd add 02000 pipe tablearg ip from "table(0)" to any out xmit $EXT
$cmd add 08000 pipe tablearg ip from any to "table(10)" in recv $EXT

Помогите пожалуйста прикрутить както сюда queue, чтобы сделать для каждого(или во всяком случае я так думаю) приоритет доступа к определённым портам.

$cmd queue 21 config pipe 21 weight 80
$cmd queue 22 config pipe 21 weight 20

$cmd add 07999 queue 21 ip from any to "table(0)" $ports in recv $EXT
$cmd add 07999 queue 22 ip from any to "table(0)" not $ports in recv $EXT

Заранее всем спасибо! за решение буду очень признателен!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "IPFW + pipes + queue + tablearg"  +/
Сообщение от Дум Дум on 26-Фев-13, 11:23 
QoS? http://www.opennet.me/openforum/vsluhforumID1/91127.html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "IPFW + pipes + queue + tablearg"  +/
Сообщение от Agres (ok) on 27-Фев-13, 00:46 
> QoS? http://www.opennet.me/openforum/vsluhforumID1/91127.html

Да, именно таки образом! только вот не знаю куда добавить очередь, или пайп, а то я пробовал несколько вариантов, но они не совсем успешные. Да и ещё надо как-то грамотно приклеить к таблицам (если они тут требуются), что у меня не получается.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "IPFW + pipes + queue + tablearg"  +/
Сообщение от Дум Дум on 27-Фев-13, 10:13 
>> QoS? http://www.opennet.me/openforum/vsluhforumID1/91127.html
> Да, именно таки образом! только вот не знаю куда добавить очередь, или
> пайп, а то я пробовал несколько вариантов, но они не совсем
> успешные. Да и ещё надо как-то грамотно приклеить к таблицам (если
> они тут требуются), что у меня не получается.

http://www.opennet.me/base/net/ipfw_pipe.txt.html ?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "IPFW + pipes + queue + tablearg"  +/
Сообщение от Agres (ok) on 27-Фев-13, 13:29 
>>> QoS? http://www.opennet.me/openforum/vsluhforumID1/91127.html
>> Да, именно таки образом! только вот не знаю куда добавить очередь, или
>> пайп, а то я пробовал несколько вариантов, но они не совсем
>> успешные. Да и ещё надо как-то грамотно приклеить к таблицам (если
>> они тут требуются), что у меня не получается.
> http://www.opennet.me/base/net/ipfw_pipe.txt.html ?

Я же говорил что многое читал, включая и этот пост, и все что гугл нашел по этой теме. Это не совсем то что мне нужно. Тут один pipe и много queue которые задают приоритет, а у меня меня по одному   pipe'у на каждого клиента.

И отсюда и вопрос: нужно каждому вкрутить по 2-3 queue? Если да то как?
Или же нужны несколько queue для всех пользователей? и соответственно как это будет выглядеть?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "IPFW + pipes + queue + tablearg"  +/
Сообщение от Дум Дум on 27-Фев-13, 16:47 
+ http://www.opennet.me/base/net/transparent_shaper.txt.html

Вообще-то я этим не пользуюсь. Но может что-то похожее?

пример table0
192.168.0.100 11
192.168.0.101 12
192.168.0.102 11
192.168.0.103 13

пример table10
192.168.0.100 21
192.168.0.101 22
192.168.0.102 21
192.168.0.103 23

хорошие порты
gprt="20,21,22,23"

плохие порты
bprt="24,25,26"

в одну сторону

#Pipes Upload
$cmd pipe 11 config bw 10Mbit/s queue 86 mask src-ip 0xffffffff
$cmd pipe 12 config bw 90Mbit/s queue 86 mask src-ip 0xffffffff

$cmd queue 1111 config pipe 11 weight 1 mask src-ip 0xffffffff dst-port 0x00000000
$cmd queue 1121 config pipe 12 weight 1 mask src-ip 0xffffffff dst-port 0x00000000
$cmd queue 1112 config pipe 11 weight 99 mask src-ip 0xffffffff dst-port 0x00000000
$cmd queue 1122 config pipe 12 weight 99 mask src-ip 0xffffffff dst-port 0x00000000

$cmd add queue 1111 tcp from "table(0)" to any $bprt
$cmd add queue 1112 tcp from "table(0)" to any $gprt
$cmd add queue 1121 tcp from "table(10)" to any $bprt
$cmd add queue 1122 tcp from "table(10)" to any $gprt

По-первому впечатлению, автор ответа http://www.opennet.me/openforum/vsluhforumID1/91127.html в основном смотрит "открытые системы на сервере". Если предложенное мною - лажа (что не исключено:), можно попробовать перезадать вопрос в той ветви...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "IPFW + pipes + queue + tablearg"  +/
Сообщение от Agres (ok) on 08-Мрт-13, 20:20 

> По-первому впечатлению, автор ответа http://www.opennet.me/openforum/vsluhforumID1/91127.html
> в основном смотрит "открытые системы на сервере". Если предложенное мною -
> лажа (что не исключено:), можно попробовать перезадать вопрос в той ветви...

За ответ спасибо, перепробовал, немножко подправил, и вроде вроде както должно было работать, но клиенты жаловались. И тут я догнал, что нужно приоритет давать не каждому, а вообше, этим портам. То есть ставится следующая задача:

Сделать так чтоб быстро бегал 80-й (ну там я добавлю ещё какие) порт для всех,
а потом каждому дать определённую скорость.
Мне в голову приходит только архитектура с одним большим pipeом в котором queue для приоритезации, а потом каждому по pipe'у. Но насколько я понял это работать не будет (pipe в pipе)

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру