LINUX.ORG.RU
ФорумAdmin

Простой Traffic Shaping


0

0

Я абсолютно несведущ в этом вопросе, поэтому хотелось бы услышать как поднять самый простой Traffic Shaping.

Ситуация: ADSL: uplink ~500K/sec downlink ~2000K/sec; локалка 100M

eth0 - внешний интерфейс (Интернет), eth1 - внутренний - за ним NAT

1) Нужно ограничить скорость скачивания из локальной сети по FTP с *одного* определенного внешнего сайта - *максимум* 500K/sec, причём наш Линукс сервер не должен быть ограничен насчёт этого внешнего сайта

2) Нужно ограничить скорость скачивания по FTP с нашего сервера из внешней сети - не более 50% uplink'a

3) Нужно ограничить скорость скачивания по FTP с нашего сервера из внутренней сети - не более 5Mb/sec

4) Тоже, что и 1), но для всех сайтов не входящих в определённый диапазон (Весь Интернет & !диапазон1 & !диапазон2 & !диапазон3) с ограничением для локальной сети и нашего Линукс сервера в 100K/sec

★★★★★

И какие модули ядра для этого нужно.

birdie ★★★★★
() автор топика

самый простой способ , имхо - использовать htb.init , там всё понятно и с примерами. 4) - выставлять метки iptables и потом разгребать по ним.

romka
()

Ты удивишься, насколько рулит поиск :)

>~500K/sec downlink ~2000K/sec

K - это kbit или kbyte? Я так понимаю, что Kbit.

>4) Тоже, что и 1), но для всех сайтов не входящих в определённый диапазон (Весь Интернет & !диапазон1 & !диапазон2 & !диапазон3) с ограничением для локальной сети и нашего Линукс сервера в 100K/sec

Т.е. wget _и на сервере_ и из локалки, с сайта, не входящего в диапазон должен качать не более 100kbit/s? Хотя благодаря префиксу "тоже, что и 1)", в котором вообще другое условие, не ясно почти ничего :)

Но если действительно надо ограничивать и сеть и сервер одним условием, но надо использовать IMQ, иначе никак.

Если тебя интересует подход в целом, то я бы сделал так.

на eth0: вешаем htb на 2 класса (1 для трафика из пункта [2] с rate 250Kbit/s ceil=rate, второй - htb default с rate=250Kbit/s ceil=500Kbit/s). Сюда направляем трафик к твоему ftp.

на eth1: вешаем htb на 1 класс, без htb default. У этого эдинственного класса делаем rate=5Mbit/s ceil=rate и направляем в него трафик с "src=твой_ftp_ip, src_port=20". ftp_ip может быть несколько, если пользователи качают с твоего сервера и по локальному[-ным] IP и по внешнему.

на imq0: вешаем htb на 3 класса (для трафика из пунта [1] c rate 500kbit/s ceil=rate, для трафика [4] с rate=2000-100-500=1400Kbit/s ceil=2000Kbit/s и htb default c rate=100Kbit/s ceil=rate). На imq0 в -t mangle POSTROUTING направляем транзитный трафик _в_ локальную сеть, в -t mangle PREROUTING трафик _к_ твоему серверу.

Если я нигде не ошибся и понял твое условие правильно, все вроде должно работать, как ты хочешь.

Примеры реализации конкретных команд в поиске и по ссылкам, это самое простое.

P.S.

>_самый простой_ Traffic Shaping

Да уж.. :)

fagot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.