The OpenNET Project / Index page

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

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

"проблема с pipe в FreeBSD"  
Сообщение от netop email on 30-Янв-07, 12:48 
У меня есть канал 1024Кбит/с, нужно разделить его между пользователями, так чтобы у одних была скорость 80Кбит/с, у других 64Кбит/с а у третих - 32Кбит/с.
Почитал статьи насчет использования pipe - мало что понял :( Мне для каждого пользователя создавать свой пайп, или очередями это делать? Можно примерчик?

Вот как я это думаю:
#user1
ipfw pipe 1 config bw 80Kbit/s queue 20
ipfw queue  1 config pipe 1 weight 50 queue 20
ipfw add queue  1 ip from 192.168.1.1 to any
....
#user55
ipfw pipe 55 config bw 64Kbit/s queue 20
ipfw queue  55 config pipe 55 weight 50 queue 20
ipfw add queue  55 ip from 192.168.1.97 to any

Мне кажется - так работать не будет, особенно если юзеров больше, чем пропускная способность канала, как еще можно?
Подскажите пожалуйста!!!

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

 Оглавление

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


1. "проблема с pipe в FreeBSD"  
Сообщение от Kos (??) on 30-Янв-07, 13:55 
>У меня есть канал 1024Кбит/с, нужно разделить его между пользователями, так чтобы
>у одних была скорость 80Кбит/с, у других 64Кбит/с а у третих
>- 32Кбит/с.
>Почитал статьи насчет использования pipe - мало что понял :( Мне для
>каждого пользователя создавать свой пайп, или очередями это делать? Можно примерчик?
>
>
>Вот как я это думаю:
>#user1
>ipfw pipe 1 config bw 80Kbit/s queue 20
>ipfw queue  1 config pipe 1 weight 50 queue 20
>ipfw add queue  1 ip from 192.168.1.1 to any
>....
>#user55
>ipfw pipe 55 config bw 64Kbit/s queue 20
>ipfw queue  55 config pipe 55 weight 50 queue 20
>ipfw add queue  55 ip from 192.168.1.97 to any
>
ipfw add pipe 1 tcp from IP_serv to IP_cli1,IP_cli2,IP_cli3
ipfw add pipe 2 tcp from IP_serv to IP_cli4,IP_cli5,IP_cli6

ipfw pipe 1 config bw 80Kb/s
ipfw pipe 2 config bw 64Kb/s

>Мне кажется - так работать не будет, особенно если юзеров больше, чем
>пропускная способность канала, как еще можно?
>Подскажите пожалуйста!!!

А причем тут пропускная способность? Она что, меньше чем 80Kb/s :)

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

3. "проблема с pipe в FreeBSD"  
Сообщение от netop email on 30-Янв-07, 15:44 
>ipfw add pipe 1 tcp from IP_serv to IP_cli1,IP_cli2,IP_cli3
>ipfw add pipe 2 tcp from IP_serv to IP_cli4,IP_cli5,IP_cli6
>
>ipfw pipe 1 config bw 80Kb/s
>ipfw pipe 2 config bw 64Kb/s

А разве так получится на каждого юзера по 80Кбит/с? Я думал что если так сделать, то 80Кбит будут делится на IP_cli1,IP_cli2 и IP_cli3 ! Или я ошибаюсь?

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

2. "проблема с pipe в FreeBSD"  
Сообщение от mummy on 30-Янв-07, 15:39 
#Allows to use more than 1 pipe for packet
/sbin/sysctl net.inet.ip.fw.one_pass=0

#External interface, please change this value!
ipfw add allow ip from any to any via rl0

#users 80Kbit
ipfw pipe 3 config mask dst-ip 0xffffffff bw 80Kbit/s
ipfw pipe 4 config mask src-ip 0xffffffff bw 80Kbit/s
ipfw add pipe 3 ip from any to 192.168.1.1,192.168.1.2,192.168.1.3 out #To client
ipfw add pipe 4 ip from 192.168.1.1,192.168.1.2,192.168.1.3 to any in  #From client

#users 64Kbit
ipfw pipe 5 config mask dst-ip 0xffffffff bw 64Kbit/s
ipfw pipe 6 config mask src-ip 0xffffffff bw 64Kbit/s
ipfw add pipe 5 ip from any to 192.168.1.4,192.168.1.5,192.168.1.6 out #To client
ipfw add pipe 6 ip from 192.168.1.4,192.168.1.5,192.168.1.6 to any in  #From client

#users 32Kbit
ipfw pipe 7 config mask dst-ip 0xffffffff bw 64Kbit/s
ipfw pipe 8 config mask src-ip 0xffffffff bw 64Kbit/s
ipfw add pipe 7 ip from any to 192.168.1.7,192.168.1.7,192.168.1.7 out #To client
ipfw add pipe 8 ip from 192.168.1.7,192.168.1.7,192.168.1.7 to any in  #From client

#Queue for max 1024Kbit/s download and max 1024Kbit/s upload
ipfw queue 1 config pipe 1 mask dst-ip 0xffffffff
ipfw pipe 1 config bw 1024Kbit/s
ipfw queue 2 config pipe 2 mask src-ip 0xffffffff
ipfw pipe 2 config bw 1024Kbit/s
ipfw add queue 1 ip from any to 192.168.1.0/24 out #To client
ipfw add queue 2 ip from 192.168.1.0/24 to any in  #From client

Если списки адресов (192.168.1.1,192.168.1.2,192.168.1.3) будут слишком длинными, рекомендую использовать table:
ipfw add pipe 3 ip from any to "table(1)" out #To client
ipfw add pipe 4 ip from "table(1)" to any in  #From client
ipfw table 1 add 192.168.1.1
ipfw table 1 add 192.168.1.2
ipfw table 1 add 192.168.1.3
...

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

4. "проблема с pipe в FreeBSD"  
Сообщение от netop email on 30-Янв-07, 15:50 
>#users 80Kbit
>ipfw pipe 3 config mask dst-ip 0xffffffff bw 80Kbit/s
>ipfw pipe 4 config mask src-ip 0xffffffff bw 80Kbit/s
>ipfw add pipe 3 ip from any to 192.168.1.1,192.168.1.2,192.168.1.3 out #To client
>
>ipfw add pipe 4 ip from 192.168.1.1,192.168.1.2,192.168.1.3 to any in  #From
>client

Вот это уже похоже на правду!!!! Огромаднейшее спасибо mummy !!!!!
Сейчас буду делать :)

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

