Den_LocalNet Опубликовано: 12 травня, 2005 Опубликовано: 12 травня, 2005 Предлагаю добавлять в этот топик ответы на часто задаваемые вопросы. Основные правила: 1. Тут не цитируют и не отвечают. 2. Если не уверены в своём вопросе\ответе - отправьте по ЛС модераторам\администратору 3. _ВСЕ_ критики и коменты _ТОЛЬКО_ в ЛС
Den_LocalNet Опубліковано: 12 травня, 2005 Автор Опубліковано: 12 травня, 2005 В: При коннекте конфигуратора вылазит сообщение "Recv header ansver error" О: Нужно добавить в stargazer.conf в строку AdminAllowFrom ip адрес компьютера или подсети с которой осуществляется попытка подключения.
Max Опубліковано: 12 травня, 2005 Опубліковано: 12 травня, 2005 В: При коннекте конфигуратора вылазит сообщение "Incorrect header" О: Необходимо проверить версию, конфигуратора и сервера на совместимость.
centre-lan Опубліковано: 12 травня, 2005 Опубліковано: 12 травня, 2005 В: После установки старгейзера и редакирования правил rules в винде и перезапись поверх существующих -- старгейзер не запускается О: Надо отредактировать файл rules убрать ^M одним знаком в конце каждой строчки, на этот символ ругается только файл рулес. Также стоит сохранять в винде правилу используя \n\r Или воспользоватся обычным скриптом DOS to UNIX Run the following : # perl -pi.bak -e 's/\r\n/\n/g' [file] It will copy [file] to [file].bak, and edit the original
egor2fsys Опубліковано: 12 травня, 2005 Опубліковано: 12 травня, 2005 В: После начала работы у пользователей не считается трафик !!! О: Проверьте интерфейс в настройках пользователей, там должен стоять именно тот интерфейс, на который они идут
denz Опубліковано: 13 травня, 2005 Опубліковано: 13 травня, 2005 В: Как правильно зафильтровать ICMP через FreeBSD ipfw О: Расшифровка кодов ICMP сообщений: 0 echo reply 3 destination unreachable 4 source quench 5 redirect 8 echo request 9 router adver-tisement 10 router solicitation 11 time-to-live exceeded 12 IP header bad 13 timestamp request 14 timestamp reply 15 information request 16 information reply 17 address mask request 18 address mask reply ${fwcmd} add 300 allow icmp from any to внешний_IP in via внешний_интерфейс icmptype 0,3,4,11,12 ${fwcmd} add 301 allow icmp from внешний_IP to any out via внешний_интерфейс icmptype 3,8,12 ${fwcmd} add 304 allow icmp from внешний_IP to any out via внешний_интерфейс frag ${fwcmd} add 305 deny log icmp from any to any in via внешний_интерфейс
MiB Опубліковано: 14 травня, 2005 Опубліковано: 14 травня, 2005 В: как сделать чтобы трафик считался без запуска авторизатора у пользователя? О: поставить этому пользователю галку "Всегда OnLine".
Den_LocalNet Опубліковано: 14 травня, 2005 Автор Опубліковано: 14 травня, 2005 В: Как из отмаскараднутой сети пользоваться авторизатором? О: Авторизатор работает по протоколу UDP. Согласно RFC-768 в нем отсутствуют номера сессий, поэтому роутер не может "знать", кому отдавать датаграммы после получения ответа от старгейзера. Для таких сетей необходимо пользоваться авторизатором через веб-интерфейс. by FuriKuri
denz Опубліковано: 14 травня, 2005 Опубліковано: 14 травня, 2005 В: Как запустить или остановить, а также рестартануть СТГ сервер? О: Пример скрипта stgctl который понимает такие команды как start stop restart #!/bin/sh case "$1" in start) /sbin/stargazer echo "Starting Billing Server..." sleep 1 ;; stop) pid=$(ps -ax|grep stargazer|grep -v grep | awk '{print $1}') kill ${pid} > /dev/null 2>&1 echo "Stop Billing Server..." sleep 1 ;; restart) pid=$(ps -ax|grep stargazer|grep -v grep | awk '{print $1}') kill ${pid} > /dev/null 2>&1 echo "Stop Billing Server..." sleep 2 /sbin/stargazer echo "Starting Billing Server..." sleep 1 ;; *) echo "Используй: `basename $0` { start | stop | restart }" exit 64 ;; esac
denz Опубліковано: 4 червня, 2005 Опубліковано: 4 червня, 2005 В: Как настроить скрипт OnConnect на FreeBSD для ipfw О: Пример скрипта OnConnect #Этот скрипт вызывается в момент, когда пользователь #успешно прошел авторизацию на сервере. Задач скрипта - перестроить #файрвол так, что бы пользователь получил доступ в интернет. #В поле Примечание у абонента я устанавливаю скорость по типу 64Kbit/s LOGIN=$1 IP=$2 CASH=$3 ID=$4 SPEED=`cat /var/stargazer/users/$LOGIN/conf | grep 'Note=' | cut -d "=" -f2` fwcmd="/sbin/ipfw -q" cur_date=`date \+\%Y.\%m.\%d` cur_time=`date \+\%H:\%M:\%S` ${fwcmd} pipe `expr $ID + 101` config bw $SPEED ${fwcmd} add `expr $ID + 501` pipe `expr $ID + 101` tcp from any to $IP via rl1 ${fwcmd} add `expr $ID '*' 10 + 10001` allow icmp from $IP to any out via rl1 icmptype 0,3,4,11,12 ${fwcmd} add `expr $ID '*' 10 + 10002` allow ip from $IP to any ${fwcmd} add `expr $ID '*' 10 + 10003` allow ip from any to $IP echo "C `date +%Y.%m.%d-%H.%M.%S` $ID $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log echo "C `date +%Y.%m.%d-%H.%M.%S` $ID $LOGIN $IP $CASH" >> /var/stargazer/users/allconnect.log echo "<=;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /home/stat/logs/connect.log
denz Опубліковано: 4 червня, 2005 Опубліковано: 4 червня, 2005 В: Как настроить скрипт OnDisconnect на FreeBSD для ipfw О: Пример скрипта OnDisconnect LOGIN=$1 IP=$2 CASH=$3 ID=$4 fwcmd="/sbin/ipfw" cur_date=`date \+\%Y.\%m.\%d` cur_time=`date \+\%H:\%M:\%S` ${fwcmd} delete `expr $ID + 501` ${fwcmd} delete `expr $ID '*' 10 + 10001` ${fwcmd} delete `expr $ID '*' 10 + 10002` ${fwcmd} delete `expr $ID '*' 10 + 10003` echo "D `date +%Y.%m.%d-%H.%M.%S` $ID $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log echo "D `date +%Y.%m.%d-%H.%M.%S` $ID $LOGIN $IP $CASH" >> /var/stargazer/users/allconnect.log echo "=>;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /home/stat/logs/connect.log
Max Опубліковано: 4 серпня, 2005 Опубліковано: 4 серпня, 2005 (відредаговано) В: Как собрать статистику за любой учётный период по трафику, и вывод получить в консоли? О: Воспользоваться нижеприведённым скриптом, если есть пожелания для доработки, приму и внесу! Может использоваться пока автор не сделает это шататным средством. Обновлено, теперь есть общая сумма по траффику и сумме в валюте, несколько опций, улучшен вывод. #!/usr/bin/perl $version="0.96"; $dialog="y";#Запуск или не запуск диалога #Дефолтный путь к БД $path_default="/var/stargazer/users"; #Дефолтный отчётный период $date_default="2005.11"; #Размер 1 киллобайта в байт $kb="1000"; #Размер 1 мегабайта в кбайт $mb="1000"; $mod_def="y";#Модификатор месяца, используется для получения статистки либо за текущий месяц, либо за указнный месяц. #По дефолту если дату не вводить, а отавить пустой, то отчёт будет #статистике за текущий месяц! Положительное #значение должно быть y $mod_t_def="D";#Модификатор отображения статистки по тарфику, D - download; U - upload $mod_f_def="n";#Нужен ли вывод в файл $file_def="./report.txt";#Имя и путь файла вывода $cent=3;#Стоимость 1 мб переданной информации $lite_def="n";#Облегчённый вывод, удобен при экспорте в эксель $tpl="| ";#Шаблон формата вывода(любые значения) $split=":";#Шаблон разделителя полей вывода(любое значение) ################################################################################################################ if($dialog eq "y") {&dialog;} else {&no_dialog;} sub no_dialog{ $path=$path_default; $mod_d=$mod_def; $mod_t=$mod_t_def; $mod_f=$mod_f_def; $date=$date_default; $file=$file_def; $lite=$lite_def; &main; } sub dialog{ system "clear"; print "Программа выгрузки статистики из биллинга STARGAZER-2 по абонентам v.$version\nГород Челябинск ЗАО 'V-LAN'\n"; print "Вводные данные:"; print "Размер 1КБ=$kb байт; "; print "Размер 1МБ=$mb киллобайт\n"; print "Введите буть к БД Старгейзера-2[$path_default]:"; $path=<STDIN>;chomp $path; if($path eq "") {$path=$path_default;} print "Нужен ли отчёт за текущий месяц(y/n)[$mod_def]:"; $mod_d=<STDIN>;chomp $mod_d; if($mod_def eq "n") {if($mod_d eq "" or $mod_d eq "n") {$mod_d=1;print "Отчётный период[$date_default]:";$date=<STDIN>;chomp $date;} else {$mod_d=2;}} else {if($mod_d eq "" or $mod_d eq "y") {$mod_d=3;} else {$mod_d=4;print "Отчётный период[$date_default]:";$date=<STDIN>;chomp $date;}} print "Отчёт за входящий или исходящий трафик(D/U)[$mod_t_def]:"; $mod_t=<STDIN>;chomp $mod_t; if($mod_t eq "") {$mod_t=$mod_t_def;} print "Нужен ли вывод в файл?(y/n)[$mod_f_def]:"; $mod_f=<STDIN>;chomp $mod_f; if($mod_f eq "") {$mod_f=$mod_f_def;} if($mod_f eq "y"){ print "Путь и имя файла вывода($file_def)[$file_def]:"; $file=<STDIN>;chomp $file; if($file eq "") {$file=$file_def;} } print "Нужен ли облегчённый вывод?(y/n)[$lite_def]:"; $lite=<STDIN>;chomp $lite; if($lite eq "") {$lite=$lite_def;} &main; } sub main{ system "ls $path >>./tmp1"; open (TMP,"./tmp1"); @uname=<TMP>;close TMP; unlink "./tmp1"; $user=@uname; if($mod_d eq "1" or $mod_d eq "4") {if($date eq ""){$date=$date_default;} $date=join(".","",$date);} else {$date="";$date_print="Текущий месяц";} for($i=0;$i<$user;++$i){ $dir="$path/@uname[$i]"; chomp @uname[$i];$uname=@uname[$i]; chomp $dir;system "echo $uname>>./tmp2"; system "cat $dir/stat$date|grep $mod_t >>./tmp2"; system "tr '=' '\n'< ./tmp2 > ./tmp3";} unlink "./tmp2"; open (TMP,"./tmp3"); @traf=<TMP>;close TMP; unlink "./tmp3"; $traf=@traf;$a=0; if($mod_t eq "D") {$filter="DOWNLOAD";} else {$filter="UPLOAD";} ($sec,$min,$hour,$day_m,$month,$year,$day_w,$day_y,$other)=localtime(time); $year=$year+1900; if($month<10) {$month=join("",$a,$month);} if($lite eq "y") {$tpl="";&stdout;} else {&stdout;} } sub stdout{ if($mod_f eq "n") { print "\n$year-$month-$day_m-$hour-$min\n","Таблица статистики абонентов (Для служебных целей) за $date_print $filter:\n\n"; for($i=0;$i<$traf;++$i){ $uname=@traf[$i];chomp $uname;$i=$i+2; $D0=@traf[$i];chomp $D0;$i=$i+2; $D1=@traf[$i];chomp $D1;$i=$i+2; $D2=@traf[$i];chomp $D2;$i=$i+2; $D3=@traf[$i];chomp $D3;$i=$i+2; $D4=@traf[$i];chomp $D4;$i=$i+2; $D5=@traf[$i];chomp $D5;$i=$i+2; $D6=@traf[$i];chomp $D6;$i=$i+2; $D7=@traf[$i];chomp $D7;$i=$i+2; $D8=@traf[$i];chomp $D8;$i=$i+2; $D9=@traf[$i];chomp $D9; $summ=$D0+$D1+$D2+$D3+$D4; $summ=($summ/$kb)/$mb; print "--------------------------------\n"; print "$tpl$uname$split $summ MB\n"; $money=$summ*$cent; print "$tplНа сумму$split $money P\n"; $a=$a+$summ; $imoney=$money+$imoney; } print "################################\n"; print "$tplОбщий траффик$split $a MB\n"; print "$tplНа сумму$split $imoney\n"; } else{ open(ECHO,">>$file"); print ECHO "\n$year-$month-$day_m-$hour:$min:$sec\n","Таблица статистики абонентов (Для служебных целей) за $date_print $filter:\n\n"; for($i=0;$i<$traf;++$i){ $uname=@traf[$i];chomp $uname;$i=$i+2; $D0=@traf[$i];chomp $D0;$i=$i+2; $D1=@traf[$i];chomp $D1;$i=$i+2; $D2=@traf[$i];chomp $D2;$i=$i+2; $D3=@traf[$i];chomp $D3;$i=$i+2; $D4=@traf[$i];chomp $D4;$i=$i+2; $D5=@traf[$i];chomp $D5;$i=$i+2; $D6=@traf[$i];chomp $D6;$i=$i+2; $D7=@traf[$i];chomp $D7;$i=$i+2; $D8=@traf[$i];chomp $D8;$i=$i+2; $D9=@traf[$i];chomp $D9; $summ=$D0+$D1+$D2+$D3+$D4; $summ=($summ/$kb)/$mb; print ECHO "--------------------------------\n"; print ECHO "$tpl$uname$split$summ\n"; $money=$summ*$cent; print ECHO "$tplНа сумму$split$money\n"; $a=$a+$summ; $imoney=$money+$imoney; } print ECHO "################################\n"; print ECHO "$tplОбщий траффик$split$a\n"; print ECHO "$tplНа сумму$split$imoney\n"; close ECHO; } } И ещё этот скрипт нельзя использовать если среди пользовтаелей есть новички, тоесть если в каталоге у пользователя нет файла stat.2005.хх! Его необходимо будет создать, а поля в файле выставить равными 0. Відредаговано 29 листопада, 2005 Max
_J_ Опубліковано: 6 березня, 2006 Опубліковано: 6 березня, 2006 Q: Как позволить одному логину получать доступ с разных IP Ф: Достаточно в поле IP Адрес ввести все допустимые ip через запятую и пробел 10.20.30.2, 10.20.30.3, 10.20.50.85 итд
denz Опубліковано: 25 травня, 2006 Опубліковано: 25 травня, 2006 В: Как автоматизировань поднятие STG при вылете его из процессов? О: Коль случилась/случается такая неприятность - можно решить ее таким вот скриптиком под названьем stglife.sh, пример приведен ниже : #!/bin/sh # Делаем выборку из активных процессов NUM='ps ax|grep stargazer|wc -l' if [ $NUM -lt 2 ]; then # Запускаем, советую перед тем как запустить убить, т.е. restart /usr/local/rc.d/stgctl restart fi Добавляем запись в cron, время по вкусу: 5,35 * * * * root /usr/local/bin/stglife.sh
ssergg00 Опубліковано: 5 червня, 2006 Опубліковано: 5 червня, 2006 В: Как автоматизировань поднятие STG при вылете его из процессов?О: Коль случилась/случается такая неприятность - можно решить ее таким вот скриптиком под названьем stglife.sh, пример приведен ниже : #!/bin/sh # Делаем выборку из активных процессов NUM='ps ax|grep stargazer|wc -l' if [ $NUM -lt 2 ]; then # Запускаем, советую перед тем как запустить убить, т.е. restart /usr/local/rc.d/stgctl restart fi Добавляем запись в cron, время по вкусу: 5,35 * * * * root /usr/local/bin/stglife.sh Не всегда можно увидить второй процесс grep и перезагрузка будет происходить даже при нормально работающим stargazer. Поэтому корректней было бы: NUM='ps ax | grep stargazer | grep -v grep | wc -l if [ $NUM -lt 1 ]; then и т.д.
XoRe Опубліковано: 16 жовтня, 2006 Опубліковано: 16 жовтня, 2006 В: Перезапускаешь stargazer, а он в лог пишет: Bind admin socket failed или Bind failed что делать? О: Проверить, какие процессы заняли tcp и/или udp порты старгейзера под себя. Во FreeBSD проверяется через sockstat -4l | grep 5555 (или какой там у вас порт). В моем случае, этим процессом был named, который почему-то открыл tcp порт 5555, как непривеллигированный. Перезагрузка named помогла, он перестал занимать этот порт. А потом уже можно загружать stargazer.
dima1980 Опубліковано: 13 липня, 2007 Опубліковано: 13 липня, 2007 Вопрос - необходимо увеличить число направлений для подсчета траффика... простое изменение константы DIR_NUM в исходниках поможет ?
Kucher2 Опубліковано: 2 жовтня, 2008 Опубліковано: 2 жовтня, 2008 В: Как автоматизировань поднятие STG при вылете его из процессов? Предложенные здесь скрипты проверки состояния и перезапуска СТГ - не всегда срабатывают. Тут вот немного изменённый вариант: http://local.com.ua/forum/index.php?s=&...ost&p=99151
Tolma4 Опубліковано: 7 липня, 2009 Опубліковано: 7 липня, 2009 В: При коннекте конфигуратора вылазит сообщение "Recv header ansver error"О: Нужно добавить в stargazer.conf в строку AdminAllowFrom ip адрес компьютера или подсети с которой осуществляется попытка подключения. Сегодня поймал такой баг. После внимательно выкуривания логов Старгейзера было обнаружено: Была попытка создать нового администратора. Администратор создался, но в его конфиге не было ни единого символа. Следовательно модуль конфигуратора при попытке загрузке выдавал ошибку о невозможности прочтения такого-то администратора. Решение: Вручную удалить администратора и перезапустить Старгейзер/Сервак. Надеюсь кому-нибудь поможет.
sasuke_uchiha Опубліковано: 11 жовтня, 2011 Опубліковано: 11 жовтня, 2011 В: Как сделать так что б stargazer стартовал при загрузке FreeBSD, и понимал команды О: 1. В папку /usr/loca/etc/rc.d Добавляем файл stg.sh 2. Вписываем содержимое: #!/bin/sh stg_enable=${stg_enable-"NO"} . /etc/rc.subr name="stg" rcvar=`set_rcvar` command="/usr/sbin/stargazer" load_rc_config $name run_rc_command "$1" 3. файл зделать исполняемым chmod 755 stg.sh 4. в файле /etc/rc.conf добовляем stg_enable="YES" Пояснения : 1. расширение .sh обязательное номинальное требование 2. В: Почему такой короткий скрипт? О: Файл rc.subr содержит методы стандартных аргументов, если болие понятно то управление stargazer'ом ведеться как обычным деманом. Испытано на версии FreeBSD 8.2 ядро GENERIC
madf Опубліковано: 14 жовтня, 2011 Опубліковано: 14 жовтня, 2011 sasuke_uchiha, если вы не против, я добавлю этот скрипт в дистрибутив.
sasuke_uchiha Опубліковано: 14 жовтня, 2011 Опубліковано: 14 жовтня, 2011 sasuke_uchiha, если вы не против, я добавлю этот скрипт в дистрибутив. Буду даже рад
morfey Опубліковано: 15 жовтня, 2011 Опубліковано: 15 жовтня, 2011 Еще можно добавить для старта # PROVIDE: stargazer # REQUIRE: mysql Чтобы стартовало после мускуля, для постгреса тоже можно опцию добавить
revomix Опубліковано: 23 травня, 2012 Опубліковано: 23 травня, 2012 всем привет! я так понял для подключения у абонента к серверу нужно запускать виндовое приложение. а можна просто втиркнуть кабель в сетевуху и получить айпишник? на freebsd 9 работает?
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас