Ситуация:
Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0) и в нем торчит wifi-карточка ath0 в режиме host-ap. Сервер постоянно чтото тянет через торренты, ед2к, и просто через хттп.Проблема: иногда когда надо быстро чтото посмотреть в сети, дикие тормоза, потому как скачивание полностью скушало весь канал.
Задача: настроить сервер так, чтобы качание не мешало сёрфингу по сети, тоесть пока нету активности от ath0 к xl0 через НАТ, качать на полную пропускную способность канала, но как только появляется активность от ath0(в моем случае, пошел лазить или играться по сети с ноута), лимитировать скачивание.
Ограниение: лимитировать скачивание в каждой отдельной программе неудобно, надо все и сразу и динамически :)
Предложение(помидорами не бросатся): Можно ли както создать виртульный интерфейс сетевой, на который вешать все скачивания (ну какие возможно), с допусим айпишником 192.168.0.5, сделать какуюто связь к внешней сетевой, и потом уже лимитировать загрузку через IPFW?
А почему не сразу оценивать, что за трафик и выделять ему нужную ширину канала? Либо оставить определенный канал для служебный соединений.
>А почему не сразу оценивать, что за трафик и выделять ему нужную
>ширину канала? Либо оставить определенный канал для служебный соединений.Потому что у меня канал дома не такой толстый :) Всего 512 на мир которые для гуляния по сети используются максимум часа 2 в день, а все остальное время сервер домашний качает и качает. И ради этого для серфинга выделять жестко заданую трубу в канале неохота. Да и те 2 часа лазить как на модемной скорости тоже неприятно.. Вот и думаю как решить проблему!
>>А почему не сразу оценивать, что за трафик и выделять ему нужную
>>ширину канала? Либо оставить определенный канал для служебный соединений.
>
>Потому что у меня канал дома не такой толстый :) Всего 512
>на мир которые для гуляния по сети используются максимум часа 2
>в день, а все остальное время сервер домашний качает и качает.
>И ради этого для серфинга выделять жестко заданую трубу в канале
>неохота. Да и те 2 часа лазить как на модемной скорости
>тоже неприятно.. Вот и думаю как решить проблему!А что мешает написать скрипт который будет при запуске выделать ширину канала/приоритет для http/https/ftp, потом при запуске второго все вернуть назад?
или же просто определить приоритет для http/https/ftp, как наивысший в фаерволе и все?
>[оверквотинг удален]
>>на мир которые для гуляния по сети используются максимум часа 2
>>в день, а все остальное время сервер домашний качает и качает.
>>И ради этого для серфинга выделять жестко заданую трубу в канале
>>неохота. Да и те 2 часа лазить как на модемной скорости
>>тоже неприятно.. Вот и думаю как решить проблему!
>
>А что мешает написать скрипт который будет при запуске выделать ширину канала/приоритет
>для http/https/ftp, потом при запуске второго все вернуть назад?
>или же просто определить приоритет для http/https/ftp, как наивысший в фаерволе и
>все?Да. По сути один из вариантов - но только я никак не могу придумать как эти скрипты автоматизировать.. Жену будет сложно научить запускать скрипты на сервере :)))
Кстати, а как приоритет выставлять то?
>Ситуация:
>Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0)
>IPFW?переход на 7 и man ipfw на предмет altq
>>Ситуация:
>>Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0)
>>IPFW?
>
>переход на 7 и man ipfw на предмет altqВ линуксе есть такая штука - справедливый дележ канала. SFQ очереди. Наверно и во фре есть что-то аналогичное. А вообще, есть же очереди. Сделай их 2. Одну себе - с гарантированной скоростью ХХХ, а то что остается - серверу. тогда при подключении ты будешь в нужные моменты забирать весь канал.
>[оверквотинг удален]
>>>Есть домашний сервер под FreeBSD 6.2, который подключен к миру через LAN(xl0)
>>>IPFW?
>>
>>переход на 7 и man ipfw на предмет altq
>
>В линуксе есть такая штука - справедливый дележ канала. SFQ очереди. Наверно
>и во фре есть что-то аналогичное. А вообще, есть же очереди.
>Сделай их 2. Одну себе - с гарантированной скоростью ХХХ, а
>то что остается - серверу. тогда при подключении ты будешь
>в нужные моменты забирать весь канал.А если моя выделеная очередь с скоростью ХХХ не будет использоваться, очередь 2 будет ее использовать?
>[оверквотинг удален]
>>>переход на 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