URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 77810
[ Назад ]

Исходное сообщение
"Лимитирование канала для скачивание через сервер"

Отправлено spry , 10-Дек-07 16:42 
Ситуация:
Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0) и в нем торчит wifi-карточка ath0 в режиме host-ap. Сервер постоянно чтото тянет через торренты, ед2к, и просто через хттп.

Проблема: иногда когда надо быстро чтото посмотреть в сети, дикие тормоза, потому как скачивание полностью скушало весь канал.

Задача: настроить сервер так, чтобы качание не мешало сёрфингу по сети, тоесть пока нету активности от ath0 к xl0 через НАТ, качать на полную пропускную способность канала, но как только появляется активность от ath0(в моем случае, пошел лазить или играться по сети с ноута), лимитировать скачивание.

Ограниение: лимитировать скачивание в каждой отдельной программе неудобно, надо все и сразу и динамически :)
Предложение(помидорами не бросатся): Можно ли както создать виртульный интерфейс сетевой, на который вешать все скачивания (ну какие возможно), с допусим айпишником 192.168.0.5, сделать какуюто связь к внешней сетевой, и потом уже лимитировать загрузку через IPFW?


Содержание

Сообщения в этом обсуждении
"Лимитирование канала для скачивание через сервер"
Отправлено SubGun , 10-Дек-07 16:57 
А почему не сразу оценивать, что за трафик и выделять ему нужную ширину канала? Либо оставить определенный канал для служебный соединений.

"Лимитирование канала для скачивание через сервер"
Отправлено spry , 10-Дек-07 20:39 
>А почему не сразу оценивать, что за трафик и выделять ему нужную
>ширину канала? Либо оставить определенный канал для служебный соединений.

Потому что у меня канал дома не такой толстый :) Всего 512 на мир которые для гуляния по сети используются максимум часа 2 в день, а все остальное время сервер домашний качает и качает. И ради этого для серфинга выделять жестко заданую трубу в канале неохота. Да и те 2 часа лазить как на модемной скорости тоже неприятно.. Вот и думаю как решить проблему!


"Лимитирование канала для скачивание через сервер"
Отправлено weldpua2008 , 10-Дек-07 21:34 
>>А почему не сразу оценивать, что за трафик и выделять ему нужную
>>ширину канала? Либо оставить определенный канал для служебный соединений.
>
>Потому что у меня канал дома не такой толстый :) Всего 512
>на мир которые для гуляния по сети используются максимум часа 2
>в день, а все остальное время сервер домашний качает и качает.
>И ради этого для серфинга выделять жестко заданую трубу в канале
>неохота. Да и те 2 часа лазить как на модемной скорости
>тоже неприятно.. Вот и думаю как решить проблему!

А что мешает написать скрипт который будет при запуске выделать ширину канала/приоритет для http/https/ftp, потом при запуске второго все вернуть назад?
или же просто определить приоритет для http/https/ftp, как наивысший в фаерволе и все?


"Лимитирование канала для скачивание через сервер"
Отправлено spry , 11-Дек-07 09:11 
>[оверквотинг удален]
>>на мир которые для гуляния по сети используются максимум часа 2
>>в день, а все остальное время сервер домашний качает и качает.
>>И ради этого для серфинга выделять жестко заданую трубу в канале
>>неохота. Да и те 2 часа лазить как на модемной скорости
>>тоже неприятно.. Вот и думаю как решить проблему!
>
>А что мешает написать скрипт который будет при запуске выделать ширину канала/приоритет
>для http/https/ftp, потом при запуске второго все вернуть назад?
>или же просто определить приоритет для http/https/ftp, как наивысший в фаерволе и
>все?

Да. По сути один из вариантов - но только я никак не могу придумать как эти скрипты автоматизировать.. Жену будет сложно научить запускать скрипты на сервере :)))
Кстати, а как приоритет выставлять то?


"Лимитирование канала для скачивание через сервер"
Отправлено Энди , 11-Дек-07 09:15 
>Ситуация:
>Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0)
>IPFW?

переход на 7 и man ipfw на предмет altq


"Лимитирование канала для скачивание через сервер"
Отправлено asipin , 11-Дек-07 10:18 
>>Ситуация:
>>Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0)
>>IPFW?
>
>переход на 7 и man ipfw на предмет altq

В линуксе есть такая штука - справедливый дележ канала. SFQ очереди. Наверно и во фре есть что-то аналогичное. А вообще, есть же очереди. Сделай их 2. Одну себе - с гарантированной скоростью ХХХ, а то что остается  - серверу. тогда при подключении ты будешь в нужные моменты забирать весь канал.


"Лимитирование канала для скачивание через сервер"
Отправлено spry , 11-Дек-07 13:47 
>[оверквотинг удален]
>>>Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0)
>>>IPFW?
>>
>>переход на 7 и man ipfw на предмет altq
>
>В линуксе есть такая штука - справедливый дележ канала. SFQ очереди. Наверно
>и во фре есть что-то аналогичное. А вообще, есть же очереди.
>Сделай их 2. Одну себе - с гарантированной скоростью ХХХ, а
>то что остается  - серверу. тогда при подключении ты будешь
>в нужные моменты забирать весь канал.

А если моя выделеная очередь с скоростью ХХХ не будет использоваться, очередь 2 будет ее использовать?


"Лимитирование канала для скачивание через сервер"
Отправлено asipin , 11-Дек-07 13:56 
>[оверквотинг удален]
>>>переход на 7 и man ipfw на предмет altq
>>
>>В линуксе есть такая штука - справедливый дележ канала. SFQ очереди. Наверно
>>и во фре есть что-то аналогичное. А вообще, есть же очереди.
>>Сделай их 2. Одну себе - с гарантированной скоростью ХХХ, а
>>то что остается  - серверу. тогда при подключении ты будешь
>>в нужные моменты забирать весь канал.
>
>А если моя выделеная очередь с скоростью ХХХ не будет использоваться, очередь
>2 будет ее использовать?

Да. В очереди сервера укажи скорость равную ширине канала. А в очереди на твой компьютер укажи такую же скорость и приоритет сделай больший и гарантированную скорость сделай равной ширине канал. Тогда, когда ты не занят, весь канал будет использоваться сервером.
Эта штука называется шейпер вроде во FreeBSD. Я просто немного путаюсь в терминологии, но знаю, друзья под фрей делали. Я тока знаю, как это сделать на cisco и на Linux. На Linux это делается через QoS и очереди.  Лень разбираться (ибо нафиг оно мне сейчас не надо), но судя по статье тут же на opennet.ru все достаточно просто.

http://www.opennet.me/base/net/ipfw_bandwidth_balance.txt.html
http://www.opennet.me/base/net/shaper_example.txt.html
http://www.opennet.me/docs/RUS/ipfw_rus/ar01s03.html