The OpenNET Project / Index page

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

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

"Раздел полезных советов: Пример ограничения полосы пропускан..."  +/
Сообщение от auto_tips on 14-Май-02, 11:00 
Собираем ядро с опциями:
   options         DUMMYNET
   options         IPFIREWALL

Ограничиваем трафик для сеток 1.1.1.0/24 и 3.3.3.0/24 на 14000 кбит/с:
   ipfw add pipe 50 tcp from any to 1.1.1.0/24 via fxp0
   ipfw add pipe 50 tcp from any to 3.3.3.0/24 via fxp0
   ipfw pipe 50 config bw 14Kbit/s

Для внесения задержки на N ms, используйте delay N после config.
Для установки веса данного пайпа по отношению к другим пайпам используйте weight вес.
Для WF2Q ограничения трафика используйте ipfw queue
(queue N config [pipe pipe_nr] [weight weight] [queue {slots | size})

URL:
Обсуждается: http://www.opennet.dev/tips/info/226.shtml

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

Оглавление

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


1. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от gara email on 14-Май-02, 11:00 
все вышеперечисленное работает как правило:
полоса пропускания для всех IP, т.е. для всех пользователей из сетки 1.1.1.0/24
суммарно скорость
прокачки 14000 кбит/с.
Если возникает необходимость организовать "канал" для каждого пользователя из нанной сети то пишем

ipfw pipe 10 config mask dst-ip 0x000000ff bw 1024bit/s  queue
ipfw add pipe 10 tcp from any to 1.1.1.0/24 via fxp0

Теперь каждый хост из сети 1.1.1.0/24 имеет свой канал 1024bit/s


А вот как срастить эти два правил (для всех 5Mbit/s но не более
512Kbit/s для каждого)  пока не знаю.

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

2. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от Аноним on 18-Ноя-02, 16:30 
В /etc/sysctl.conf пишем net.inet.ip.fw.one_pass=0 (или sysctl -w net.inet.ip.fw.one_pass=0). Ну и соответсвенно создаем две pipe - на сеть потом на хосты.
Могу ошибиться но вроде так.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от Radist UA email on 16-Апр-06, 02:56 
Именно так.
net.inet.ip.fw.one_pass=0
Сначала общий пайп на 5Mbit/s
Потом пайп на 512Kbit/s для каждого

ИМХО предложенное решение создает каналы указанной пропускной способности Но только для ВХОДЯЩЕГО траффика. Для шейпинга и исходящего повторить то-же только поменять from и to местами

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

6. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от Антон email(??) on 04-Май-06, 16:18 
а если имеется шлюз в инет, но машины при этом все с реальными ип?подскажите плиз как сделать так, чтобы весь трафик клиентам распределялся пайпами по 512Кбит?..все что тут написано у меня почемуто не проходит?..и эти правила должны быть добавлены в самый конец?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от anclbob email(??) on 24-Июл-06, 00:29 
А можно написать пример того как создавать общий pipe , а потом в него запихивать другие pipe ??
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от VoLKL email on 06-Дек-06, 12:57 
Вот накатал тут скрипт, как думаете будет реально работать

#!/bin/sh
ipfw='/sbin/ipfw -q'

${ipfw} disable one_pass
${ipfw} flush
${ipfw} pipe flush
${ipfw} add divert natd all from any to any via lnc0

# Pipe for all users
#${ipfw} pipe 10 config
#${ipfw} pipe 20 config

${ipfw} queue 10 config pipe 10 weight 50 mask src-ip 0xffffffff
${ipfw} queue 20 config pipe 20 weight 50 mask dst-ip 0xffffffff

${ipfw} add queue 10 all from 192.168.0.0/24 to any out via lnc0
${ipfw} add queue 20 all from any to 192.168.0.0/24 in via lnc0

# Pipe for each user

${ipfw} pipe 30 config bw 128Kbit/s mask src-ip 0xffffffff
${ipfw} pipe 40 config bw 128Kbit/s mask dst-ip 0xffffffff

${ipfw} add pipe 30 all from 192.168.0.0/24 to any out via lnc0
${ipfw} add pipe 40 all from any to 192.168.0.0/24 in via lnc0

# Permissions

${ipfw} add allow all from 192.168.0.0/24 to any out via lnc0
${ipfw} add allow all from any to 192.168.0.0/24 in via lnc0

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

9. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от VoLKL email on 06-Дек-06, 12:58 
Вот накатал тут скрипт, как думаете будет реально работать

#!/bin/sh
ipfw='/sbin/ipfw -q'

${ipfw} disable one_pass
${ipfw} flush
${ipfw} pipe flush
${ipfw} add divert natd all from any to any via lnc0

# Pipe for all users
#${ipfw} pipe 10 config
#${ipfw} pipe 20 config

${ipfw} queue 10 config pipe 10 weight 50 mask src-ip 0xffffffff
${ipfw} queue 20 config pipe 20 weight 50 mask dst-ip 0xffffffff

${ipfw} add queue 10 all from 192.168.0.0/24 to any out via lnc0
${ipfw} add queue 20 all from any to 192.168.0.0/24 in via lnc0

# Pipe for each user

${ipfw} pipe 30 config bw 128Kbit/s mask src-ip 0xffffffff
${ipfw} pipe 40 config bw 128Kbit/s mask dst-ip 0xffffffff

${ipfw} add pipe 30 all from 192.168.0.0/24 to any out via lnc0
${ipfw} add pipe 40 all from any to 192.168.0.0/24 in via lnc0

# Permissions

${ipfw} add allow all from 192.168.0.0/24 to any out via lnc0
${ipfw} add allow all from any to 192.168.0.0/24 in via lnc0

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

10. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от Александр email(??) on 16-Янв-08, 12:43 
Как разделить общий канал при условии:
в общем канале есть пользователи
1я очередь - пользователи с высоким приоритетом,
2я очередь - пользователи с низким приоритетом
3я очередь - все что осталось, делят между собой пользователи с выделеной полосой 128, 256к и получали свою полосу в случае если общая полоса не занята пользователями с высокими приоритетами. 1 и 2

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

11. "Пример ограничения полосы пропускания трафика в FreeBSD"  +/
Сообщение от luser (??) on 09-Июн-10, 10:37 
Сделал так как написано выше:
# Pipe for each user

${ipfw} pipe 30 config bw 128Kbit/s mask src-ip 0xffffffff
${ipfw} pipe 40 config bw 128Kbit/s mask dst-ip 0xffffffff

${ipfw} add pipe 30 all from 192.168.0.0/24 to any out via lnc0
${ipfw} add pipe 40 all from any to 192.168.0.0/24 in via lnc0

Скорость входящая ограничивается идеально. Но исходящая не режется. В чем подвох?

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

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

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




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

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