sypper-pit 0 Опубликовано: 2006-05-30 06:40:33 Share Опубликовано: 2006-05-30 06:40:33 и так что у меня имеется 1) freeBSD 5.3 2) ipfw & ipdivert 3) stg-2.4.8.6 4) поправленные зависимости на expat #ln /usr/local/incude/expat.h /usr/lib #ln /usr/local/incude/expat.h /usr/include #ln /usr/local/incude/expat_external.h /usr/include #ln /usr/local/incude/expat_external.h /usr/lib так же копируем libexpat #cp /usr/local/lib/libexpat.so.5 /usr/lib #cp /usr/local/lib/libexpat.so /usr/lib тянем stg-2.4.8.6 ТО_СЮДА или #cd / #wget http://stargazer.dp.ua/download/server/2.4...2.4.8.6.src.tgz (должен быть установлен wget если хотите через него скачивать) #tar -xvf stg-2.4.8.6.src.tgz #cd stg-2.4.8.6 #cd projects #cd stargazer #./build (идёт компеляция если ошибок нет ... то вроди всё впорядке ) #./install далее должно появится следующие в /etc должн появится коалог /etc/stargazer в нем есть # ls OnChange OnDisconnect OnUserDel stargazer.conf OnConnect OnUserAdd rules правим stargazer.conf ee /etc/stargazer/stargazer.conf ################################################################################ # Файл настроек сервера stargazer # ################################################################################ # Имя лог-файла куда пушутся события LogFile = /var/log/stargazer.log # Имя файла в котором определяются правила подсчета трафика Rules = /etc/stargazer/rules # Время через которое пишется d БД детальная статистика пользователя # Значения: 1, 1/2, 1/4, 1/6. # 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 мин, 1/6 - раз в 10 мин DetailStatWritePeriod=1/6 # Периодичность записи записи в БД информации о стаитистке пользователя (минуты) # При большом кол-ве пользователей эту величину стоит увеличить, т.к. # запись в БД может занимать длительное время. # Значения: 1...1440 (минуты) StatWritePeriod = 10 # День снятия абонплаты # Значения: 0...31. 0 - Последний день месяца DayFee = 1 # День сброса данных о трафике за месяц и день перехода пользователей на новые тарифы # Значения: 0...31. 0 - Последний день месяца DayResetTraff = 1 # "Размазанное" снятие абонплаты. Снятие АП не раз в месяц, а каждый # день 1/30 или 1/31 части АП # Значения: yes, no SpreadFee = no # Данная опция определяет может ли пользователь получить доступ в интерент # если у него на счету нет денег, но остался предоплаченный трафик # Значения: yes, no FreeMbAllowInet = no # Названия направлений. Направления без названий не будут отображаться в # авторизаторе и конфигураторе. Названия состоящие из нескольких слов должны # быть взяты в кавычки <DirNames> DirName0 = Локаль DirName1 = Город DirName2 = Мир DirName3 = DirName4 = DirName5 = DirName6 = DirName7 = DirName8 = DirName9 = </DirNames> # Кол-во запускаемых процессов stg-exec. # Эти процессы отвечают за выполнение скриптов OnConnect, OnDisconnect, ... # Кол-во процессов означает сколько скриптов могут выполнятся одновременно. # Значения: 1...1024 ExecutersNum = 1 # Message Key для stg-exec. # Идентификатор очереди сообщений для выполнятеля скриптов. # Его изменение может понядобится если есть необходимость запустить несколько # экземпляров stg. Если вы не понимаете, что это, не трогайте этот параметр! # Значения: 0...2^32 # Значение по умолчанию: 5555 # ExecMsgKey = 5555 # Путь к директории, в которой находятся моудли сервера ModulesPath = /usr/lib/stg ################################################################################ # Store module # Настройки плагина работающего с БД сервера # Второй параметер - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_store_files.so <StoreModule store_files> # Рабочая директория сервера, тут содержатся данные о тарифах, пользователях, # администраторах и т.д. WorkDir = /var/stargazer # Владелец, группа и права доступа на файлы статистики (stat) пользователя ConfOwner = root ConfGroup = wheel ConfMode = 600 # Владелец, группа и права доступа на файлы конфигурации (conf) пользователя StatOwner = root StatGroup = wheel StatMode = 640 # Владелец, группа и права доступа на лог-файлы (log) пользователя UserLogOwner = root UserLogGroup = wheel UserLogMode = 640 </StoreModule> ################################################################################ # Прочие модули <Modules> # Настройки плагина авторизации Always Online "mod_auth_ao.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ao.so <Module auth_ao> </Module> # Настройки плагина авторизации InetAccess "mod_auth_ia.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце # Т.е. полное имя модуля mod_auth_ia.so <Module auth_ia> # Порт на которм принимаются обращения от авторизатора # Значения: 1...65534 Port = 5555 # Время между посылками запроса пользовател жив ли он # и обновлением данных статистики (секунды) # Значения: 5...600 UserDelay = 15 #Таймаут для пользователя. Если в течение этого времени авторизатор #не отвечает, пользователь будет отключен # Значения: 15...1200 UserTimeout = 65 # Этот параметр определяет что будет передаватся программе InetAccess от сервера # как отстаток предоплаченного трафика # Значения: # FreeMb = 0 - кол-во бесплатных мегабайт в пресчете на цену нулевого направления # FreeMb = 1 - кол-во бесплатных мегабайт в пресчете на цену первого направления # FreeMb = 2 - кол-во бесплатных мегабайт в пресчете на цену второго направления # FreeMb = 3 - кол-во бесплатных мегабайт в пресчете на цену третьего направления # ........................ # FreeMb = 9 - кол-во бесплатных мегабайт в пресчете на цену девятого направления # FreeMb = cash - кол-во денег на которые юзер может бесплатно качать # FreeMb = none - ничего не передавать FreeMb = cash </Module> # Модули можно использовать несколько раз с разными параметрами #<Module auth_ia> # Port = 7777 # UserDelay = 15 # UserTimeout = 65 # FreeMb = 0 #</Module> # Настройки модуля конфигурации SgConfig "mod_conf_sg.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце <Module conf_sg> # Порт по которому сервер взаимодействует с конфигуратором # Значения: 1...65535 Port = 8888 </Module> # Модуль захвата трафика "mod_cap_bpf.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце # Без параметров. Только имя модуля. <Module cap_bpf> # Интерфейс(ы) на котором нужно производить подсчет трафика iface = rl0 iface = rl1 iface = rl2 iface = tun0 iface = sk0 </Module> # Настройки модуля пингующего пользователей "mod_ping.so" # Второй параметер - это имя модуля без mod_ в начале и .so в конце <Module ping> # Время, в секундах, между пингами одного и тогоже пользователя # Значения: 10...3600 PingDelay = 15 </Module> </Modules> ################################################################################ где rl1 - интерфейс который смотрит на adsl модем , rl2 - локалка tun0 - PPPoE соединение sk0 - сетевуха смотряшая в интернет через другова провайдера так же правим ee /etc/stargazer/rules # Locale ALL 192.168.0.0/16 DIR0 # stbur ALL 83.234.84.0/24 DIR1 ALL 83.234.85.0/24 DIR1 ALL 83.234.120.0/24 DIR1 ALL 83.234.121.0/24 DIR1 ALL 83.234.122.0/24 DIR1 ALL 83.234.123.0/24 DIR1 ALL 62.33.133.0/24 DIR1 # burnet ALL 212.0.64.0/19 DIR1 # Internet ALL 0.0.0.0/0 DIR2 ______________________________________________ теперь запускаемся #/usr/sbin/stargazer # смотрим есть или нет этот процесс # ps ax | grep star 598 ?? S<s 7:45,92 /usr/sbin/stargazer 599 ?? I 0:00,01 stargazer: stg-exec (stargazer) 4439 p0 R+ 0:00,00 grep star если у вас как у меня значит всё в порядке на прочессе 599 в начале может стоять "S" ну это ничего страшного .... главное чтоб было 2 процесса 598 и 599 (у вас они могут иметь другие PID) и так сервер запущен теперь нам надо проверь слушается порт конфигуратора и авторизатора # netstat -an | grep 5555 udp4 0 0 *.5555 *.* # netstat -an | grep 8888 tcp4 0 0 *.8888 *.* LISTEN если так то всё работает КАЧАЕМ_КОНФИГУРАТОР устанавливаем под эмулятором как у меня или под виндой запускаем конфигуратор и правим настройки в имени сервера вставляем его ip-адрес порт 8888 нажимаем обновить и получаем приглашение ввести логи и пароль администратора logoin: admin passwd: 123456 ну дальше по аналогии с пользователем вводим адреса локальных адресов логины и пароли зверей (советую также создать свой админский логин, а существующий удалить) и перекрыть в фаирволе сторонних пользователей вот тут начинается трабла .... я переписываю OnConnect и OnDisconnect так чтоб они подстовляли правила в ipfw и так получается что лог пишется , а в фаирвол не добавляется павило авторизатор взят ВОТ_ЭТОТ может кто что подскажет Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2006-05-30 06:56:16 Share Опубліковано: 2006-05-30 06:56:16 А если вречную стартануть ОнКоннект то добавляет правила? У юзера надеюь кредит стоит? Если поставить "всегда онлайн" то что? Ссылка на сообщение Поделиться на других сайтах
Mutant 0 Опубліковано: 2006-05-30 08:05:59 Share Опубліковано: 2006-05-30 08:05:59 Посмотри на первые строчки файлов OnConnect и OnDisconnect Первой стокой должнен быть указан путь к шелл интерпритатору. Что то вроде: #!/bin/sh или #!/usr/local/bin/bash По умолчанию это не указано. Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-05-30 08:12:06 Автор Share Опубліковано: 2006-05-30 08:12:06 А если вречную стартануть ОнКоннект то добавляет правила?У юзера надеюь кредит стоит? Если поставить "всегда онлайн" то что? ну если ставлю "всегда online" то трафик считает , а мне нужно чтоб они авторизировались Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-05-30 08:14:02 Автор Share Опубліковано: 2006-05-30 08:14:02 Посмотри на первые строчки файлов OnConnect и OnDisconnectПервой стокой должнен быть указан путь к шелл интерпритатору. Что то вроде: #!/bin/sh или #!/usr/local/bin/bash По умолчанию это не указано. пробовал ... не работает ... ,а самое странное .. что лог который в этом скирипте прописан срабатывает Ссылка на сообщение Поделиться на других сайтах
Max 0 Опубліковано: 2006-05-30 10:28:37 Share Опубліковано: 2006-05-30 10:28:37 приведите ваш onconnect Ссылка на сообщение Поделиться на других сайтах
Zero666 0 Опубліковано: 2006-05-30 21:59:05 Share Опубліковано: 2006-05-30 21:59:05 незнаю как tun0, но ppp0 у меня считать отказался... Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2006-05-31 01:51:10 Share Опубліковано: 2006-05-31 01:51:10 СТГ, надеюсь, под рутом работает? Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-05-31 03:45:17 Автор Share Опубліковано: 2006-05-31 03:45:17 СТГ, надеюсь, под рутом работает? да разумеется ... там жить в конфиги прописанно Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2006-05-31 14:43:48 Share Опубліковано: 2006-05-31 14:43:48 приведите ваш onconnect приведите ваш onconnect Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-06-01 05:40:55 Автор Share Опубліковано: 2006-06-01 05:40:55 использовал этот скрипт на включение __________________________________ #!/bin/sh #Этот скрипт вызывается в момент, когда пользователь #успешно прошел авторизацию на сервере. Задач скрипта - перестроить #файрвол так, что бы пользователь получил доступ в интернет. #В поле Примечание у абонента я устанавливаю скорость по типу 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 Ссылка на сообщение Поделиться на других сайтах
FrEeDaY 0 Опубліковано: 2006-06-01 11:19:18 Share Опубліковано: 2006-06-01 11:19:18 У меня тоже такая проблема. Стоит Linux Slackware 10.2. При этом скрипты OnConnect и OnDisconnect вообще не запускаются старгейзером. Если их запускать вручную, то скрипт выполняет все правильно. # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 iptables -t filter -A INPUT -s $IP -j ACCEPT iptables -t filter -A FORWARD -s $IP -j ACCEPT iptables -t filter -A FORWARD -d $IP -j ACCEPT iptables -t filter -A OUTPUT -d $IP -j ACCEPT echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-06-02 03:45:09 Автор Share Опубліковано: 2006-06-02 03:45:09 У меня тоже такая проблема. Стоит Linux Slackware 10.2. При этом скрипты OnConnect и OnDisconnect вообще не запускаются старгейзером. Если их запускать вручную, то скрипт выполняет все правильно. # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 iptables -t filter -A INPUT -s $IP -j ACCEPT iptables -t filter -A FORWARD -s $IP -j ACCEPT iptables -t filter -A FORWARD -d $IP -j ACCEPT iptables -t filter -A OUTPUT -d $IP -j ACCEPT echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log насколько я знаю то в этом скрипте нужно писать что мол запуск идёт от #!/bin/bash .... вроди так ... и еще это возможно зависит от уравня security_level=?? или кк оно там в линуксе называтся Ссылка на сообщение Поделиться на других сайтах
sedoi_starik 0 Опубліковано: 2006-06-02 05:09:09 Share Опубліковано: 2006-06-02 05:09:09 Все дело в кавычках как оказалось. Метод тыка всетаки работате на ура)) перед expr надо ставить кавычку `(енто кнопка консоли или тильда) и закрывать точно также. А '*' енто обычные ковычки кнопка хде буковка Э. Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2006-06-02 06:12:18 Share Опубліковано: 2006-06-02 06:12:18 2sedoi_starik: это вы насчет чего? Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-06-02 08:39:43 Автор Share Опубліковано: 2006-06-02 08:39:43 это он имеет в виду ' и ` символы ... типа они по разному определяют Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2006-06-02 11:08:50 Share Опубліковано: 2006-06-02 11:08:50 Есессно ) Ссылка на сообщение Поделиться на других сайтах
FrEeDaY 0 Опубліковано: 2006-06-03 03:59:37 Share Опубліковано: 2006-06-03 03:59:37 (відредаговано) У меня тоже такая проблема. Стоит Linux Slackware 10.2. При этом скрипты OnConnect и OnDisconnect вообще не запускаются старгейзером. Если их запускать вручную, то скрипт выполняет все правильно. # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 iptables -t filter -A INPUT -s $IP -j ACCEPT iptables -t filter -A FORWARD -s $IP -j ACCEPT iptables -t filter -A FORWARD -d $IP -j ACCEPT iptables -t filter -A OUTPUT -d $IP -j ACCEPT echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log насколько я знаю то в этом скрипте нужно писать что мол запуск идёт от #!/bin/bash .... вроди так ... и еще это возможно зависит от уравня security_level=?? или кк оно там в линуксе называтся тут я забыл дописать #!/bin/sh, но это в скрипте есть. Старгейзер запускается с привелегиями рута. Он просто делает вид что скриптов не существует, хотя находятся там где нужно. Если запускать скрипты вручную с параметрами все отлично работает... Но не буду я сидеть принимать звонки от клинтов. И еще заметил такую особенность: Стг не считает мировой трафик(DIR3), при этом DIR1 считает постоянно, а DIR2 изнедка но считает... Соединение с интернетом происходит через сетевой интерфейс eth0. подскажите плиз че делать... Да, забыл сказать: доку не читал.... да и нафиг.... буду тут всем мозги парить... Відредаговано 2006-06-03 09:48:39 Den_LocalNet Ссылка на сообщение Поделиться на других сайтах
Den_LocalNet 1 474 Опубліковано: 2006-06-03 09:50:16 Share Опубліковано: 2006-06-03 09:50:16 2FrEeDaY читать доку, юзать поиск и всё будет.... честно... В след. раз посты буду удалять. http://stg.dp.ua Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-06-03 21:10:11 Автор Share Опубліковано: 2006-06-03 21:10:11 ну такто правельно .. он сначало не читает маны , а уже лезет в огород с монускриптом так что впринципи то что такие посты грохать это верно .... ну вот что касательно исполнения скрипта досих пор разобраться не могу ...(братья демоны(BSD) помогите может у кого заработало) начинаю подумывать о прокси "Оops" Ссылка на сообщение Поделиться на других сайтах
FrEeDaY 0 Опубліковано: 2006-06-04 11:43:58 Share Опубліковано: 2006-06-04 11:43:58 спасибо, все работает... оказывается было просто запущено много процессов старгейзера. Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-06-05 08:49:31 Автор Share Опубліковано: 2006-06-05 08:49:31 ну что у кого какие идеи FrEeDaY - ну ты блин а #ps ax | grep <чтоищем> не пробывал Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2006-06-06 06:11:22 Share Опубліковано: 2006-06-06 06:11:22 Поставь в конец каждой строчки команд ipfw добавку: && echo done > /какой/нибудь/лог Чтоб плучилось что-нибудь типа: ${fwcmd} add `expr $ID '*' 10 + 10003` allow ip from any to $IP && echo done > /какой/нибудь/лог А потом поставь вместо него вот что: || echo not > /какой/нибудь/лог ну... /какой/нибудь/лог, думаю, найдешь на что исправить) При успешном окончании команды будет срабатывать команда после &&. При неуспешном - после ||. И смотри логи. Ссылка на сообщение Поделиться на других сайтах
sypper-pit 0 Опубліковано: 2006-06-07 06:05:56 Автор Share Опубліковано: 2006-06-07 06:05:56 верно ... кк это я не допёр Ссылка на сообщение Поделиться на других сайтах
UR3LTG 0 Опубліковано: 2006-06-27 08:32:25 Share Опубліковано: 2006-06-27 08:32:25 и так что у меня имеется 1) freeBSD 5.3 2) ipfw & ipdivert 3) stg-2.4.8.6 4) поправленные зависимости на expat #ln /usr/local/incude/expat.h /usr/lib #ln /usr/local/incude/expat.h /usr/include #ln /usr/local/incude/expat_external.h /usr/include #ln /usr/local/incude/expat_external.h /usr/lib так же копируем libexpat #cp /usr/local/lib/libexpat.so.5 /usr/lib #cp /usr/local/lib/libexpat.so /usr/lib Уважаемый sypper-pit, скажите пожалуйста, какая у Вас стоит версия expat? У меня FreeBSD 5.4, стояла Expat 1.95.8. Прописал по Вашей методике линки, скопировал сами библиотеки, компилирую - не работает: `/usr/home/install/stg-2.4.8.6/projects/stargazer/plugins/configuration/sgconfig' deps:2: *** команды встречены до первого определения цели. Останов. gmake[1]: Leaving directory Ладно, снес 1.95.8 (pkg_delete -f ...), поставил из пакаджей expat-2.0.0_1 (ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-stable/All/expat-2.0.0_1.tbz). (перед установкой подчистил все файлы от старого, 1.95.8). Компилирую - та же самая хрень. Что только не пробовал, и прописывал в configproto.h #include</usr/iclude/expat.h>, и #include"expat.h" (а все файлы библиотеки скидывал в директорию с configproto.h). Результат был один - этот плагин упорно не собирался. ОС не обновлялась, порты тоже не обновлялись. В общем, что посоветуете? Заранее благодарен за ответ. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас