-HS-
Тип контенту
Профили
Форум
Календарь
Сообщения додав -HS-
-
-
Еслибы при работе с впн нормально работал модуль пинга, то можно былобы при впн конекте чекать онлайн ли юзер, и если онлайн то рвать соединение.
Т.е. на мой взгляд нужно доработать пинговалку.
-
То закачка была с торента (новафильм) при раздаче свеженькой серии декстера.
-
Кстати про развод, чтобы не быть голословным вот скриншотик с пакета ого-4
-
У меня пакет домашний 4 мбита, торент тянет ровно главное не забивать канал аплоада. Никаких сбоев, разве что около полуночи дисконект - но это связано с биллинговой системой укртела.
-
Сделай репеир всем таблицам в базе биллинга.
-
С проксом попробуй дополнителоно считать все что приходит на PREROUTING
-
2 ar2r
Это необходимое условие - все пропускать через прокс ?
Мы тоже как то делали похожим образом, помню там была проблема в том, что все что заворачивалось на прокс не проходило, или както криво проходило через правила форварда QUEUE, подробностей уже не помню.
Попробуй локализовать проблему, убрав прокс (сделав просто маскарад) и проверить подсчет трафика проходящего просто через форвард.
-
Я воспользовался следующим методом (конечно это касательно впн): http://local.com.ua/forum/index.php?showto...=45entry76558
-
Новый довесочек к этой сборке - шейпер входящего и исходящего трафика впн соединений реализованный следующим образом:
Создаем файл с произвольным именем в каталоге /etc/ppp/ip-up.d, например route с таким кодом
#!/bin/bash INTERFACE=$1 LOCAL_IP=$4 REMOTE_IP=$5 IPPARAM=$6 LOGIN="stg_sql_user" PASSWORD="stg_sql_password" DB="stg_billing" IPTABLES=/sbin/iptables RES=`echo $REMOTE_IP | grep "^192\.168\.5.*" -c` if [[ $RES = 1 ]] then DOWN=`/usr/bin/mysql -u $LOGIN --password="$PASSWORD" -e "select Userdata1 from users where ip = '$REMOTE_IP'" $DB| /usr/bin/tail -n 1` UP=`/usr/bin/mysql -u $LOGIN --password="$PASSWORD" -e "select Userdata2 from users where ip = '$REMOTE_IP'" $DB| /usr/bin/tail -n 1` if [[ $DOWN = '' ]] then DOWN='2048' fi if [[ $UP = '' ]] then UP='128' fi DEVICE=$INTERFACE /sbin/tc qdisc del dev $DEVICE root /sbin/tc qdisc add dev $DEVICE root tbf rate ${DOWN}Kbit latency 50ms burst $[$DOWN*1024] /sbin/tc qdisc del dev $DEVICE handle ffff: ingress /sbin/tc qdisc add dev $DEVICE handle ffff: ingress /sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${UP}Kbit burst $[$DOWN*1024] drop flowid :1 fi
Где:
LOGIN="stg_sql_user"
PASSWORD="stg_sql_password"
DB="stg_billing"
логин, пароль и название базы SQL используемой stg сервером
Скорость загрузки у пользователя в конфигураторе пишем в поле Userdata1, а скорость аплоада у пользователя пишем в Userdata2 в килобитах. Если эти значения не указаны используются DOWN='2048', и UP='128' - загрузка 2Мбита и аплоад 128 Кбит соотв.
Строчка RES=`echo $REMOTE_IP | grep "^192\.168\.5.*" -c` определяет является ли это подключение впн соединением пользователя (в данном случае это сеть 192.168.5*, если у Вас другая, то необходимо сделать соотв. изменения.)
Жду критики.
Спасибо за внимание.
Адрес для связи: omega@ua.fm
Для удобства в веб админке 8 версии можно поля Userdata1 и Userdata2 можно назвать Download и Upload соотв. Это можно сделать в пункте Userdata раздела Настройки.
-
решил вернуться к простому freeradius - у..всё сделал..но дальше столкнулся с бочиной -
есть ли деньги, нету ли денег, онлайн/всегда он лайн/не он лайн = старгазеру на это глубоко наплевать, трафик не считается, бабки не снимаются...подключаются и пользуются Инетом все кому не лень..
Проверь срабатывают ли скрипты OnConnect, OnDisconnect и обязательно используй коллектор трафика ipq_linux он хорошо считает трафик с впн, правила в форварде должны быть QUEUE, например
$IPTABLES -I FORWARD -s $IP -j QUEUE
$IPTABLES -I FORWARD -d $IP -j QUEUE
-
Ну не все же в Киеве живут ! В Киеве не спорю наверняка найдутся цены попроще и скорости побольше, а для всех остальных простых смертных мне кажется это наилучший вариант, чтобы там не говорили.
-
Наверное ты прав - отдельный модуль, это будет наилучшее решение.
Стоит ожидать такого модуля к релизу ? Хотелось бы чтобы такой модуль мог передавать не только текущую стату, а и например тариф, и т.д.
-
Можно этот момент поподробнее.
Возможно ты имеешь ввиду, что при правке какойто части кода ядра прийдется править и модуль - разве там нет какогото постоянного внутреннего набора функций доступных любому модулю и не меняющегося от билда к билду? Если в этом наборе нет соотв функции может ее добавить ?
Нет, я не это имею в виду. API ядра фиксировано. И через это API нельзя определить, используется ли модуль для авторизации Always Online или нет.
Повторюсь: Если в этом наборе нет соотв функции может ее добавить ?
-
Незнаю про разводы, но 4 мбита за 250 грн укртел выдает чесно, без всякой обрезки трафика и т.д. С первого дня перехода на этот пакет скорость ни разу не падала.
И даже если они и не гарантируют 4 мегабита, пусть там будет (ну предположим) 2 мбита точно, а 4 когда загрузка каналов позволяет - и где Вы найдете, пусть даже такой анлим за 250 грн в месяц ???
Скажу сразу меня укртел ниразу не развел ни начто, а пользуюсь я им уже года 3 походу. Всегда, что говорили то и делали, ну иногда приходилось договариваться, да однажды инет 2 часа лежал, однако уверен в домашних сетках боков, простоев и нервов бывает и поболее ...
И многие посты я заметил просто похожи на агонические заявления людей которые просто поливают грязью укртел, незнаю может чтобы удержать клиентуру, может еще для чегото - даже не пойму почему.
-
...
2 Разработчики. Поясните мне чем плох вариант с отменой таких проверок в режиме "всегда онлайн" ? Неужели в таком режиме обязательны проверка на соответствие ип ?
Как пользователи биллинга смотрят на то чтобы внести такое изменение в будущий билд или готовящийся (на сколько я понял) релиз ?
Авторизатор - это плагин. Он практически автономен. И он не знает о том, что кроме него есть еще авторизаторы. По этому сделать такую проверку будет достаточно сложно и это приведет к появлению сильной связи плагина и сервера.
Можно этот момент поподробнее.
Возможно ты имеешь ввиду, что при правке какойто части кода ядра прийдется править и модуль - разве там нет какогото постоянного внутреннего набора функций доступных любому модулю и не меняющегося от билда к билду? Если в этом наборе нет соотв функции может ее добавить ?
-
И еще. Не пробовал коннектится авторизатором не на адрес сервера в реальной сети, а на его адрес в сети VPN? Я так мыслю, на момент запуска авторизатора пользователь уже подключен к VPN?
у меня так и работал.... и работал отлично!
я прописывал лоиги и пасс + ip в файлике chap-secrets, а в stg все онлайн + одинаоквый пароль + логин который в chap-secrets и у меня всё работало
Как я писал выше - авторизатор выдает ошибки даже если указывать в качестве стг-сервера впн адрес сервера и запускать его при уже поднятом впн.
2 Bolik_Stav. Когдато было точно также, счас добавилось не много автоматизации в это дело.
2 Олл. Для решения проблемы был применен хак в виде предложенного Genius варианта с ->Authorize. Хотя не думаю что это идеальный вариант.
2 Разработчики. Поясните мне чем плох вариант с отменой таких проверок в режиме "всегда онлайн" ? Неужели в таком режиме обязательны проверка на соответствие ип ?
Как пользователи биллинга смотрят на то чтобы внести такое изменение в будущий билд или готовящийся (на сколько я понял) релиз ?
-
Ребята !
Расскажите можно ли добавить следующий функционал:
При включенном режиме "Всегда онлайн" авторизатор и сервер не выполнял различного рода проверки которые приводят к ошибкам вида "Ваш логин уже используется", "Авторизатор уже запущен с другого IP", и тому подобное, а просто выводил текущую статистику на основании логина + пароля.
Для чего ?
Основная задача - при использовании с впн технологией. В базе как известно хранятся виртуальные ип пользователей, а авторизатор написан так, что он смотрит на каком ип он находится и передает его серверу, сервер видно смотрит с какого ип пришел запрос и какой локальный ип передал авторизатор. (Это после небольших опытов с ним выяснилось. Он по любому передает адрес сетевого интерфейса, а не виртуально ип вне зависимости от того какой адрес стг-сервера в нем прописать). Повторюсь, хотелось бы видеть утилиту которая просто показывает баланс по типу УТМ-трей.
Это возможно ? Есть ли пачи для этого ? Что думают разработчики стг по этому поводу?
PS
madf - Два ип не предлогать.
-
Сейчас все онлайн.
Если у когото есть возможность перетяните и выложите в надежное место. (у меня нет такой возможности к сожалению)
-
Думаю с файловой бд без Вашего радиус модуля никак, тут уж некопнеш
-
Кстати почитал ветку про этот модуль и могу сказать:
А зачем нужен был радиус модуль если уже давно есть готовое, качественное и бесплатное решение с хорошей потдержкой и обновлением в виде фрирадуиса ?
-
Думаю, какой из методов использовать, дело каждого.
К томуже радиус протокол во фрирадиусе реализован неплохо, да и потдержка его тоже не запаздывает. Потому я его и выбрал.
Это не значит что ваш радиус модуль плох, очень хорошо что он есть, просто я предпочитаю фрирадиус. Уверен есть люди которые также предпочтут его.
-
Начало.
Никакой ответственности за результаты того что здесь изложено я не несу, все действия Вы выполняете на свой страх и риск.
Большое спасибо разработчикам старгейзера и ребятам MAX и Alferov за их разработки. Вся эта связка работает только благодаря их "апгрейдам" для старгейзера.
Как все было раньше:
Стоял stargazer с модулем коллектора трафика ipq_linux и текстовой бд file_store, раздача инета реализовывалась через vpn путем синхронного добавления руками пользователей в файл chap-secrets (pptpd) и бд stargazerа конфигуратором
Что решено было сделать:
Скрутить вместе stargazer + mysql + freeradius_mysql + vpn + stg-web,
т.е. сделать все это в связке, автоматизировать процесс добавления, удаления, и т.д. пользователей.
Применяемая ось - Debian GNU/Linux 4.0
Приступим.
Необходимые компоненты и их установка:
1. stargazer
1.1 Качаем пропатченую версию stargazer с модулем mysql и конфигуратором sgconf_xml:
wget http://hs.dp.ua/stg/stg-2.4-2007.01.20-13.....pached.tar.bz2
Распаковываем, компилируем, ставим - процедура стандартна.
1.2 Ставим mod_store_mysql: Компилим его вручную:
заходим в папку stg-2.4-2007.01.20-13.47.20/projects/stargazer/plugins/store/mysql
запускаем файл build
копируем получившийся mod_store_mysql.so в папку /usr/lib/stg/
1.3 Компилим sgconf_xml:
заходим в папку stg-2.4-2007.01.20-13.47.20/projects/sgconf_xml
запускаем файл build
получившийся файл sgconf_xml будет необходим в следующих пунктах (п.4.2).
1.4 Конфигурируем stargazer:
На свое усмотрение правим скрипты в каталоге /etc/stargazer
Пример файла stargazer.conf и других скриптов можно взять http://hs.dp.ua/stg/configs.tar.bz2
Обратите внимание на блок в stargazer.conf
<StoreModule store_mysql> # stg_billing - название базы с которой будет работать биллинг # stg_sql_user - пользователь для этой базы # stg_sql_password - пароль для этого пользователя dbuser = stg_sql_user rootdbpass = stg_sql_password dbname = stg_billing dbhost = 127.0.0.1 </StoreModule>
Эти параметры Вам будут необходимы при настройке mysql и freeradius и веб админки.
2. pptpd
2.2. Установка:
apt-get install pptpd
2.2. Настройка:
2.2.1 Файл /etc/pptpd.conf
option /etc/ppp/options.pptpd #Диапазоны ВПНщиков remoteip 192.168.50.2-254 localip 192.168.50.1
2.2.2 Файл /etc/ppp/options.pptpd
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 # Два следующих параметра - адреса ДНС серверов ms-dns 192.168.50.1 ms-dns 195.5.61.70 debug proxyarp defaultroute lock nobsdcomp # Если все хорошо в п.2.2.5 то следующую строку нужно раскоментировать! # plugin radius.so
2.2.3 Теперь для теста pptpd добавим в файл /etc/ppp/chap-secrets такую строку:
test * test 192.168.50.2
2.2.4 Перезапускаем pptp: /etc/init.d/pptpd restart
2.2.5 Настраиваем на клиентской машине впн подключение и пытаемся подключится с логином test и паролем test.
Если все нормально должно появится впн соединение с вирт IP адресом 192.168.50.2 и адресом сервера 192.168.50.1 - нужно раскоментировать последнюю строчку файла /etc/ppp/options.pptpd
2.2.6 Перезапускаем pptp: /etc/init.d/pptpd restart
2.2.7 Проблемы: Очень часто проблемы возникают с опцией require-mppe-128, ее можно убать, а у пользователей в настройках VPN в закладке безопасность выставить необязательное шифрование.
Если проблемы другого рода то: логи, маны, гугль
3. mysql
3.1 Установка mysql сервера тривиальна:
apt-get install mysql-server
3.2 Создадем пользователя и базу для биллинга:
mysql -u root
Далее выполняем
CREATE DATABASE `stg_billing`; GRANT ALL ON `stg_billing` . * TO 'stg_sql_user'@'localhost' IDENTIFIED BY 'stg_sql_password'; \q
Где: stg_billing - название базы с которой будет работать биллинг
stg_sql_user - пользователь для этой базы
stg_sql_password - пароль для этого пользователя
Смотрим п.1.4 (файлик stargazer.conf)
3.3 Забираем дамп базы и заливаем его в mysql сервер
wget [url="http://hs.dp.ua/stg/dump.sql"]http://hs.dp.ua/stg/dump.sql[/url] mysql -u stg_sql_user -p stg_billing < dump.sql
4 Админка stg-web
4.1 Качаем админку у замечательного человека Alferov'a:
wget http://alf.uzlovaya.ru/stg/stg-web/stg-web_0.07.tar.gz
4.2 Устанавливаем админку:
Нам понадобятся только несколько пунктов из его описания установки:
- "Скопировать файлы из каталога html/ в каталог, где будет размещаться веб-интерфейс (в каталоге html_koi8r находятся файлы в кодировке KOI8-R)"- "Полученный исполняемый sgconf_xml (из пункта 1.3 /stg-2.4-2007.01.20-13.47.20/projects/sgconf_xml) файл перенести куда-нибудь, где доступ к нему будет иметь веб-сервер."
- "Отредактировать файл /includes/config.php (вписать свои параметры для соединения с БД, STG и пр. - см.комментарии к переменным)" Корелируем параметры для доступа к базе с п.1.4 и п.3.2
- "В настройках PHP (php.ini) необходимо сделать следующее ( !!! ВАЖНО !!! ):
safe_mode=off
register_globals=on
allow_call_time_pass_reference=on"
5. FreeRADIUS
5.1.1 Установка freeradius:
apt-get install freeradius
5.1.2 Дополнительно устанавливаем:
apt-get install freeradius-mysql
apt-get install radiusclient1
5.2 Настройка:
5.2.1 Берем файлы http://hs.dp.ua/stg/etc.tar.bz2
5.2.2 Заменяем существующие каталоги /etc/freeradius и /etc/radiusclient
Правим файл /etc/freeradius/sql.conf на предмет:
server = "localhost" login = "stg_sql_user" password = "stg_sql_password" radius_db = "stg_billing"
Все эти параметры должны быть одинаковы для всех пунктов (п.1.4, п.3.2, п.4.2.3, п.5.2).
5.3 Тестирование:
5.3.1 Запускаем stargazer:
stg-2.4-2007.01.20-13.47.20/projects/stargazer/startstg
Смотрим логи, если все ОК, то:
5.3.2 Заходим в веб админку (обычно по адресу http://сервер_статистики/root/) используя логин admin и пароль 123456
В админке добавляем пользователя с параметром "Всегда онлайн" и логином test паролем test
5.3.3 Запускаем радиус в режим отладки freeradius -X и пытаемся присоединится c клиента по впн с логином test и паролем test
Смотрим что сыпет в консоль, если подключение устанавливается, запускаем freeradius как демон.
5.3.4 Снова подключаем ВПН и пробуем пинг внешнего хоста с клиента, если все ок - радуемся, процедура завершена!
АДДОНЧИК:
Если вы уже работаете с текстовой базой то наброски скрипта по конвертированию этой базы в мускуль берем
http://hs.dp.ua/stg/scrit.sh и ПРАВИМ перед запуском под свои нужды!
его нужно поместить в каталог с текстовой бд, обычно /var/stargazer и запустить.
Вобщемто, все что сдесь написано - тривиально. За опечатки и неточности прошу не пинать а на них указывать.
ЗЫ (добавил спустя 1.5 часа)
Поскольку по словам Фауста модуль для базы mysql будет входить в дистр stargazera официально - есть предложение на сайте stargazerа сделать пример конфигов для связки stg + store_mysql + freeradius_mysql.
Есс-но от радиуса можно авторизировать множество разных сервисов (банально вайфай напрмер). Такая связка в значительной степени расширит область применения биллинга, на мой взгляд.
Еще очень бы хотелось заиметь модуль postgresql_store, к сожелению я не программер и написание такого модуля не осилю.
ЗЗЫ (добавил 14.01.2008)
Новый довесочек к этой сборке - шейпер входящего и исходящего трафика впн соединений реализованный следующим образом:
Создаем файл с произвольным именем в каталоге /etc/ppp/ip-up.d, например route с таким кодом
#!/bin/bash INTERFACE=$1 LOCAL_IP=$4 REMOTE_IP=$5 IPPARAM=$6 LOGIN="stg_sql_user" PASSWORD="stg_sql_password" DB="stg_billing" IPTABLES=/sbin/iptables RES=`echo $REMOTE_IP | grep "^192\.168\.5.*" -c` if [[ $RES = 1 ]] then DOWN=`/usr/bin/mysql -u $LOGIN --password="$PASSWORD" -e "select Userdata1 from users where ip = '$REMOTE_IP'" $DB| /usr/bin/tail -n 1` UP=`/usr/bin/mysql -u $LOGIN --password="$PASSWORD" -e "select Userdata2 from users where ip = '$REMOTE_IP'" $DB| /usr/bin/tail -n 1` if [[ $DOWN = '' ]] then DOWN='2048' fi if [[ $UP = '' ]] then UP='128' fi DEVICE=$INTERFACE /sbin/tc qdisc del dev $DEVICE root /sbin/tc qdisc add dev $DEVICE root tbf rate ${DOWN}Kbit latency 50ms burst $[$DOWN*1024] /sbin/tc qdisc del dev $DEVICE handle ffff: ingress /sbin/tc qdisc add dev $DEVICE handle ffff: ingress /sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${UP}Kbit burst $[$DOWN*1024] drop flowid :1 fi
Где:
LOGIN="stg_sql_user"
PASSWORD="stg_sql_password"
DB="stg_billing"
логин, пароль и название базы SQL используемой stg сервером
Скорость загрузки у пользователя в конфигураторе пишем в поле Userdata1, а скорость аплоада у пользователя пишем в Userdata2 в килобитах. Если эти значения не указаны используются DOWN='2048', и UP='128' - загрузка 2Мбита и аплоад 128 Кбит соотв.
Строчка RES=`echo $REMOTE_IP | grep "^192\.168\.5.*" -c` определяет является ли это подключение впн соединением пользователя (в данном случае это сеть 192.168.5*, если у Вас другая, то необходимо сделать соотв. изменения.)
Для удобства в веб админке 8 версии (web_0.08) можно поля Userdata1 и Userdata2 можно назвать Download и Upload соотв. Это можно сделать в пункте Userdata раздела Настройки.
Жду критики.
Спасибо за внимание.
Адрес для связи: omega@ua.fm
Stg-2.405.9.8+vpn+freeradius
в Питання по Stargazer
Опубліковано:
У тебя есть конфиг /etc/radiusclient/radiusclient.conf ?
От той ли он версии радиуса, проверь его содержимое на правильность.
Судя по логу создается впечатление, что перепутаны конфиги radiusd.conf и radiusclient.conf.