Лимиты на трафик

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
aliet
ефрейтор
Сообщения: 67
Зарегистрирован: 2007-08-25 19:24:21

Лимиты на трафик

Непрочитанное сообщение aliet » 2007-08-25 19:29:37

Доброго времени суток!

Есть гейт на фре 5.4. Нужно ограничить интернет-трафик пользователей. Как реализовать по возможности проще и быстрее?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Лимиты на трафик

Непрочитанное сообщение dikens3 » 2007-08-25 19:42:56

Смотря как ходят пользователи, только squid?
Тогда список составляешь, и меняешь по крону (удаляешь пользователя из списка) при превышении лимита.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35068
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Лимиты на трафик

Непрочитанное сообщение Alex Keda » 2007-08-25 22:40:59

aliet писал(а):Доброго времени суток!

Есть гейт на фре 5.4. Нужно ограничить интернет-трафик пользователей. Как реализовать по возможности проще и быстрее?
неправильный вопрос - как итог невозможно ответить.
вариантов как у тя организована раздача инета - просто масса....
Убей их всех! Бог потом рассортирует...

Аватара пользователя
aliet
ефрейтор
Сообщения: 67
Зарегистрирован: 2007-08-25 19:24:21

Re: Лимиты на трафик

Непрочитанное сообщение aliet » 2007-08-26 9:38:04

dikens3 писал(а):Смотря как ходят пользователи, только squid?
Тогда список составляешь, и меняешь по крону (удаляешь пользователя из списка) при превышении лимита.
На гейте nat+ipfw. Сквид есть, но мне же не только http резать надо! У нас народ активно почту пользует и фтп - их тоже резать надо по общей сумме.
lissyara писал(а):неправильный вопрос - как итог невозможно ответить.
вариантов как у тя организована раздача инета - просто масса....
Статистика по трафику собирается через netflow, потом запихивается в базу мускула. Хотел сделать запрос к базе по крону - рещение не прошло, т.к. база огромна, запрос выполняется долго - получится сильно неоперативно :(

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35068
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Лимиты на трафик

Непрочитанное сообщение Alex Keda » 2007-08-26 10:29:53

ну так суммируй по дням в отдельную таблицу
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Лимиты на трафик

Непрочитанное сообщение dikens3 » 2007-08-26 11:50:29

У меня такое действо (запрос + блок ) занимает одну минуту в сумме. Но на всех пользователей.

переделывай базу, индексы включай и т.д.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
aliet
ефрейтор
Сообщения: 67
Зарегистрирован: 2007-08-25 19:24:21

Re: Лимиты на трафик

Непрочитанное сообщение aliet » 2007-08-30 10:00:33

dikens3 писал(а):У меня такое действо (запрос + блок ) занимает одну минуту в сумме. Но на всех пользователей.

переделывай базу, индексы включай и т.д.
У меня база размером 4,5 Гб, запрос занимает около 5 минут, соотв. ~10Мб\сек - скорость винта :) Подскажи, плз, как у тебя база организована и каким образом ты пользователей блокируешь?
lissyara писал(а):ну так суммируй по дням в отдельную таблицу
А смысл? у меня просто база огромная :( хотя организована она наверное неоптимально - у меня там поля IP отправителя и получателя - текстовые, а остальные - int. Храню инфу за 100 дней, все, что старше по крону ночью убивается. Подскажи, как базу оптимизировать? может резать ее по месяцам? и как потом в ipfw правила через скриптик добавить, для блокирования пользователей?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35068
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Лимиты на трафик

Непрочитанное сообщение Alex Keda » 2007-08-30 10:08:41

и правда....
какой смысл - пробегать по миллиону записей, если можно по сотне....
Убей их всех! Бог потом рассортирует...

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Лимиты на трафик

Непрочитанное сообщение dikens3 » 2007-08-30 10:36:01

Ну я завёл у каждого пользователя поля Лимит и Реальное количество прошедшего трафика.

В течении дня данные прошедшего трафика изменяются и сравниваются с лимитом. + ещё поле, ACTIVE=Y или N

Согласно этим полям я выдираю IP-Адреса ACTIVE=Y и создаю таблицу в IPFW

А в конце для забиваю траффик в логи, уже суммированный как мне надо.
Получается на каждого пользователя около 10 записей в день.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
aliet
ефрейтор
Сообщения: 67
Зарегистрирован: 2007-08-25 19:24:21

Re: Лимиты на трафик

Непрочитанное сообщение aliet » 2007-09-04 10:35:59

dikens3 писал(а): Согласно этим полям я выдираю IP-Адреса ACTIVE=Y и создаю таблицу в IPFW

А в конце для забиваю траффик в логи, уже суммированный как мне надо.
Получается на каждого пользователя около 10 записей в день.
Можно эту часть поподробнее расписать? ЖЕлательно прямо в виде how-to :)

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Лимиты на трафик

Непрочитанное сообщение dikens3 » 2007-09-04 13:07:18

У меня времени нет писать How-to. (Я давно учёт писал, и сам нифига не помню, рабираться лень)
Сделано в базе postgresql и pgbash

Код: Выделить всё

# Блокируем превысивших лимит траффика
        exec_sql -qATB "UPDATE \"$groups\" SET active='N' WHERE world > traffic;"
Типа того. :-)
У меня список IP действующих пользователей (active=Y) скидывается в файл и потом:

Код: Выделить всё

ipfw table 3 f
            mynets=$(cat activeusers)
            for ip in $mynets
                    do
                    ipfw table 3 add $ip
                    done
Примерно так.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.