The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"ipfw && limit"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"ipfw && limit"  +/
Сообщение от weldpua2008 email(ok) on 19-Янв-09, 04:16 
Привет всем
/>uname -r
6.2-RELEASE-p12
Организовываю ограничение по скорости на пользователей созданием 4-5 pipe'ов:

cmd="/sbin/ipfw -q add "
bw="/sbin/ipfw pipe "
u512=table\(10\)
$cmd 200  pipe 200 all from not 10.0.0.0/8 to $u512 in
$cmd 200  pipe 200 all from $u512 to not 10.0.0.0/8 out
$bw 200 config mask dst-ip 0x000000ff bw 512Kbit/s
и т.д.

Как теперь можно ограничить количество соединений для диапазона портов?
то есть Я хочу ограничить для каждого ИП находящегося в таблице table\(10\) допустим так:
максимальное количество входящих ИП для портов >1024 = 100, для остальных 200

Если Я увеличу количество pipe'ов в два раза и сделаю так будет ли работать?:

pipe 200 ip from table(5) to not me dst-port 1024-65535 out limit dst-addr 100
pipe 200 ip from table(5) to not me dst-port 1-1024 out limit dst-addr 200

pipe 200 ip from not me 1024-65535 to table(5) in src-addr 100
pipe 200 ip from not me 1-1024  to table(5) in src-addr 200

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • ipfw && limit, RSG, 11:19 , 22-Янв-09, (1)  
    • ipfw && limit, weldpua2008, 15:24 , 23-Янв-09, (2)  
      • ipfw && limit, RSG, 17:25 , 23-Янв-09, (3)  
        • ipfw && limit, agat, 17:50 , 16-Янв-10, (4)  
          • ipfw && limit, agat, 18:10 , 16-Янв-10, (5)  

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


1. "ipfw && limit"  +/
Сообщение от RSG (??) on 22-Янв-09, 11:19 
>[оверквотинг удален]
>ли работать?:
>pipe 200 ip from table(5) to not me dst-port 1024-65535 out limit
>dst-addr 100
>pipe 200 ip from table(5) to not me dst-port 1-1024 out limit
>dst-addr 200
>
>pipe 200 ip from not me 1024-65535 to table(5) in src-addr 100
>
>pipe 200 ip from not me 1-1024  to table(5) in src-addr
>200

Во первых, limit это STATEFUL firewall и как результат создает динамические правила. Как следствие, обычно, обратные правила не нужны. А они у Вас есть.

Во вторых,  как я понимаю скорость так же ограничивается на каждый IP, тогда логичнее было бы писать маску /32 в конфиге от pipe.

В третьих, т.к. limit динамически создает правила для каждой сессии на определенный порт и pipe у Вас так же определен как динамический, для каждого ипа, то в результате получится что скорость определенная в pipe будет выделена каждой сессии из limit.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "ipfw && limit"  +/
Сообщение от weldpua2008 email(??) on 23-Янв-09, 15:24 
>[оверквотинг удален]
>есть.
>
>Во вторых,  как я понимаю скорость так же ограничивается на каждый
>IP, тогда логичнее было бы писать маску /32 в конфиге от
>pipe.
>
>В третьих, т.к. limit динамически создает правила для каждой сессии на определенный
>порт и pipe у Вас так же определен как динамический, для
>каждого ипа, то в результате получится что скорость определенная в pipe
>будет выделена каждой сессии из limit.

Я 3-и раза прочитал и не понял - можно сделать то, что нужна на этом компе или нет?...
Если да, то Мне нужно с pipe'а ми по одному правилу?...

ЗЫ:
Если смотреть table(5) то там будут ип с маской /32

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "ipfw && limit"  +/
Сообщение от RSG (??) on 23-Янв-09, 17:25 
>Я 3-и раза прочитал и не понял - можно сделать то, что
>нужна на этом компе или нет?...
>Если да, то Мне нужно с pipe'а ми по одному правилу?...
>ЗЫ:
>Если смотреть table(5) то там будут ип с маской /32

Я хотел просто обратить внимание на то, что  динамические pipe и limit должны находиться в разных правилах.

Если идет ограничение на каждый ip то конфиг для пайпа должен выглядить так:
ipfw pipe 200 config mask dst-ip /32 bw 512Kb

Ваши правила мне не совсем понятны, например
pipe 200 ip from table(5) to not me dst-port 1024-65535 out limit dst-addr 100
Здесь Вы указываете адреса назначения к которым будет применено правило как "not me", и тут же говорите "out". А что, возможные пакеты по направлению к me в то время как они out?

Нужна схема для более точного написаня правил, но выглядеть по-моему это должно как-то так:

# Для каждого соединения на порты 1024-65535 с IP из таблицы 5 будут созданы динамические
# правила для прямого и обратного трафика. Таких соединений возможно не более 100 на каждый IP из таблицы 5.
# Далее передать трафик на проверку правилу 400
ipfw add 200 skipto 400 ip from table\(5\) to any dst-port 1024-65535 limit src-addr 100

# Для каждого соединения на порты 1-1023 с IP из таблицы 5 будут созданы динамические
# правила для прямого и обратного трафика. Таких соединений возможно не более 200 на каждый IP из таблицы 5.
# Далее передать трафик на проверку правилу 400
ipfw add 300 skipto 400 ip from table\(5\) to any dst-port 1-1023 limit src-addr 200

# На каждый IP из таблицы 5 создать свою (aka динамическую) трубу размером 512. Направление трафика от IP из таблицы 5
ipfw add 400 pipe 200 ip from table\(5\) to any
ipfw pipe 200 config mask src-ip /32 bw 512Kb

# На каждый IP из таблицы 5 создать свою (aka динамическую) трубу размером 512. Направление трафика к IP из таблицы 5
ipfw add 400 pipe 300 ip from any to table\(5\)
ipfw pipe 300 config mask dst-ip /32 bw 512Kb

Если я где-то что-то неправильно понял то поправте.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "ipfw && limit"  +/
Сообщение от agat (??) on 16-Янв-10, 17:50 
>[оверквотинг удален]
>размером 512. Направление трафика от IP из таблицы 5
>ipfw add 400 pipe 200 ip from table\(5\) to any
>ipfw pipe 200 config mask src-ip /32 bw 512Kb
>
># На каждый IP из таблицы 5 создать свою (aka динамическую) трубу
>размером 512. Направление трафика к IP из таблицы 5
>ipfw add 400 pipe 300 ip from any to table\(5\)
>ipfw pipe 300 config mask dst-ip /32 bw 512Kb
>
>Если я где-то что-то неправильно понял то поправте.

Не понятная ситуация получается, для чего обрабатывается правило прыгом на 400 правило?
Нельзя разве сразу написать
ipfw add 400 pipe 300 ip from any to table\(5\) dst-port 1024-65535

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "ipfw && limit"  +/
Сообщение от agat (??) on 16-Янв-10, 18:10 
Понял для чего, :) спасибо

столкнулся с такой же батвой, все поправил Автору респект и уважуха

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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