Перейти до

purestg2


Рекомендованные сообщения

 

2madf:

Кстати, это интересное направление развития. Можно позволить авторизовываться с одного и того же авторизатора по нескольку раз, но с разными IP.

Уже обсуждалось для "Всегда онлайн" с данным функционалом не возможно так как выставление флага онлайн идет к связки логин<->айпи надо переписать весь класс юзера и авторизатор за одно

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 396
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Релиз 2.4: https://github.com/lion-simba/purestg2/releases/tag/2.4   PS. Проект переехал на github.

Вот это не имеет отношения к биллингу. Думаю гугл сможет подсказать, от чего это и как с этим бороться.     git на то и git, что из него можно взять любую версию. Вот здесь: https://github.com/l

Предположительно пофиксил. В git.   И начал пилить доставку calling number'а (MAC-адреса) в старгейзер, а также аутентификацию по нему.

- по поводу возможности получения IP от pppd: http://code.google.c...ues/detail?id=4

опять же зачем оно надо если авторизоваться можно будет только одному подключению? просто чтобы выдать произвольный ip? подумал и решил что это ни к чему

Ссылка на сообщение
Поделиться на других сайтах

2madf:

Кстати, это интересное направление развития. Можно позволить авторизовываться с одного и того же авторизатора по нескольку раз, но с разными IP.

Уже обсуждалось для "Всегда онлайн" с данным функционалом не возможно так как выставление флага онлайн идет к связки логин<->айпи надо переписать весь класс юзера и авторизатор за одно

Не авторизатор а траффкаунтер. Сегодня я уже не считаю что это так уже и невозможно.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

purestg2.cpp: In member function 'int AUTH_PURESTG2::hupClientConnection(int)':

purestg2.cpp:561: ошибка: 'class USER' has no member named 'Unauthorize'

purestg2.cpp: In member function 'int AUTH_PURESTG2::handleClientConnection(int)':

purestg2.cpp:638: ошибка: 'class USER' has no member named 'Unauthorize'

purestg2.cpp:653: ошибка: 'class USER' has no member named 'Authorize'

purestg2.cpp:697: ошибка: 'class USER' has no member named 'Unauthorize'

purestg2.cpp: In member function 'int AUTH_PURESTG2::clientDisconnectByStg(USER*)':

purestg2.cpp:916: ошибка: 'class USER' has no member named 'Unauthorize'

purestg2.cpp: In member function 'int AUTH_PURESTG2::checkUserTimeouts()':

purestg2.cpp:947: ошибка: 'class USER' has no member named 'Unauthorize'

make[2]: *** [purestg2.lo] Ошибка 1

make[2]: Leaving directory `/stg/purestg2-2.2/stargazer'

make[1]: *** [all-recursive] Ошибка 1

make[1]: Leaving directory `/stg/purestg2-2.2'

make: *** [all] Ошибка 2

 

 

отакое...

Ссылка на сообщение
Поделиться на других сайтах

Вышла версия 2.3: http://code.google.c...stg2-2.3.tar.gz

 

Данная версия поддерживает Stargazer 2.408.

Было исправлено несколько некритичных ошибок (можно посмотреть в ChangeLog).

Других изменений в этой версии нет.

Ссылка на сообщение
Поделиться на других сайтах

Собрал настроил, но.....

 

2012-02-20 11:25:39 -- purestg2: ERROR: Can't find unit number for user "administrator" (socket=8).

2012-02-20 11:25:39 -- purestg2: Watchdog timer for user "administrator" submitted on 1329730060

2012-02-20 11:25:39 -- purestg2: User administrator (socket=8) is connected.

2012-02-20 11:25:39 -- purestg2: reply: type=1, login=administrator, result=1

2012-02-20 11:25:39 -- purestg2: ERROR: Can't send reply: Bad file descriptor

2012-02-20 11:25:39 -- purestg2: ERROR: can't handle client connection for socket 8

Ссылка на сообщение
Поделиться на других сайтах
Собрал настроил, но..... 2012-02-20 11:25:39 -- purestg2: ERROR: Can't find unit number for user "administrator" (socket=8). 2012-02-20 11:25:39 -- purestg2: Watchdog timer for user "administrator" submitted on 1329730060 2012-02-20 11:25:39 -- purestg2: User administrator (socket=8) is connected. 2012-02-20 11:25:39 -- purestg2: reply: type=1, login=administrator, result=1 2012-02-20 11:25:39 -- purestg2: ERROR: Can't send reply: Bad file descriptor 2012-02-20 11:25:39 -- purestg2: ERROR: can't handle client connection for socket 8

Нужно больше золота лога. Что там выше? Прямо с момента попытки подключения.

Ссылка на сообщение
Поделиться на других сайтах

stg.log

 

2012-02-20 11:21:08 -- purestg2: BUG: Can't find unit for socket 8

2012-02-20 11:25:37 -- purestg2: Accepted new client connection (socket=8)

2012-02-20 11:25:37 -- purestg2: request(socket=8): type=5, login=

2012-02-20 11:25:37 -- purestg2: reply: type=5, login=, result=1

2012-02-20 11:25:39 -- purestg2: request(socket=8): type=7, login=administrator

2012-02-20 11:25:39 -- purestg2: Got ipparam: "192.168.0.254"

2012-02-20 11:25:39 -- purestg2: reply: type=7, login=administrator, result=1

2012-02-20 11:25:39 -- purestg2: request(socket=8): type=3, login=administrator

2012-02-20 11:25:39 -- purestg2: reply: type=3, login=administrator, result=1

2012-02-20 11:25:39 -- purestg2: request(socket=8): type=4, login=administrator

2012-02-20 11:25:39 -- purestg2: reply: type=4, login=administrator, result=1

2012-02-20 11:25:39 -- purestg2: request(socket=8): type=4, login=administrator

2012-02-20 11:25:39 -- purestg2: reply: type=4, login=administrator, result=1

2012-02-20 11:25:39 -- purestg2: request(socket=8): type=1, login=administrator

2012-02-20 11:25:39 -- purestg2: Watchdog timer for user "administrator" submitted on 1329730060

2012-02-20 11:25:39 -- purestg2: User administrator (socket=8) is connected.

2012-02-20 11:25:39 -- purestg2: reply: type=1, login=administrator, result=1

2012-02-20 11:25:39 -- purestg2: request(socket=8): type=1, login=administrator

2012-02-20 11:25:39 -- purestg2: Terminating previous session (oldsocket=8) for user "administrator"

2012-02-20 11:25:39 -- purestg2: ERROR: Can't find unit number for user "administrator" (socket=8).

2012-02-20 11:25:39 -- purestg2: Watchdog timer for user "administrator" submitted on 1329730060

2012-02-20 11:25:39 -- purestg2: User administrator (socket=8) is connected.

2012-02-20 11:25:39 -- purestg2: reply: type=1, login=administrator, result=1

2012-02-20 11:25:39 -- purestg2: ERROR: Can't send reply: Bad file descriptor

2012-02-20 11:25:39 -- purestg2: ERROR: can't handle client connection for socket 8

 

 

 

syslog....

 

Feb 20 11:19:05 stg pptpd[19702]: GRE: Bad checksum from pppd.

Feb 20 11:19:07 stg pptpd[19702]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!

Feb 20 11:19:07 stg pppd[19703]: Cannot determine ethernet address for proxy ARP

Feb 20 11:19:07 stg pppd[19703]: purestg2: Can't connect user administrator.

Feb 20 11:19:07 stg pptpd[19702]: GRE: read(fd=6,buffer=8058aa0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpec

Feb 20 11:19:07 stg pptpd[19702]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)

 

 

 

messages.....

 

 

 

Feb 20 14:15:04 stg pptpd[25551]: CTRL: Client 192.168.0.254 control connection started

Feb 20 14:15:04 stg pptpd[25551]: CTRL: Starting call (launching pppd, opening GRE)

Feb 20 14:15:04 stg pppd[25552]: Plugin purestg2.so loaded.

Feb 20 14:15:04 stg pppd[25552]: Stargazer (purestg2 2.3) auth plugin initialized.

Feb 20 14:15:04 stg pppd[25552]: Plugin purestg2.so loaded.

Feb 20 14:15:04 stg pppd[25552]: Stargazer (purestg2 2.3) auth plugin initialized.

Feb 20 14:15:04 stg pppd[25552]: purestg2: Pap check is allowed.

Feb 20 14:15:04 stg pppd[25552]: pppd 2.4.4 started by root, uid 0

Feb 20 14:15:04 stg pppd[25552]: purestg2: Connected to stargazer via /var/run/purestg2.sock.

Feb 20 14:15:04 stg pppd[25552]: purestg2: ifunit set to 5.

Feb 20 14:15:04 stg pppd[25552]: Using interface ppp5

Feb 20 14:15:04 stg pppd[25552]: Connect: ppp5 <--> /dev/pts/3

Feb 20 14:15:04 stg pppd[25552]: purestg2: Chap check is allowed.

Feb 20 14:15:04 stg pppd[25552]: purestg2: Pap check is allowed.

Feb 20 14:15:04 stg pppd[25552]: purestg2: Chap check is allowed.

Feb 20 14:15:06 stg pppd[25552]: purestg2: CHAP started.

Feb 20 14:15:06 stg pppd[25552]: purestg2: Got passwd for user administrator.

Feb 20 14:15:06 stg pppd[25552]: MPPE 40-bit stateless compression enabled

Feb 20 14:15:06 stg pppd[25552]: purestg2: IP choose started.

Feb 20 14:15:09 stg pppd[25552]: purestg2: Allowed address.

Feb 20 14:15:09 stg pppd[25552]: purestg2: Good address.

Feb 20 14:15:09 stg pppd[25552]: local IP address 192.168.221.1

Feb 20 14:15:09 stg pppd[25552]: remote IP address 192.168.221.2

Feb 20 14:15:09 stg pppd[25552]: purestg2: User administrator connected.

Feb 20 14:15:09 stg pppd[25552]: purestg2: stargazer socket has just been closed. Terminating connection.

Feb 20 14:15:10 stg pppd[25552]: Exit.

Feb 20 14:15:10 stg pptpd[25551]: CTRL: Client 192.168.0.254 control connection finished

Ссылка на сообщение
Поделиться на других сайтах

Feb 20 14:15:04 stg pppd[25552]: Plugin purestg2.so loaded.

Feb 20 14:15:04 stg pppd[25552]: Stargazer (purestg2 2.3) auth plugin initialized.

Feb 20 14:15:04 stg pppd[25552]: Plugin purestg2.so loaded.

Feb 20 14:15:04 stg pppd[25552]: Stargazer (purestg2 2.3) auth plugin initialized.

 

Собственно, проблема вот здесь. Почему-то у вас purestg2 плагин для pppd загружается дважды.

Ссылка на сообщение
Поделиться на других сайтах

Действительно был такой грешок. Всё запустилось! Скажите пожалуйста, что выполняется при коннекте? что-то типо ip-up ip-down Может кто-то поделится скриптом шейпера для данной связки. !?

Ссылка на сообщение
Поделиться на других сайтах

Скажите пожалуйста, что выполняется при коннекте? что-то типо ip-up ip-down

Выдержка из README:

==== SCRIPT SEQUENCE ====

 

On different stages pppd, pppd purestg plugin and Stargazer

runs various scripts to handle site-specific tasks.

 

Here is the sequence of those scripts called:

 

-- Connection --

1 (pppd) /etc/ppp/auth-up

2* (pppd) /etc/ppp/ip-pre-up

3* (purestg2) 'preupscript' (see below)

4 (Stargazer) OnConnect

5 (pppd) /etc/ppp/ip-up

 

-- Disconnection (by will of a client) --

1 (pppd) /etc/ppp/ip-down

2* (purestg2) 'predownscript' (see below)

3 (Stargazer) OnDisconnect

4 (pppd) /etc/ppp/auth-down

 

If some script doesn't exists, it's not called and it's not an

error.

 

Scripts maked with '*' executes synchronously, i.e. they WAIT

until script finished before proceed to the next stage. So pay

attention that scripts 4 and 5 upon connection (3 and 4 upon

disconnection) may run simultaniously.

 

В простых случаях, вам должно хватить только двух точек реакции - скриптов OnConnect и OnDisconnect от старгейзера.

 

За скриптами для шейпера добро пожаловать в соседний раздел форума.

Ссылка на сообщение
Поделиться на других сайтах

Всё бы ничего, да вот какой ppp интерфейс, Onconnect не рассказывает :)

Можно воспользоваться опцией pppunitsave для сохранения номера ppp интерфейса в каком-нибудь userdata, а в OnConnect его оттуда доставать с помощью sgconf_xml, например.

 

А можно использовать, собственно, ip-up или 'preupscript' из purestg2. 'preupscript' хорош тем, что пока он не завершится, старгейзер не начнет выполнение OnConnect. А вот ip-up может быть запущен одновременно с OnConnect. Надо это учитывать.

Ссылка на сообщение
Поделиться на других сайтах

но где лежит preupscript?

Снова выдержка из README:

Here is an example chunk of pppd options file for using

this plugin:

-----|<--------------------------------------

plugin purestg2.so #required.

authsocket /var/run/purestg2.sock #required.

keepalivetimeout 30 #positive integer, optional, default is 60.

predownscript /etc/ppp/pure-pre-down #optional.

preupscript /etc/ppp/pure-pre-up #optional.

------------>|-------------------------------

'authsocket' is UNIX domain socket address.

'keepalivetimeout' is the time between two sequential PING

packets from pppd plugin to Stargazer (see above).

'predownscript' is synchronously executed just before

disconnecting user from Stargazer. 'preupscript' is

synchronously executed just before connecting user

to Stargazer. Both scripts executed with parameters equal

to '/etc/ppp/ip-up' script.

 

Скрипт preupscript лежит там, куда вы его положите. :)

Ссылка на сообщение
Поделиться на других сайтах

2012-02-24 21:45:41 -- purestg2: PING from user balam (socket=5)

2012-02-24 21:45:41 -- purestg2: Watchdog timer for user "balam" submitted on 1330112861

2012-02-24 21:45:41 -- purestg2: reply: type=6, login=balam, result=1

 

 

можно это отключить? вмысле запись лога.

Ссылка на сообщение
Поделиться на других сайтах

2012-02-24 21:45:41 -- purestg2: PING from user balam (socket=5)

2012-02-24 21:45:41 -- purestg2: Watchdog timer for user "balam" submitted on 1330112861

2012-02-24 21:45:41 -- purestg2: reply: type=6, login=balam, result=1

 

можно это отключить? вмысле запись лога.

Можно. Уберите опцию debug из конфига.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо, и еще один вопрос, почему может не считать траффик? в rules все прописал.

А какой модуль подсчета трафика вы используете?

Ссылка на сообщение
Поделиться на других сайтах

Module: 'Ether_cap v.1.2'. Start successfull.

Данный модуль подходит для сбора трафика только с ethernet интерфейсов (например eth0).

 

В купе с ppp интерфейсами нужно использовать либо модуль cap_ipq, либо модуль cap_nf.

 

В первом случае просто включаете модуль, а затем с помощью iptables направляете нужный трафик на цель QUEUE:

iptables -A ...... -j QUEUE

Эти правила удобно добавлять/удалять в скриптах OnConnect/OnDisconnect.

 

Во втором случае кроме модуля cap_nf, вам потребуется NetFlow сенсор, например softflowd или ipt-netflow.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.


×
×
  • Створити нове...