Доброго времени суток, All!Есть проблема следующего характера: есть внешний канал, и есть подсеть ходящая в интернет через внешний канал
я нахожусь в подсети шлюза
канал X kb/s, синхронный
Необходимо: вычислить текущую загрузку внешнего канала в единицу времени (допустим Y kb/s) и залочить скорость на моей машине (X-Y) kb/s
e.g.:
всего 14 kb/s
Входящий трафик бежит со скоростью- 12 kb/s - значит моя машина залочена на 2 kb/s
Входящий трафик бежит со скоростью - 3 kb/s - я залочен на 11 kb/s
Пересчет коэффициента производить как можно чаще
То есть есть подсеть юзеров и серваки и необходимо не мешать им работать - то есть догружать канал до максимума но не отбирать у них bandwith.
Заранее благодарен за любые наработки по этому вопросу
ОС: FreeBSD
Хоть эта тема и интересует многих, но разработок к сожалению таких вроде бы нет. По крайней мере на этом форуме ИМХО никто ничем не поможет.
Хотя можно было бы собраться всем и самим подумать эту тему.
Кстати, вот сейчас нашел одну программульку, правда под Линукс, Linux BandWidth tool:
http://sourceforge.net/project/showfiles.php?group_id=118974...Так вот, узнать скорость можно как по интерфейсу, так и по IP адресам, по портам, протоколам.
Пример (скорость tcp трафика на адрес 192.168.0.6 интерфейса eth0 за время 10 секунд):
# ./bw -i eth0 -t 10 -p tcp --daddr 192.168.0.6 -q|grep Bandwidth|sed 's/Bandwidth used: //g'Выдаст, например: 6.79 Kb/s
А отсюда уже можно шагать дальше... скажем уже менять конфиги для CBQ и т.п.
Присоединяйтесь! Мы что-нибудь все вместе придумаем!
Привет!Случаем не пробовал ALTq ?
В 5-ую версию она входит в дистр, а в четверке есть в портах.
погляди может и пригодится ...
Все что тебе надо это pf+altq
Используй cbq
1. Вычисляем требуемую ширину канала для нормальной работы серверов
2. умножаем ее на 1.5 ( надо наблюдать по времени )
3. делим внешний канал на 2 очереди1 очередь ( сервера ) = пункт 2 + самый высокий приоритет
2 очередь все остальные + borrow ( это значит что когда 1 очередь занимает не всю свою полосу то 2 очередь может ее ( в случае необходимости ) позаимствовать у 1 очереди )радуемся
можно отслеживать состояние очередей
pfctl -vsq == выдираем байты -> загоняем в mrtg
1. Что за pf?
2. Можно пример?
>Доброго времени суток, All!
>
>Есть проблема следующего характера: есть внешний канал, и есть подсеть ходящая в
>интернет через внешний канал
>я нахожусь в подсети шлюза
>канал X kb/s, синхронный
>Необходимо: вычислить текущую загрузку внешнего канала в единицу времени (допустим Y kb/s)
>и залочить скорость на моей машине (X-Y) kb/s
>e.g.:
>всего 14 kb/s
>Входящий трафик бежит со скоростью- 12 kb/s - значит моя машина залочена
>на 2 kb/s
>Входящий трафик бежит со скоростью - 3 kb/s - я залочен
>на 11 kb/s
>Пересчет коэффициента производить как можно чаще
>То есть есть подсеть юзеров и серваки и необходимо не мешать им
>работать - то есть догружать канал до максимума но не отбирать
>у них bandwith.
>Заранее благодарен за любые наработки по этому вопросу
>ОС: FreeBSDНичего не надо динамически вычислять. Ставишь себе более низкий приоритет и будешь сидеть на "остатках". HTB будет самое то.
>Доброго времени суток, All!
>
>Есть проблема следующего характера: есть внешний канал, и есть подсеть ходящая в
>интернет через внешний канал
>я нахожусь в подсети шлюза
>канал X kb/s, синхронный
>Необходимо: вычислить текущую загрузку внешнего канала в единицу времени (допустим Y kb/s)
>и залочить скорость на моей машине (X-Y) kb/s
>e.g.:
>всего 14 kb/s
>Входящий трафик бежит со скоростью- 12 kb/s - значит моя машина залочена
>на 2 kb/s
>Входящий трафик бежит со скоростью - 3 kb/s - я залочен
>на 11 kb/s
>Пересчет коэффициента производить как можно чаще
>То есть есть подсеть юзеров и серваки и необходимо не мешать им
>работать - то есть догружать канал до максимума но не отбирать
>у них bandwith.
>Заранее благодарен за любые наработки по этому вопросу
>ОС: FreeBSDключевые слова
ipfw queue pipe weightнапример
http://www.opennet.me/base/net/ipfw_queue_vip.txt.html
Всем большое спасибо
сейчас собираю ядро с options ALTQ
может чего еще упустил? когда поставил компилится буквально через пять минут нашел options CBQ и тому подобные
где то можно найти описания всех этих штук - предназначение
ну и по настройке тоже
если в гугле есть - то не напрягайтесь сейчас сам буду искать
но если у кого есть где нибудь сохраненные линки - кидайте
Упустил момент что это с системой идет
читаю маны
>Упустил момент что это с системой идет
>читаю маныядро
device pf #PF OpenBSD packet-filter firewall
device pflog #logging support interface for PF
device pfsync #synchronization interface for PFoptions ALTQ
options ALTQ_CBQ # Class Bases Queueing
options ALTQ_RED # Random Early Drop
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler
options ALTQ_CDNR # Traffic conditioner
options ALTQ_PRIQ # Priority Queueing
options ALTQ_DEBUG
options HZ=1000rc.conf
pf_enable="YES"
pf_rules="/etc/you file rules pf ( default pf.conf )
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_program="/sbin/pflogd"идем в google ищем altq pf.conf
надираем примеров
переписываем под себяудачи
А что кошернее для моей цели - ipfw queue pipe weight OR altq ?
И почему?