Перейти к содержимому
Калькуляторы

"Умный" QoS ? Как ограничить download от конкретного ресурса в конкретную подсеть?

Дано:

1. сервер на Linux (Fedora 6) на котором крутится некоторое кол-во сервисов (http, icq, ftp, teamspeak)

2. подсеть пользователей, находящихся за роутером, не умеющим QoS.

Задача:

1. Ограничить "общую" полосу от всех сервисов, находящихся на серевере, только в подсеть пользователей (например, 30Мбит из 100)

2. главная цель: ограничить полосу от (download) конкретного сервиса (файлообменник, работающий по http) только в подсеть пользователей, причем дать этому сервису самый низкий приоритет перед всеми работающими на сервере.

3. весь "оставшийся" трафик (в др. подсети и т.п.) пропускать "поверх" выделенной полосы с максимальным приоритетом.

 

Предполагаю, что это реализуемо на htb с "раскраской" трафика в iptables, но что-то никак не могу построить хотя-бы "концепцию" решения.. :( Самое непонятное - как выделить конкретный сервис из нескольких http, работающих на одном сервере??

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дополнительный IP на лупбэк + виртуал-хост на этот IP на hpptd - после этого все что будет сходить с этого ресурса, будет иметь src IP то который указан в виртуал-хосте. Ну а тут уже "крась" как хочеш...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дополнительный IP на лупбэк + виртуал-хост на этот IP на hpptd - после этого все что будет сходить с этого ресурса, будет иметь src IP то который указан в виртуал-хосте. Ну а тут уже "крась" как хочеш...
Гм.. А почему на лупбэк, чем плох езер?? И вообще, хорошо ли это? Может лучше алиас на езер? И будет ли работать tc с лупбэк-фейсом??

И второе - если на этом IP будет один виртуал-хост, то для чего тогда "красить" траф?

Что-то я еще больше запутался... :(

Может примерчиком ткнете, или ссылкой на похожее?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дополнительный IP на лупбэк + виртуал-хост на этот IP на hpptd - после этого все что будет сходить с этого ресурса, будет иметь src IP то который указан в виртуал-хосте. Ну а тут уже "крась" как хочеш...
Гм.. А почему на лупбэк, чем плох езер?? И вообще, хорошо ли это? Может лучше алиас на езер?
Потому что экономика должны быть экономной... - Если Вы будете вешать алиас на эзернет, то Вам это обойдется в 4 IP, т.е. в /30. Ну а если на лупбэк, то можно обойтись одним, т.е. /32.

 

И будет ли работать tc с лупбэк-фейсом??
Ээээ... Товарищ не понимает... - Поясняю:

Адрес нужен только для того что бы настроить апача в режим виртуалхоста не только по имени но и по адресу, что бы можно было этот трафик обработать фильтрами tc.

Т.е. сделали вы, допустим, медийный сервер с именем media.domain.com, на нем CMS-а какая нибудь и т.д... А непосредственно контент лежит на том же хосте, но отдается с сайта content.media.domain.com, который имеет IP отличный от IP media.domain.com.

При этом трафик в направлении пользователей сходит с интерфейса eth1.

 

Ну и что при этом произойдет? - Пришел Вася на вебморду media.domain.com, нарыл себе файлик с новым немецким порнофильмом и нажал на кнопочку "скачать". Фильм начинает скачиваться с виртуального вб сервера content.media.domain.com. Т.е. идет обмен между IP content.media.domain.com и IP Васиного ПК.

 

Ну и где же здесь "лупбэк", спросите Вы? - да на своем месте.

А TC где? - Ну конечно же на eth1... Т.е. где пользователи, там и TC.

 

И второе - если на этом IP будет один виртуал-хост, то для чего тогда "красить" траф?
Да... На этом адресе будет только один виртуал-хост - все верно. При этом, "красить" трафик (фвмарками) совершенно не обязательно.

Можно воспользоваться конструкцией:

tc filter add dev eth1 parent [идентификатор родительского класса] protocol ip u32 match ip src [iP виртуал-хоста] match ip dst [сеть IP адресов пользователей] flowid [идентификатор результирующего класса]

 

Что-то я еще больше запутался... :(
Нууу.... Это всего лишь один из вариантов...

Мне кажется что при определенном желании и апачу можно голову отвернуть так, что бы он на определенные адреса отдавал ресурсы с определенной скорость.

 

Может примерчиком ткнете, или ссылкой на похожее?
Ну честно говоря мне подобные изыски никогда нужны не были, посему рабочих конфигураций у меня нет.

Но исходя из банальной логики, то о чем я говорю, должно работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потому что экономика должны быть экономной... - Если Вы будете вешать алиас на эзернет, то Вам это обойдется в 4 IP, т.е. в /30. Ну а если на лупбэк, то можно обойтись одним, т.е. /32.
ip addr add 192.168.1.77/32 dev eth0

или

ifconfig eth0:0 192.168.1.77/32

 

 

По сути вопроса - iptables здесь не нужен. Нужен iproute2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.