Den_LocalNet 1 474 Опубликовано: 2005-05-12 08:24:40 Share Опубликовано: 2005-05-12 08:24:40 Предлагаю добавлять в этот топик ответы на часто задаваемые вопросы. Основные правила: 1. Тут не цитируют и не отвечают. 2. Если не уверены в своём вопросе\ответе - отправьте по ЛС модераторам\администратору 3. _ВСЕ_ критики и коменты _ТОЛЬКО_ в ЛС Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2005-05-12 08:37:22 Автор Share Опубліковано: 2005-05-12 08:37:22 В: При коннекте конфигуратора вылазит сообщение "Recv header ansver error" О: Нужно добавить в stargazer.conf в строку AdminAllowFrom ip адрес компьютера или подсети с которой осуществляется попытка подключения. Ссылка на сообщение Поделиться на других сайтах
Max 0 Опубліковано: 2005-05-12 09:21:21 Share Опубліковано: 2005-05-12 09:21:21 В: При коннекте конфигуратора вылазит сообщение "Incorrect header" О: Необходимо проверить версию, конфигуратора и сервера на совместимость. Ссылка на сообщение Поделиться на других сайтах
centre-lan 1 Опубліковано: 2005-05-12 11:13:06 Share Опубліковано: 2005-05-12 11:13:06 В: После установки старгейзера и редакирования правил 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 5 Опубліковано: 2005-05-12 11:34:22 Share Опубліковано: 2005-05-12 11:34:22 В: После начала работы у пользователей не считается трафик !!! О: Проверьте интерфейс в настройках пользователей, там должен стоять именно тот интерфейс, на который они идут Ссылка на сообщение Поделиться на других сайтах
denz 0 Опубліковано: 2005-05-13 12:18:32 Share Опубліковано: 2005-05-13 12:18:32 В: Как правильно зафильтровать 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 0 Опубліковано: 2005-05-14 04:17:14 Share Опубліковано: 2005-05-14 04:17:14 В: как сделать чтобы трафик считался без запуска авторизатора у пользователя? О: поставить этому пользователю галку "Всегда OnLine". Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2005-05-14 09:52:27 Автор Share Опубліковано: 2005-05-14 09:52:27 В: Как из отмаскараднутой сети пользоваться авторизатором? О: Авторизатор работает по протоколу UDP. Согласно RFC-768 в нем отсутствуют номера сессий, поэтому роутер не может "знать", кому отдавать датаграммы после получения ответа от старгейзера. Для таких сетей необходимо пользоваться авторизатором через веб-интерфейс. by FuriKuri Ссылка на сообщение Поделиться на других сайтах
denz 0 Опубліковано: 2005-05-14 15:50:41 Share Опубліковано: 2005-05-14 15:50:41 В: Как запустить или остановить, а также рестартануть СТГ сервер? О: Пример скрипта 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 0 Опубліковано: 2005-06-04 09:26:55 Share Опубліковано: 2005-06-04 09:26:55 В: Как настроить скрипт 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 0 Опубліковано: 2005-06-04 09:38:36 Share Опубліковано: 2005-06-04 09:38:36 В: Как настроить скрипт 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 0 Опубліковано: 2005-08-04 16:42:51 Share Опубліковано: 2005-08-04 16:42:51 (відредаговано) В: Как собрать статистику за любой учётный период по трафику, и вывод получить в консоли? О: Воспользоваться нижеприведённым скриптом, если есть пожелания для доработки, приму и внесу! Может использоваться пока автор не сделает это шататным средством. Обновлено, теперь есть общая сумма по траффику и сумме в валюте, несколько опций, улучшен вывод. #!/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. Відредаговано 2005-11-29 11:06:40 Max Ссылка на сообщение Поделиться на других сайтах
_J_ 0 Опубліковано: 2006-03-06 21:39:43 Share Опубліковано: 2006-03-06 21:39:43 Q: Как позволить одному логину получать доступ с разных IP Ф: Достаточно в поле IP Адрес ввести все допустимые ip через запятую и пробел 10.20.30.2, 10.20.30.3, 10.20.50.85 итд Ссылка на сообщение Поделиться на других сайтах
denz 0 Опубліковано: 2006-05-25 10:50:36 Share Опубліковано: 2006-05-25 10:50:36 В: Как автоматизировань поднятие 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 0 Опубліковано: 2006-06-05 03:36:38 Share Опубліковано: 2006-06-05 03:36:38 В: Как автоматизировань поднятие 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 0 Опубліковано: 2006-10-16 06:42:45 Share Опубліковано: 2006-10-16 06:42:45 В: Перезапускаешь stargazer, а он в лог пишет: Bind admin socket failed или Bind failed что делать? О: Проверить, какие процессы заняли tcp и/или udp порты старгейзера под себя. Во FreeBSD проверяется через sockstat -4l | grep 5555 (или какой там у вас порт). В моем случае, этим процессом был named, который почему-то открыл tcp порт 5555, как непривеллигированный. Перезагрузка named помогла, он перестал занимать этот порт. А потом уже можно загружать stargazer. Ссылка на сообщение Поделиться на других сайтах
dima1980 0 Опубліковано: 2007-07-13 06:15:27 Share Опубліковано: 2007-07-13 06:15:27 Вопрос - необходимо увеличить число направлений для подсчета траффика... простое изменение константы DIR_NUM в исходниках поможет ? Ссылка на сообщение Поделиться на других сайтах
ankos 19 Опубліковано: 2008-05-28 08:47:57 Share Опубліковано: 2008-05-28 08:47:57 В: Как связать stg+web-stg+dhcpd? Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубліковано: 2008-10-02 08:42:37 Share Опубліковано: 2008-10-02 08:42:37 В: Как автоматизировань поднятие STG при вылете его из процессов? Предложенные здесь скрипты проверки состояния и перезапуска СТГ - не всегда срабатывают. Тут вот немного изменённый вариант: http://local.com.ua/forum/index.php?s=&...ost&p=99151 Ссылка на сообщение Поделиться на других сайтах
Tolma4 1 Опубліковано: 2009-07-07 09:55:31 Share Опубліковано: 2009-07-07 09:55:31 В: При коннекте конфигуратора вылазит сообщение "Recv header ansver error"О: Нужно добавить в stargazer.conf в строку AdminAllowFrom ip адрес компьютера или подсети с которой осуществляется попытка подключения. Сегодня поймал такой баг. После внимательно выкуривания логов Старгейзера было обнаружено: Была попытка создать нового администратора. Администратор создался, но в его конфиге не было ни единого символа. Следовательно модуль конфигуратора при попытке загрузке выдавал ошибку о невозможности прочтения такого-то администратора. Решение: Вручную удалить администратора и перезапустить Старгейзер/Сервак. Надеюсь кому-нибудь поможет. Ссылка на сообщение Поделиться на других сайтах
sasuke_uchiha 0 Опубліковано: 2011-10-11 15:19:46 Share Опубліковано: 2011-10-11 15:19:46 В: Как сделать так что б 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 279 Опубліковано: 2011-10-14 08:33:06 Share Опубліковано: 2011-10-14 08:33:06 sasuke_uchiha, если вы не против, я добавлю этот скрипт в дистрибутив. Ссылка на сообщение Поделиться на других сайтах
sasuke_uchiha 0 Опубліковано: 2011-10-14 20:45:49 Share Опубліковано: 2011-10-14 20:45:49 sasuke_uchiha, если вы не против, я добавлю этот скрипт в дистрибутив. Буду даже рад Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2011-10-15 07:51:49 Share Опубліковано: 2011-10-15 07:51:49 Еще можно добавить для старта # PROVIDE: stargazer # REQUIRE: mysql Чтобы стартовало после мускуля, для постгреса тоже можно опцию добавить Ссылка на сообщение Поделиться на других сайтах
revomix 28 Опубліковано: 2012-05-23 08:19:12 Share Опубліковано: 2012-05-23 08:19:12 всем привет! я так понял для подключения у абонента к серверу нужно запускать виндовое приложение. а можна просто втиркнуть кабель в сетевуху и получить айпишник? на freebsd 9 работает? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас