Jump to content

Не собирается stg-2 под Linux


Recommended Posts

Добрый день! Скачал stg-2.4.8.6, сборка вываливается с ошибкой где-то в начале процесса:

 

.......

Makeing pinger.lib

../Makefile.in:74: deps: No such file or directory

g++ -g -Wall -I ../../include/ -I ./ -DLINUX -DSTG_TIME -c pinger.cpp

ar rc libstg_pinger.a pinger.o

ranlib libstg_pinger.a

cp pinger.h ../../include/

cp libstg_pinger.a ../../lib/

Makeing dotconfpp.lib

../Makefile.in:74: deps: No such file or directory

g++ -g -Wall -I ../../include/ -I ./ -DLINUX -DSTG_TIME -c dotconfpp.cpp

g++ -g -Wall -I ../../include/ -I ./ -DLINUX -DSTG_TIME -c mempool.cpp

ar rc libdotconfpp.a dotconfpp.o mempool.o

ranlib libdotconfpp.a

cp dotconfpp.h mempool.h ../../include/

cp libdotconfpp.a ../../lib/

Makefile:94: deps: No such file or directory

g++ -c admin.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c admins.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c main.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c curr_ip.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c settings.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c stg_timer.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c tariff2.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c traffcounter.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c user.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c user_property.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c users.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c plugin_runner.cpp -g3 -Wall -I ../../include -DLINUX

g++ -c script_executer.cpp -g3 -Wall -I ../../include -DLINUX

gmake: *** No rule to make target `-lexpat', needed by `stargazer'. Stop.

 

Чего ему не хватает?

 

PS: Система старая, конечно - ASP-Linux 7.2, ставилась еще в 2001 году.

% uname -srm

Linux 2.4.19 i686

% rpm -qa|grep expat

expat-1.95.1-7

Link to post
Share on other sites

Продолжаем тему: :)

В логе:

Stg v. Stg 2.4
Timer thread started successfully.
Storage plugin: file_store v.1.01. Loading successfull.
Error: Plugin loading failed. /usr/lib/stg//mod_conf_sg.so: cannot open shared object file: No such file or directory
Traffcounter: Stop successfull.
Users: Stop successfull.
Queue removed successfully.
StgTimer: Stop successfull.
Stg stopped successfully.

find -name mod_conf_sg.so ничего не нашел ни в lib-ах, ни в исходниках.

http://local.com.ua/forum/index.php?showtopic=4141 читал, пошел снова в сорцы:

./build дает следующее:

gmake[1]: Entering directory `./stg-2.4.8.6/projects/stargazer/plugins/configuration/sgconfig'
g++ -c stgconfig.cpp -g3 -Wall -fPIC -I ../../../../../include -DLINUX
g++ -c rsconf.cpp -g3 -Wall -fPIC -I ../../../../../include -DLINUX
g++ -c configproto.cpp -g3 -Wall -fPIC -I ../../../../../include -DLINUX
configproto.cpp: In method `void CONFIGPROTO::ParseCommand ()':
configproto.cpp:154: `XML_ParserReset' undeclared (first use this
function)
configproto.cpp:154: (Each undeclared identifier is reported only once
for each function it appears in.)
configproto.cpp:169: `XML_STATUS_ERROR' undeclared (first use this
function)
gmake[1]: *** [configproto.o] Error 1
gmake[1]: Leaving directory `./stg-2.4.8.6/projects/stargazer/plugins/configuration/sgconfig'
gmake[1]: Entering directory `./stg-2.4.8.6/projects/stargazer/plugins/other/ping'

Чем лечить?

Link to post
Share on other sites

Вернее, - был старый libexpat. Обновил до expat-1.95.8 - все собралось, установилось, запустилось, но теперь не могу авторизоваться в админке.

 

Конфигуратор 1.67.8 говорит, что "Cоnnect failed",

tcpdump рассказывает:

10:18:18.002113 192.168.0.4.3599 > 192.168.0.1.5555: S 99030330:99030330(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

10:18:20.957401 192.168.0.4.3599 > 192.168.0.1.5555: S 99030330:99030330(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

10:18:26.956356 192.168.0.4.3599 > 192.168.0.1.5555: S 99030330:99030330(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

10:18:38.964128 192.168.0.4.3599 > 192.168.0.1.5555: S 99030330:99030330(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

 

в конфиге stg:

[skip...]

<Module auth_ia>

 

# Порт на которм принимаются обращения от авторизатора

Port = 5555

[skip...]

<Module conf_sg>

 

# Порт по которому сервер взаимодействует с конфигуратором

Port = 5555

 

netstat -na|grep 5555

tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN

udp 0 0 0.0.0.0:5555 0.0.0.0:*

 

ps -ax|grep stargazer|grep -v grep

выдает 12 процессов /usr/sbin/stargazer /etc/stargazer/

и 1 stg-exec /etc/stargazer/

Link to post
Share on other sites

виноват либо firewall либо не правильно указан в настройках конфигуратора Ip-адрес сервера. Проверьте доступность порта, попробуйте телнетом на 5555 порт зацепиться.

Link to post
Share on other sites

iptables-save |grep OUTPUT

:OUTPUT ACCEPT [2558160:1237654423]

-A OUTPUT -s ${in_ip} -d ${in_ip} -o lo -j ACCEPT

-A OUTPUT -s ${out_ip} -d ${out_ip} -o lo -j ACCEPT

-A OUTPUT -d 10.0.0.0/255.0.0.0 -o eth0 -j REJECT --reject-with icmp-port-unreachable

-A OUTPUT -d 172.16.0.0/255.240.0.0 -o eth0 -j REJECT --reject-with icmp-port-unreachable

-A OUTPUT -d 192.168.0.0/255.255.0.0 -o eth0 -j REJECT --reject-with icmp-port-unreachable

 

eth0 - наружний интерфейс. eth1 - внутренний

 

telnet localhost 5555

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

werwer

ERHDConnection closed by foreign host.

 

С внутреннего хоста не цепляется: :)

 

tcpdump -npi eth1 port 5555

tcpdump: listening on eth1

10:41:17.498530 192.168.0.4.3862 > 192.168.0.1.5555: S 100409768:100409768(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

10:41:20.428053 192.168.0.4.3862 > 192.168.0.1.5555: S 100409768:100409768(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

10:41:26.427000 192.168.0.4.3862 > 192.168.0.1.5555: S 100409768:100409768(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

10:41:38.424772 192.168.0.4.3862 > 192.168.0.1.5555: S 100409768:100409768(0) win 8192 <mss 1460,nop,nop,sackOK> (DF)

10:42:00.103714 192.168.0.2.1038 > 192.168.0.1.5555: S 260231970:260231970(0) win 8192 <mss 1460> (DF)

10:42:03.348544 192.168.0.2.1038 > 192.168.0.1.5555: S 260231970:260231970(0) win 8192 <mss 1460> (DF)

10:42:09.938302 192.168.0.2.1038 > 192.168.0.1.5555: S 260231970:260231970(0) win 8192 <mss 1460> (DF)

10:42:23.117759 192.168.0.2.1038 > 192.168.0.1.5555: S 260231970:260231970(0) win 8192 <mss 1460> (DF)

Link to post
Share on other sites

и так по пунктам:

1.

iptables-save |grep OUTPUT

:OUTPUT ACCEPT [2558160:1237654423]

-A OUTPUT -s ${in_ip} -d ${in_ip} -o lo -j ACCEPT

-A OUTPUT -s ${out_ip} -d ${out_ip} -o lo -j ACCEPT

-A OUTPUT -d 10.0.0.0/255.0.0.0 -o eth0 -j REJECT --reject-with icmp-port-unreachable

-A OUTPUT -d 172.16.0.0/255.240.0.0 -o eth0 -j REJECT --reject-with icmp-port-unreachable

-A OUTPUT -d 192.168.0.0/255.255.0.0 -o eth0 -j REJECT --reject-with icmp-port-unreachable

 

eth0 - наружний интерфейс. eth1 - внутренний

Покажите фактически загруженные правила в фаерволл

 

2.

telnet localhost 5555

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

werwer

ERHDConnection closed by foreign host.

нам 127.0.0.1 и не нужен, хотя если со 127.0.0.1 цепляется а с удалённого нет, то:

либо firewall либо не правильно указан в настройках конфигуратора Ip-адрес сервера. Проверьте доступность порта, попробуйте телнетом на 5555 порт зацепиться.
Link to post
Share on other sites

1. Их у меня много:

iptables-save |wc -l

2714

 

Будете разбираться? Все, что касается исходящих правил я привел.

Вот то, что касается локалки:

iptables-save |grep eth1

-A INPUT -s 192.168.0.1 -i eth1 -j ACCEPT

-A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -i eth1 -p udp -m udp --dport 5555

-A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 5555

-A INPUT -s 192.168.0.2 -i eth1 -p tcp -m tcp --dport 3050 -j ACCEPT

-A INPUT -i eth1 -p icmp ! -f -j ACCEPT

-A INPUT -d 255.255.255.255 -i eth1 -p udp -m udp --dport 67 -j ACCEPT

-A INPUT -s 192.168.0.0/255.255.255.0 -d 192.168.0.1 -i eth1 -p udp -m udp --dport 67 -j ACCEPT

-A INPUT -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 25 -j ACCEPT

-A INPUT -d 192.168.0.1 -i eth1 -p udp -m udp --dport 53 -j ACCEPT

-A INPUT -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 110 -j ACCEPT

-A INPUT -i eth1 -p tcp -m tcp --dport 137:139 -j ACCEPT

-A INPUT -i eth1 -p udp -m udp --dport 137:139 -j ACCEPT

-A INPUT -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 1080 -j ACCEPT

-A INPUT -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 8080 -j ACCEPT

-A INPUT -s 192.168.0.4 -d 192.168.0.1 -i eth1 -p tcp -m tcp --dport 3050 -j ACCEPT

-A INPUT -i eth1 -p icmp -m icmp --icmp-type 0 -j ACCEPT

-A INPUT -i eth1 -p icmp -m icmp --icmp-type 3 -j ACCEPT

-A INPUT -i eth1 -p icmp -m icmp --icmp-type 4 -j ACCEPT

-A INPUT -i eth1 -p icmp -m icmp --icmp-type 11 -j ACCEPT

-A INPUT -i eth1 -p icmp -m icmp --icmp-type 12 -j ACCEPT

-A INPUT -i eth1 -p icmp -m icmp --icmp-type 0 -j ACCEPT

-A INPUT -i eth1 -p icmp -m icmp --icmp-type 8 -j ACCEPT

-A INPUT -s 192.168.0.0/255.255.255.0 -d 192.168.0.1 -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth1 -j LOG --log-level 3

-A INPUT -i eth1 -j REJECT --reject-with icmp-port-unreachable

 

2. localhost не нужен - согласен. Это так - для проверки состояния общей картины. То, что stargazer, вроде висит на порту подтверждает и netstat, и результат telnet localhost. А то, что логи пусты и не цепляется телнетом с других машин - это странно (см. вывод tcpdump - там с разных IP-шников я пробую...

Link to post
Share on other sites

Кстати, да - таки неправильно правило указал. :) И неправильно tcpdump запускал - он не давал всей картины. Спасибо.

 

Но теперь другое: при авторизации админка ругается: Unexpected token

 

а в логе stg: Parse error at line 1:

parsing finished

Link to post
Share on other sites
2006-07-08 12:32:31 -- Stg v. Stg 2.4

2006-07-08 12:32:31 -- Timer thread started successfully.

2006-07-08 12:32:31 -- Storage plugin: file_store v.1.01. Loading successfull.

2006-07-08 12:32:31 -- Users started successfully.

2006-07-08 12:32:31 -- Traffcounter started successfully.

2006-07-08 12:32:31 -- Module: 'Ether_cap v.1.0'. Start successfull. 10

2006-07-08 12:32:31 -- Module: 'InetAccess authorizator v.1.0'. Start successful

l. 50

2006-07-08 12:32:31 -- Module: 'Always Online authorizator v.0.9'. Start success

full. 70

2006-07-08 12:32:31 -- Module: 'Pinger v.1.0'. Start successfull. 100

2006-07-08 12:32:31 -- Module: 'Stg configurator v.0.03'. Start successfull. 220

2006-07-08 12:32:31 -- Stg started successfully.

2006-07-08 12:32:31 -- +++++++++++++++++++++++++++++++++++++++++++++

2006-07-08 12:32:50 -- Parse error at line 1:

parsing finished

 

2006-07-08 12:33:35 -- Parse error at line 1:

parsing finished

 

2006-07-08 12:38:27 -- Shutting down... 15

Здесь я его убил через killall -TERM

Link to post
Share on other sites

Короче, задолбался, снес сорцы, развернул заново, пересобрал - и, о чудо!!!, - вроде заработало!!! Без ругани и почти без глюков. Сейчас тестирую - админка входит, корректирует тарифы. Одно "но" - не добавляются пользователи. :) При нажатии на кнопку или через меню, или через Ctrl+N ничего не происходит.

 

Из этого результата хочется попросить:

1. более тщательно сделать Makefile на предмет работы make clean - чтоб проходил по всем каталогам.

2. хотелось бы услышать, а лучше увидеть где-нибудь в документации, какие сигналы обрабатывает сервер. А то на -SIGHUP в логе только TRAFFCOUNTER: Reload rules successfull. А если пользователя вручную приходится добавлять?

3. И консольный бы конфигуратор бы еще, а? На всякий случай... :)

Link to post
Share on other sites

Дополнение: создаются пользователи, но при условии, что уже есть хоть один пользователь в базе. Если база пустая - добавить юзера можно только вручную из консоли с перезапуском сервера.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...