Квотирование трафика Интернет

Обсуждение технических вопросов по продуктам Novell

Квотирование трафика Интернет

Сообщение Елена Лезгина » 30 сен 2004, 12:19

Добрый день!
Уже давно используем Border Manager для выхода в Интернет. Но вот в последнее время руководство требует внедрить практику квотирования пользователей при работе в Интернет и автоматическом отключения их от Интернета при превышении квоты. Знаем несколько подобных продуктов под Windows и под Linux. Нет ли аналогичных "примочек" к BM? Или каких-нибудь продуктов третьих фирм, совместимых с BM? Нас очень устраивает SSO-аутентификация пользователей. Хотелось бы продукт, совместимый с NDS.
Аватара пользователя
Елена Лезгина
 
Сообщения: 310
Зарегистрирован: 06 июн 2002, 08:42
Откуда: Пермь

Сообщение Андрей Тр. aka RH » 30 сен 2004, 13:22

Авторы NVStat обещали подумать на эту тему :) тут где-то была небольшая дискуссия на схожую тему, с той только разницей, что лично мне хочется подобное для Сквида. Логика, вроде, понятна - надо только программировать.
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение alexp_mac » 30 сен 2004, 14:58

[quote="Андрей Тр. aka RH"]Авторы NVStat обещали подумать на эту тему :) тут где-то была небольшая дискуссия на схожую тему, с той только разницей, что лично мне хочется подобное для Сквида. Логика, вроде, понятна - надо только программировать.[/quote]

Более чем ясна... тут один человек на соплярисе и сквиде делал: раз в час отрабатывает перловый скрипт, считает трафик и отрубает.
тут дело в том, что забугром трафик никто не считает, поэтому все решения могут быть только доморощенными.
alexp_mac
 
Сообщения: 788
Зарегистрирован: 28 июн 2002, 10:50

Сообщение Андрей Тр. aka RH » 30 сен 2004, 15:47

Алексей Подгорчук писал(а):Более чем ясна... тут один человек на соплярисе и сквиде делал: раз в час отрабатывает перловый скрипт, считает трафик и отрубает. тут дело в том, что забугром трафик никто не считает, поэтому все решения могут быть только доморощенными.
Да, примерно так - регулярно считает трафик ( можно чаще, чем раз в час ) и пихает в группу в случае чего ( которым нельзя ). Это где это трафик никто не считает ? Я за бугром, и мне надо считать ! :-) Точнее, не мне - клиенту.
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Михаил Григорьев » 30 сен 2004, 16:40

По поводу Squid + LDAP

То в настоящее время я переписываю NVStat на *nix, то есть анализ логов squid+еще кое каких

Единственное НО, что проект будет скорее всего коммерческим т.к. сейчас я внедряю его в нескольких фирмах.

Урезаный вариант проекта будет free, что именно будет урезано: почти все, оставлю только squid+openldap+анализ логов

Расскажу вкраце: FreeBSD 5.2.1(5.3) + OpenLDAP + FTPd (или ProFTRd) + Exim + CyrusIMAP + Squid + Samba + MPD + Radius + DNS + DHCP...

И единая база пользователей и настроек под все это в LDAP'е

Вобщем что то типа SuSE Openexchange Server 4.1 только на FreeBSD

Орентировочные сроки выхода: Январь 2005

P.S. Про NVStat 2.1 и 3.0 for NetWare я не забыл и продолжаю их писать
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Музалёв Николай » 30 сен 2004, 16:46

Орентировочные сроки.....

понятны, а Орентировочные ЦЕНЫ ??
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3034
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Андрей Тр. aka RH » 30 сен 2004, 16:51

Григорьев Михаил

Искренне надеюсь, что оно будет работать и на SuSE ( SLES9 ). Только я не понял, если все через LDAP, то прозрачной аутентификации нам так и не видать ? Ну и триал бы .. хоть посмотреть на него для начала. При этом ноябрь - декабрь для этого подходит как нельзя лучше.

Кстати, там и Бордюру будет замена под *никсы .. этак Сквид нафиг не нужен ( хотя зависит от того, чего они там наваяют ).
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Михаил Григорьев » 30 сен 2004, 17:07

Музалёв Николай писал(а):а Орентировочные ЦЕНЫ ??


Об этом пока рано говорить, пока есть куча разрозненых скриптов и нуль доков, скрестить то все это дело уже мы скрестили, есть небольшие затыки правда, Но мы их поборем. Пока все доки и как все настраивать в голове 2-х человек.

Андрей Тр. aka RH писал(а):Искренне надеюсь, что оно будет работать и на SuSE ( SLES9 ). Только я не понял, если все через LDAP, то прозрачной аутентификации нам так и не видать ?


Я тоже надеюсь... Имеется ввиду чтоб вмето OpenLDAP на FreeBSD было все тоже но на NW??? Если нужно скрестить squid и ldap на NW то хоть сейчас, это самое простое что мы сделали.

Намёк: есть такая штука как nss_ldap (ставится вначале pam_ldap потом nss_ldap) Дык вот nss_ldap умеет авторизоваться на NDS, ну а дальше дело в шляпе. В случае авторизации через pam_ldap нужно заводить локальных пользователей на Free, иначе никак, в случае же nss_ldap локалных юзеров не нужно, они проживают в OpenLDAP со всеми стандартными атрибутами локальных юзеров. На самом деле вариантов скрещивания squid и LDAP на NW очень много, начиная от стандартных механизмов и заканчивая самаписанными модулями.

Андрей Тр. aka RH писал(а):Ну и триал бы .. хоть посмотреть на него для начала.


Конечно же, как без него то.

to Елена Лезгина

По поводу квотирования, как я уже говорил сиё планируется в NVStat 2.1, но в полной мере это будет в NVStat 3.0, проблема в том что у BM нет API и управлять им (если написать NLM'ку) будет очень проблематично.
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Музалёв Николай » 30 сен 2004, 18:16

В порядке Гы-гы...
....в голове 2-х человек

А сесть и записать не позволяют кулинарные пристрастия, да? А КПК со звукозаписью в ваших краях днем-с-огнем не сыскать?
Короче - даю установку: отложить творчество и на неделю погрязнуть в рутину, привести документацию в порядок.
Ну, или хоть попытыться.... Кстати, сразу обнаружится, что многое "на самом деле было совсем не так, как в действительности"(С).
Успехов!
armoracia rusticana (lat.), "блины" и "фиги" всех видов, а также смайлики - крайне не желательны !
Музалёв Николай
 
Сообщения: 3034
Зарегистрирован: 04 июн 2002, 19:58
Откуда: Беларусь. МИНСК.

Сообщение Андрей Тр. aka RH » 01 окт 2004, 04:45

Музалёв Николай

К сожалению, часто подобные вещи пишутся "в свободное от основной работы время", по собственной инициативе ( вместо ужина, завтрака и обеда ). При этом впереди маячит туманная перспектива чего-то за это получить ( ну или использовать на основной работе, но все за ту же з/п ), ну а пока - из спортивного интереса, со всеми вытекающими ..
Даешь отдельный раздел по ZENworks ... :bad-words: .. и печати !
Аватара пользователя
Андрей Тр. aka RH
 
Сообщения: 3937
Зарегистрирован: 18 июн 2002, 11:27

Сообщение Иван Левшин aka Ivan L. » 01 окт 2004, 08:53

Григорьев Михаил писал(а):to Елена Лезгина

По поводу квотирования, как я уже говорил сиё планируется в NVStat 2.1, но в полной мере это будет в NVStat 3.0, проблема в том что у BM нет API и управлять им (если написать NLM'ку) будет очень проблематично.


Миш... А разве BMFrame больше не существует? У меня, в принципе, валяется версия для 3.5 бордюра - кому надо, могу поделиться.

Что же касаемо квотирования трафика и блокирования пользователей на лету - у меня такие мысли есть...

1. Квоты прописывать в группах (как в НВСтате), либо расширять схему НДС и дописывать атрибут объекту User, где будет храниться значение квоты.
2. Значение залитого трафика можно брать из базы данных НВСтата - все равно ведь считается.
3. После запуска скрипта НВСтата запускать скрипт, который будет следить за превышением лимита. При превышении лимита скрипт должен удалять пользователя из группы, членам которой можно ходить в инет (надеюсь, у всех так сделано? если прописаны конкретные граждане в правилах БМ - несколько интереснее будет ;)).
4. Группа копируется в начале расчетного периода в какое-либо место (чтобы мы не потеряли тех, кому ходить можно - раз, и чтобы автоматом в начале, допустим, следующего месяца их в InetAllowGrp прописывать).

В принципе, подход мне лично представляется работоспособным на 100%. Что не нравится - красиво отслеживать квоты (так, чтобы ни байта сверх квоты юзверь не забрал) не получиться. Логи-то мы обрабатываем уже после того, как клиент забрал с инета все, что хотел. Те, у кого толстый канал и редко запускается этот самый скрипт - теряют больше :). Зато не надо ковыряться с НЛМками и АПИ от бордюра - писать, по сути, пакетный фильтр.
Иван Левшин aka Ivan L.
 
Сообщения: 2576
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

у нас для этого используется NETAMS

Сообщение Андрей Старков » 01 окт 2004, 09:49

Стоит на FreeBSD, програмка для подсчета, фильтрации и т.д. трафика, всего и вся. Это с чужих слов, я этим не занимаюсь.
Эта фряха у нас подключена к ADSL модему а от него уже выделенка к провайдеру
Андрей Старков
 
Сообщения: 473
Зарегистрирован: 21 июн 2002, 13:57
Откуда: г. Ноябрьск, ЯНАО

Сообщение Иван Левшин aka Ivan L. » 01 окт 2004, 11:46

Андрей Старков - насколько я понял, речь идет о решении, которое позволяет блокировать пользователя автоматом при превышении лимита. Подсчет итак ведется нвстатом - например :)
Иван Левшин aka Ivan L.
 
Сообщения: 2576
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Victor Kulichkin » 01 окт 2004, 12:58

Я снял ответ о своей программе Trapper..
Последний раз редактировалось Victor Kulichkin 02 окт 2004, 20:51, всего редактировалось 1 раз.
Victor Kulichkin
 
Сообщения: 4
Зарегистрирован: 20 фев 2004, 16:43

Re: у нас для этого используется NETAMS

Сообщение Михаил Григорьев » 02 окт 2004, 11:35

Андрей Старков писал(а):Стоит на FreeBSD, програмка для подсчета, фильтрации и т.д. трафика, всего и вся. Это с чужих слов, я этим не занимаюсь.
Эта фряха у нас подключена к ADSL модему а от него уже выделенка к провайдеру


Дык на *nix решений по билингу пруд пруди. Мы допустим сделали связку FreeBSD+MPDd+Radius+PostgreSQL а в радиусе есть соответствующие настройки касательно квотирования, как только превысили так VPN соединение с клиентом рубится и все.


to Victor Kulichkin

Ваша программа хороша, НО есть масса минусов что затрудняет её использование.
Например:
1) не учитывает extended логи, что очень огорчает
2) требуется обязательно Client32, а иногда нужно статистику смотреть там где клиента нет и впомине, я допустим будучи в отпуске смотрел статистику пользователей находясь за 3000 км. от сервера.
3) обязательно для сбора статистики нужна машина под Win2k, а если эта машина сделает ЁК, элементарное выдергивание сетевого кабеля например, то как следствие сделает ЁК и статистика и квоты.
4) Немаловажен вопрос и безопасности, если БД (MySQL или PostgreSQL) при грамотной настройке очень сложно поломать и изменить данные, то сломать Windows гораздо проще. Достаточно только не поставить последние постфиксы.
5) Судя по структурной схеме как производится сбор статистики, то можно зделать вывод что данный подход неприменим к крупным компаниям.
6) ....

Если бы вы реализовали эти 5 пунктов, то цены небыло бы вашей программе Виктор.

Иван Левшин aka Ivan L. писал(а):Миш... А разве BMFrame больше не существует? У меня, в принципе, валяется версия для 3.5 бордюра - кому надо, могу поделиться


Конечно нужно, если сможешь тот выкладывай на http или ftp :)

Иван Левшин aka Ivan L. писал(а):1. Квоты прописывать в группах (как в НВСтате), либо расширять схему НДС и дописывать атрибут объекту User, где будет храниться значение квоты.
2. Значение залитого трафика можно брать из базы данных НВСтата - все равно ведь считается.
3. После запуска скрипта НВСтата запускать скрипт, который будет следить за превышением лимита. При превышении лимита скрипт должен удалять пользователя из группы, членам которой можно ходить в инет (надеюсь, у всех так сделано? если прописаны конкретные граждане в правилах БМ - несколько интереснее будет ).


Еще ACL бордера нужно синхронизить, иначе по умолчанию они вроде раз в 30 мин. или еще реже синхронизятся. А пока не засинхронизируются то толку от удаления пипла из группы не будет. И еще, если юзер качает файл в 500Mb ну или меньше, не важно, то даже если вы ACL засинхронизируете, при этом сессию данного юзера BM не закроет и файлик будет продолжать тянутся, единственный вариант это unload proxy и его загрузка, но это не кайф скажу я вам, пока BM кэш проверит, оййй ёёёё сколько времени пройдет.
На сквиде проблема быстрого старта сервере после холодного рестарта в случае если используется сквид рещается тривиально, а на NW даже и не знаю....

Музалёв Николай писал(а): А сесть и записать не позволяют кулинарные пристрастия, да? А КПК со звукозаписью в ваших краях днем-с-огнем не сыскать?
Короче - даю установку: отложить творчество и на неделю погрязнуть в рутину, привести документацию в порядок


Еххх... Николай... специально для вас... Ставил я буквально вчера на FreeBSD FreeRadius и PostgreSQL, дык вот законспектировал буквально покомандно что я делал, смотрите что получилось, только со стула не упадите:

Код: Выделить всё
Ставим Radius и PostgresSQL стандартно...

Настраиваем PostgreSQL:

Откроем 2 окна Shell (в качестве клиента SSH я использую Putty)

В окне 1:

rehash
sh /usr/local/etc/rc.d/010.pgsql.sh start
psql -U pgsql template1
create user freeradius with createdb createuser password '12345';
\c - freeradius
create database freeradius;
_____________________________________________________________________________

В окне 2:

cd /usr/ports/net/freeradius/work/freeradius-1.0.1/src/modules/rlm_sql/drivers/rlm_sql_postgresql
sh
psql -a freeradius freeradius < db_postgresql.sql > out 2>&1
echo $?

Если 0 то ошибок нет

grep -i error out
ERROR:  language "plpgsql" does not exist

Облом... Делаем по новой....

createlang -U pgsql plpgsql template1
_____________________________________________________________________________

В окне 1:

drop database freeradius;
create database freeradius;
_____________________________________________________________________________

В окне 2:

psql -a freeradius freeradius < db_postgresql.sql > out 2>&1
echo $?

Если 0 то ошибок нет

grep -i error out

OK
_____________________________________________________________________________

В окне 1:

\c freeradius
\d

Результат:

                   List of relations
Schema |         Name                |   Type      |   Owner
--------+----------------------------+------------+------------
public | nas                              | table        | freeradius
public | radacct                         | table        | freeradius
public | radacct_radacctid_seq   | sequence  | freeradius
public | radcheck                      | table        | freeradius
public | radcheck_id_seq           | sequence  | freeradius
public | radgroupcheck              | table        | freeradius
public | radgroupcheck_id_seq   | sequence  | freeradius
public | radgroupreply               | table        | freeradius
public | radgroupreply_id_seq    | sequence  | freeradius
public | radpostauth                  | table         | freeradius
public | radpostauth_id_seq       | sequence  | freeradius
public | radreply                       | table        | freeradius
public | radreply_id_seq            | sequence | freeradius
public | realmgroup                   | table       | freeradius
public | realmgroup_id_seq        | sequence | freeradius
public | realms                         | table        | freeradius
public | realms_id_seq              | sequence | freeradius
public | usergroup                    | table        | freeradius
public | usergroup_id_seq         | sequence  | freeradius
(19 rows)

OK


\c - pgsql
alter user freeradius with nocreatedb nocreateuser;

_______________________________________________________________________________

В окне 2:

vi /usr/local/pgsql/data/postgresql.conf

Меняем в файле
#tcpip_socket = false
на
tcpip_socket = true

Сохраняем файл и выходим.

sh /usr/local/etc/rc.d/010.pgsql.sh stop
sh /usr/local/etc/rc.d/010.pgsql.sh start
rehash
which vacuumdb
vi /etc/crontab

Добавляем:

# Vacuumdb PGSQL
1       1       *       *       *       root    /usr/local/bin/vacuumdb -U pgsql -a -f >/dev/null 2>&1


Сохраняем файл и выходим.

killall -HUP cron

Конфигурим Radius:

vi /usr/local/pgsql/data/postgresql.conf

login = "freeradius"
password = "*************"
radius_db = "freeradius"

vi /usr/local/etc/raddb/radiusd.conf

To be continued...


Это я только PostgreSQL настроил, а еще нужно Radius настраивать и т.д.
Причем если заметите, то я старался не давать комментарии, а то бы вообще толмут получился целый.
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

След.

Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 55

cron