Тип контенту
Профили
Форум
Календарь
Все, що було написано yKpon
-
надеюсь интерфейс пишется под базу в mysql? или под файлы?
-
на компе случаем не установлен PGP? год назад был установлен PGP и конфигуратор аналогично не коннектился, ломал голову от чего... удалил всё заработало.
-
а можно ли скачать?
-
это не виндовый нетбиос, это броадкаст
-
эх, долго приходится ждать версии модуля с поддержкой MySQL, немного покурил и переделал модуль для работы с SQL, база кодов карточек хранится по прежнему в файле, вроде бы работает stg-cm.tar
-
Тариф с нулевой абонплатой? иногда скажем так "блатному" юзеру необходима эта функция, правила шэйпера tc генерируются исходя из названия тарифа, чтобы не запутаться не хотелось бы создавать дублированные тарифы
-
доработал скрипт OnChange выполняющий автоматическое управления юзером, блокирование и автозамораживание счёта при задолженности больше 1 абонплаты, скрипт отлично отрабатывает при переходе на новый месяц OnChange #!/bin/bash login=$1 param=$2 oldValue=$3 newValue=$4 firmmac=aa:bb:cc:dd:ee:ff echo "User: '$login'. Parameter $param changed from '$oldValue' to '$newValue'" >> /var/stargazer/users.chg.log # ================== основные параметры ================== ip=`/bin/cat /var/stargazer/users/$login/conf | grep "^IP=" | cut -f 2 -d "="` credit=`/bin/cat /var/stargazer/users/$login/conf | grep "^Credit=" | cut -f 2 -d "=" | cut -f 1 -d"."` tarif=`/bin/cat /var/stargazer/users/$login/conf | grep "^Tariff=" | cut -f 2 -d"="` abonRub=`/bin/cat /var/stargazer/tariffs/$tarif.tf | grep "^Fee=" | cut -f 2 -d"=" | cut -f 1 -d"."` # ==================== параметр деньги =================== if [ $param = "cash" ] && [ $newRub -ne $oldRub ]; then newRub=`/bin/echo $newValue | cut -f 1 -d "."` # =============== если меняется баланс =============== iflock=`/bin/cat /var/stargazer/users/$login/conf | grep "^Down=" | cut -f 2 -d "="` limit=`/bin/echo "$abonRub*(-1)" | bc -s` if [ $credit -gt $abonRub ]; then limit=`/bin/echo "$credit*(-1)" | bc -s` fi # ================== выход из долга ================== if [ $newRub -gt $limit ] && [ $iflock -ne "0" ]; then /etc/stargazer/sgconf set -s 127.0.0.1 -p 4446 -a sgconf -w Ags3L64m -u $login -d 0 >> /dev/null /etc/stargazer/sgconf set -s 127.0.0.1 -p 4447 -a sgconf -w Ags3L64m -u $login -i 0 >> /dev/null fi # ==================================================== # ==================== вход в долг =================== if [ $newRub -le $limit ] && [ $iflock -ne "1" ]; then /etc/stargazer/sgconf set -s 127.0.0.1 -p 4446 -a sgconf -w Ags3L64m -u $login -d 1 >> /dev/null /etc/stargazer/sgconf set -s 127.0.0.1 -p 4447 -a sgconf -w Ags3L64m -u $login -i 1 >> /dev/null fi # ==================================================== fi # ======================================================== # ======= отключён/включен - лочим/унлочим по маку ======= if [ $param = "disabled" ]; then ip=`/bin/cat /var/stargazer/users/$login/conf | grep "^IP=" | cut -f 2 -d "="` if [ $newValue = "1" ]; then /usr/sbin/arp -s $ip $firmmac else readmac=`/bin/cat /var/stargazer/users/$login/conf | grep "^Userdata0=" | cut -f 2 -d "="` /usr/sbin/arp -d $ip /usr/sbin/arp -s $ip $readmac fi fi # ========================================================== # ================== смена мака вручную ==================== if [ $param = "userdata0" ]; then /usr/sbin/arp -d $ip /usr/sbin/arp -s $ip $newValue fi # ========================================================== теперь скрипт вручную приколачивающий юзерам нужные маки (учитывается состояние абонента) #!/bin/sh firmmac=aa:bb:cc:dd:ee:ff # lan0 for ((ip=2;ip<255;ip++)); do /usr/sbin/arp -s 192.168.0.${ip} ${firmmac} done; echo "lan0 done" # lan1 for ((ip=2;ip<255;ip++)); do /usr/sbin/arp -s 192.168.1.${ip} ${firmmac} done; echo "lan1 done" # lan2 for ((ip=2;ip<255;ip++)); do /usr/sbin/arp -s 192.168.2.${ip} ${firmmac} done; echo "lan2 done" # lan3 for ((ip=2;ip<255;ip++)); do /usr/sbin/arp -s 192.168.3.${ip} ${firmmac} done; echo "lan3 done" n=`/bin/ls /var/stargazer/users/ | wc -l` for ((i=1;i<=$n;i++)); do login=`/bin/ls /var/stargazer/users/ | cut -f $i -d " "` readip=`/bin/cat /var/stargazer/users/$login/conf | grep ^IP= | cut -f 2 -d "="` readmac=`/bin/cat /var/stargazer/users/$login/conf | grep ^Userdata0= | cut -f 2 -d "="` locked=`/bin/cat /var/stargazer/users/$login/conf | grep ^Down= | cut -f 2 -d "="` if [ $locked = 0 ]; then /usr/sbin/arp -d $readip /usr/sbin/arp -s $readip $readmac fi done echo "arp table fixed" в моём случае 3 подсети класса 192.168.Х.Х переменная firmmac это блокировочный мак маки юзеров хранятся в поле Userdata0 в /usr/lib/stg 3 модуля для конфигуратора mod_conf_sg.so, mod_conf_sg1.so и mod_conf_sg2.so в конфиге стг <Module conf_sg> Port = 4444 </Module> <Module conf_sg1> Port = 4446 </Module> <Module conf_sg2> Port = 4447 </Module>
-
в будущих релизах хотелось бы видеть опцию "Не снимать абонплату" в свойствах клиента
-
Stargazer грузит процессор на 100%
тема ответил в speedfire87 пользователя yKpon в Питання по Stargazer
обнаружена аналогичная проблема, сборка стг последняя релиз, пробовал через QUEUE и через ACCEPT, разницы никакой. Шкалит не постоянно, временами отпускает -
aptitude install gcc g++ make libexpat libexpat1-dev expat
-
оказалось причина всё таки была в файрволле до старгейзера, т.к. правила в том числе нат на локальные ресурсы мимо стг тоже не работали. странно как-то, все правила файрволла верные, а траффик не ходил, в общем ладно стг тут не причём. локальный траффик считается через ACCEPT, всё что через стг QUEUE
-
за последние 2 дня было 2 "висяка", авторизатор у всех и конфигуратор авторизуется, правила создаются, но стг не пропускает через себя ни байта, перекопал весь файрволл, ничего не нашёл, с горя рестартнул стг и траффик пошёл... общая загрузка CPU на сервере по вечерам достигает 100% (доля стг где то до 10% не более) грешу на это, завтра ещё воткну планку ОЗУ на 512Мб, о результате отпишусь
-
Web-интерфейс для Старгайзера
тема ответил в Andrey Zentavr пользователя yKpon в Модулі для Stargazer
если есть у кого stg-20060822.tar.bz2 поделитель пожалста! а то ссылки все не рабочие уже... и вопрос: будет ли работатать под стг 2.4 последней версии? (база юзеров на файлах) -
в файле addmoney.php замените $cmd = $cc['dir'].' -s '.$cc['ip'].' -p '.$cc['port'].' -a '.$cc['user'].' -w '.$cc['pass'].' -u '.$_SESSION['login'].' -c '.$add.':"'.$cc['text'].'"'; на $cmd = $cc['dir'].' set -s '.$cc['ip'].' -p '.$cc['port'].' -a '.$cc['user'].' -w '.$cc['pass'].' -u '.$_SESSION['login'].' -c '.$add.':"'.$cc['text'].'"';
-
не собирается sgconf_xml stg:/stg-2.406/projects/sgconf_xml# ./build ############################################################################# Building sgconf_xml for Linux ############################################################################# Makeing crypto.lib rm -f deps libstg_crypto.so *.o *.a *.so tags *.*~ for file in ag_md5.h blowfish.h; do \ rm -f /stg-2.406/projects/stargazer/../../include/$file; \ done cc -W -Wall -I/usr/local/include -DARCH_LE -fPIC -I /stg-2.406/projects/stargazer/../../include -I ./ -DLINUX -DSTG_TIME -c ag_md5.cpp ag_md5.cpp: In function ‘char* libshadow_md5_crypt(const char*, const char*)’: ag_md5.cpp:324: warning: deprecated conversion from string constant to ‘char*’ cc -W -Wall -I/usr/local/include -DARCH_LE -fPIC -I /stg-2.406/projects/stargazer/../../include -I ./ -DLINUX -DSTG_TIME -c blowfish.cpp g++ -L/usr/local/lib -shared -Wl,-rpath,/usr/lib/stg -Wl,-soname,libstg_crypto.so ag_md5.o blowfish.o -o libstg_crypto.so -L /stg-2.406/projects/stargazer/../../lib ar rc libstg_crypto.a ag_md5.o blowfish.o ranlib libstg_crypto.a cp *.so /stg-2.406/projects/stargazer/../../lib cp *.a /stg-2.406/projects/stargazer/../../lib mkdir -m 0755 -p /usr/lib/stg install -m 0755 -o root -s libstg_crypto.so /usr/lib/stg/libstg_crypto.so Makeing common.lib rm -f deps libstg_common.so *.o *.a *.so tags *.*~ for file in debug.h stg_error.h common.h; do \ rm -f /stg-2.406/projects/stargazer/../../include/$file; \ done cc -W -Wall -I/usr/local/include -DARCH_LE -fPIC -I /stg-2.406/projects/stargazer/../../include -I ./ -DLINUX -DSTG_TIME -c debug.c cc -W -Wall -I/usr/local/include -DARCH_LE -fPIC -I /stg-2.406/projects/stargazer/../../include -I ./ -DLINUX -DSTG_TIME -c stg_error.c gmake: *** Нет правила для сборки цели `blowfish.h', требуемой для `common.o'. Останов. stg:/stg-2.406/projects/sgconf_xml#
-
в последней сборке STG как то криво работает собранный sgconf, например skyprox:/etc/stargazer# sgconf get -s 127.0.0.1 -p 4444 -a sgconf -w password -u marina -t tariff= Ok Ошибка сегментирования хотя в приципе свои функции выполняет а вот как работает от предыдущей сборки skyprox:/etc/stargazer# /sgconf get -s 127.0.0.1 -p 4444 -a sgconf -w password -u marina -t tariff=newU512 Ok крутится на Debian 5.0.2
-
stg 2.4 перестал считать локальный траффик
тема ответил в yKpon пользователя yKpon в Питання по Stargazer
тааак так так! Спасибо! всё понял понял вспомнил что раньше в конфиге стг было включено оба модуля ipq и ether, а теперь только ipq. То есть в правилах и конфиге стг я могу вообще убрать локальный траффик (ибо локалка у меня работает не зависимо включен авторизатор или нет) и оставить только Интернет, правильно? всё же на этот оффтопный вопрос хотелось бы узнать ответ и тему можно будет закрывать -
stg 2.4 перестал считать локальный траффик
тема ответил в yKpon пользователя yKpon в Питання по Stargazer
по всем пользователям интернет траффик считается правильно, а локальный по нулям. и ещё кстати один оффтопный вопрос, у заблокированных юзеров в начале месяца почему-то снимается по несколько копеек (если правильно понимаю должно быть 0) и у всех залоченых эта мизерная сумма разная детальная статистика одного анлимщика одного дня http://pastebin.ca/1636676 хм, странно в списке действительно нет ниодного адреса прописаного локальным в rules вот скрипт запуска стг #!/bin/sh source /etc/stargazer/ip.list killall -9 stargazer /sbin/modprobe ip_queue /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_nat_pptp /sbin/modprobe ip_gre /sbin/modprobe ipt_TCPMSS echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -t filter -F /sbin/iptables -t filter -X /sbin/iptables -t nat -F /sbin/iptables -t nat -X /sbin/iptables -t filter -P INPUT ACCEPT /sbin/iptables -t filter -P FORWARD DROP /sbin/iptables -t filter -P OUTPUT ACCEPT /sbin/iptables -t filter -A INPUT -p icmp -j ACCEPT /sbin/iptables -t filter -A FORWARD -p icmp -j ACCEPT /sbin/iptables -t filter -A OUTPUT -p icmp -j ACCEPT /sbin/iptables -A INPUT -p tcp -m tcp --dport 113 -j REJECT --reject-with tcp-reset /sbin/iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu /sbin/iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT /sbin/iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT /sbin/iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT /sbin/iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT /sbin/iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT /sbin/iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT /sbin/iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT /sbin/iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT # локал /sbin/iptables -t filter -A INPUT -s 192.168.0.0/22 -d 192.168.0.0/22 -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d 192.168.0.0/22 -s 192.168.0.0/22 -j ACCEPT /sbin/iptables -t filter -A FORWARD -d 192.168.0.0/22 -s 192.168.0.0/22 -j ACCEPT # разрешаем локально и NAT-им for ((i=1;i<=$n;i++)); do /sbin/iptables -t filter -A INPUT -s 192.168.0.0/22 -d ${lonet[$i]}/${lomask[$i]} -j ACCEPT /sbin/iptables -t filter -A FORWARD -s 192.168.0.0/22 -d ${lonet[$i]}/${lomask[$i]} -j ACCEPT /sbin/iptables -t filter -A OUTPUT -d 192.168.0.0/22 -s ${lonet[$i]}/${lomask[$i]} -j ACCEPT /sbin/iptables -t filter -A FORWARD -d 192.168.0.0/22 -s ${lonet[$i]}/${lomask[$i]} -j ACCEPT /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/22 -d ${lonet[$i]}/${lomask[$i]} -j SNAT --to-source ${loeth[$i]} done; /usr/sbin/stargazer -
stg 2.4 перестал считать локальный траффик
тема ответил в yKpon пользователя yKpon в Питання по Stargazer
<Module cap_ipq> </Module> OnConnect /sbin/iptables -t filter -A INPUT -s $IP -j QUEUE /sbin/iptables -t filter -A FORWARD -s $IP -j QUEUE /sbin/iptables -t filter -A FORWARD -d $IP -j QUEUE /sbin/iptables -t filter -A OUTPUT -d $IP -j QUEUE OnDisconnect /sbin/iptables -t filter -D INPUT -s $IP -j QUEUE while [ $? -eq 0 ] do /sbin/iptables -t filter -D INPUT -s $IP -j QUEUE done /sbin/iptables -t filter -D FORWARD -s $IP -j QUEUE while [ $? -eq 0 ] do /sbin/iptables -t filter -D FORWARD -s $IP -j QUEUE done /sbin/iptables -t filter -D FORWARD -d $IP -j QUEUE while [ $? -eq 0 ] do /sbin/iptables -t filter -D FORWARD -d $IP -j QUEUE done /sbin/iptables -t filter -D OUTPUT -d $IP -j QUEUE while [ $? -eq 0 ] do /sbin/iptables -t filter -D OUTPUT -d $IP -j QUEUE done почти все абоненты выходят через шлюз+nat через eth2 за исключением 1 цепляющегося по впн, для этого и через ip_queue сделал modprobe ip_queue подгружен -
Интернет считает, а локальный нет... причём обнаружил это когда установил 2.4 релиз, откатился на предыдущую версию - аналогично, точно сказать не могу когда именно перестал считать rules ALL 172.16.0.0/12 DIR0 ALL 192.168.0.0/22 DIR0 ALL 213.177.124.0/25 DIR0 ALL 195.20.194.2 DIR0 ALL 195.20.194.6 DIR0 ALL 195.20.194.22 DIR0 ALL 195.20.194.27 DIR0 ALL 195.20.195.82 DIR0 ALL 85.249.85.0/24 DIR0 ALL 85.249.90.0/24 DIR0 ALL 84.53.192.0/18 DIR0 ALL 212.34.96.0/19 DIR0 ALL 213.167.192.0/19 DIR0 ALL 85.249.80.0/20 DIR0 ALL 89.113.136.0/21 DIR0 ALL 89.113.68.0/24 DIR0 ALL 89.113.69.0/24 DIR0 ALL 89.113.70.0/24 DIR0 ALL 89.113.71.0/24 DIR0 ALL 80.93.98.0/24 DIR0 ALL 80.93.103.0/24 DIR0 ALL 80.93.107.0/24 DIR0 ALL 80.93.108.0/23 DIR0 ALL 80.93.110.0/24 DIR0 ALL 83.222.65.0/24 DIR0 ALL 83.222.66.0/24 DIR0 ALL 89.113.192.0/20 DIR0 ALL 95.66.128.0/18 DIR0 ICMP 0.0.0.0/0 NULL ALL 0.0.0.0/0 DIR1 в конфиге ... <DirNames> DirName0 = Local DirName1 = Internet </DirNames> ...
-
в России
-
если бы это было так тогда проц грузился бы на все 100, думаю причина всё же не в этом да, через смс-шлюз мегафона echo "Platezh na summu $cashplus rub. prishel na Internet login $login. Vash balans sostavl'aet $newValue rub."|mail 7$phone@sms.megafoncenter.ru
-
это для отправки смс юзеру при пополнении счёта, я не выложил эту часть а вот и нет, скрипт выполняется при изменении любого параметра учётной записи, у меня автоматически юзерам смски отсылаются в 0:00 1 числа каждый месяц о состоянии баланса на новый месяц, да и в начале месяцав процессах скрипт OnChange есть значит он всё таки выполняется
-
нет, со временем всё нормально, и напомню НИКОГДА не задавайте крону синхронизировать время в 0:00!!! это такой извращённый способ определения суммы внесения платежа, если есть более грамотные варианты тогда их в студию это где? кстати забыл сказать, реальные мак адреса юзеров хранятся у каждого в UserData0 принцип следующий работы скрипта состоит из нескольких блоков которыми можно управлять из конфигуратора по отдельности 1. изменение баланса: при долге больше 1 абонплаты (кредита) блок по маку и отключение, при оплате обратная процедура 2. отключен/включен: заморозка счёта, убираем ип+мак из списка (/etc/stargazer/maki) / разморозка счёта, добавляем в список ип+мак из UserData0 3. смена мака: думаю здесь понятно скрипты работают связанно, например при срабатывании блока 1 абонента отключается и срабатывает блок 2 повторюсь скрипт работает если манипулировать вручную в конфигураторе, виснет только при переходе на новый месяц когда массово... вот кстати тестировал на виртуальной машине, имитировал переход на новый месяц, поведение аналогичное, ось дебиан5, сильной загрузки процессора при выполнении скрипта нет
