Андрей Старков писал(а):Стоит на 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 настраивать и т.д.
Причем если заметите, то я старался не давать комментарии, а то бы вообще толмут получился целый.