5. "проблема с pipe в FreeBSD"  
Сообщение от netop email on 30-Янв-07, 20:42 
А если я хочу разделить канал! Т.е одной сети дать 512К и другой столько-же, мне тогда делать:
#Queue for max 512Kbit/s download and max 512Kbit/s upload
ipfw queue 1 config pipe 1 mask dst-ip 0xffffffff
ipfw pipe 1 config bw 512Kbit/s
ipfw queue 2 config pipe 2 mask src-ip 0xffffffff
ipfw pipe 2 config bw 512Kbit/s
ipfw add queue 1 ip from any to 192.168.1.0/24 out #To client
ipfw add queue 2 ip from 192.168.1.0/24 to any in  #From client

И тоже самое для другой сети?
#Queue for max 512Kbit/s download and max 512Kbit/s upload
ipfw queue 3 config pipe 1 mask dst-ip 0xffffffff
ipfw pipe 3 config bw 512Kbit/s
ipfw queue 4 config pipe 2 mask src-ip 0xffffffff
ipfw pipe 4 config bw 512Kbit/s
ipfw add queue 3 ip from any to 192.168.2.0/24 out #To client
ipfw add queue 4 ip from 192.168.2.0/24 to any in  #From client

А верхнюю часть оставить также?

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

6. "проблема с pipe в FreeBSD"  
Сообщение от masters (ok) on 10-Дек-08, 00:31 
>>#Allows to use more than 1 pipe for packet
>>/sbin/sysctl net.inet.ip.fw.one_pass=0

подскажите, как для этой схемы задать, через какие пайпы пакету проходить, а через какие нет ?

например 1й пайп - общая скорость,
2й пайп - скорость для конкретных IP (на каждого)
3й пайп - скорость для всей сети (на каждого)

Если я в 3м пайпе задам всю сеть, то по идее все пакеты 2го пайпа попадут и в 3й? И им выставится меньшая скорость ???

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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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