Перейти до

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

Опубліковано:

На сколько я понял код отправляет параметры при дисконнекте пользователя.

Нет, он исправляет проблему отправки неправильных параметров при дисконнекте. Фактически раньше при дисконнекте отправлялись те которые были при коннекте.
Опубліковано:

:facepalm:  :facepalm:  :facepalm:  спасибо madf глаза открыл!

я ж сам командой install убил все конфиги...и не проверив пишу на форум..... :lol:  :lol:  :lol:  :lol:

(Sh)it happens...
Опубліковано:

Ну зачем так грубо...)

Вопросик ещё. (Доберусь до железок дня через два-три...)

Какие параметры теперь можно передавать?

Те-же, что и раньше, те-же что в документации — любые.
Опубліковано:

Что-то странное...

Запустил виндовый конфигуратор Старгейзера (на компе с WIN-7), вроде всех юзеров в таблице вижу. Типа все ОК.

Но  на попытку изменения любого параметра выдает сообщение "Неверное значение..."

Перегрузил сервер и  комп с конфигуратором. Но не помогло...

Что проверить надо... Где может быть проблема?

Опубліковано:

Это понятно, что проблема либо виндового конфигуратора либо на сервере со stargazer-ом что-то.

Базу читает, показывает. А менять что либо невозможно. Права на файлы баз как был так и есть.

Пробовал расширить до 777 - не помогло...

chmod -R 777 /var/stargazer/users/

Пользователя добавляет. Но тут же открываю на редактирование - выдает "Неверное значение...". Удаление пользователя проходит без проблем.

Далее провел сборку заново(сохранив свои конфиги):

#tar zxvf stg-2.409-rc2.tar.gz
#cd stg-2.409-rc2
#cd projects/stargazer/ 
#env CC=clang CXX=clang++ sh build
#gmake install

Запускаю с чистой базой, где всего один юзер. И пробую редактировать. Но не тут-то было... Получил опять "Неверное значение....".

Опубліковано:

Это понятно, что проблема либо виндового конфигуратора либо на сервере со stargazer-ом что-то.

Базу читает, показывает. А менять что либо невозможно. Права на файлы баз как был так и есть.

Пробовал расширить до 777 - не помогло...

chmod -R 777 /var/stargazer/users/
Пользователя добавляет. Но тут же открываю на редактирование - выдает "Неверное значение...". Удаление пользователя проходит без проблем.

Далее провел сборку заново(сохранив свои конфиги):

#tar zxvf stg-2.409-rc2.tar.gz
#cd stg-2.409-rc2
#cd projects/stargazer/ 
#env CC=clang CXX=clang++ sh build
#gmake install
Запускаю с чистой базой, где всего один юзер. И пробую редактировать. Но не тут-то было... Получил опять "Неверное значение....".

 

Виндовый конфигуратор — очень древняя штука. Последние изменения в нем были в 2008-м году и с каждым выходом новой винды я надеюсь что он наконец умрет. К сожалению, у Windows очень хорошо с обратной совместимостью :)

 

А что в логе stg при таких ошибках?

Работает ли sgconf?

Опубліковано: (відредаговано)

А что в логе stg при таких ошибках?

При попытке смены параметров из виндового конфигуратора - нет сообщений в лог.

При изменении парамтера с консольного(sgconf) конфигуратора - есть записи о смене параметра.

 

Работает ли sgconf? 

Работает. Редактирование параметров и просмотр.

 

Tcpdump на интерейсе, через который работает виндовый конфигуратор, наблюдаются пакеты от ПК до сервера и обратно после нажатия кнопки "Обновить" виндового конфигуратора. При других действиях нет пакетов от ПК до сервера(и обратно соответственно).

 

Про виндовый конфигуратор:

Делаю удаление юзера. Выдает сообщение, что юзер удален. В логе появилась запись об удалении.

Захожу в директорию базы STG. Но директория удаленного юзера на месте! В директории "deleted-users" удаленного юзера не появилось.

Нажимаю кнопку "Обновить" виндового конифгуратора...не вижу "удаленного" юзера.

На сервере останавливаю Stargazer. Теперь запускаю.

Запускаю виндовый конфигуратор на ПК и нажимаю кнопку "Обновить".

Не вижу удаленного юзера.

Смотрю в директорию базы "users" - нет его!

А он теперь в директории "deleted-users".

Вот как!? 

Пробую добавить пользователя.

Делаю как обычно... Вижу по tcpdump паетики при нажатии "Готово". Нажмаю "Обновить" - юзер новый появился.

В логе Stagazer-a появились 6 строчек(added, ips, freeMb, group, password, tariffname) о добавлении юзера.

Пробуем поставить галочку "Всегда онлайн" - выдало сообщение "неверное значение". Tcpdump при этом ничего "не заметил".

Відредаговано vlad5503
Опубліковано:

комп с win xp и конфигуратором тоже странно ведет себя...

1. запускаю  сервер stargazer.

2. запускаю на компе конфигуратор.

3. ввожу логин  пароль и жму "ОК".

Проверяем добавление, изменение, удаление - все ок. 

4. Оставляем на некоторое время без действий всю связку. Прошло 40 минут.

5. Нажимаю кнопку "Обновить".

Вот что tcpdump показывает в это время:

14:26:45.950247 IP 50.50.50.3.1039 > 50.50.50.14.3333: Flags [R.], seq 169649317, ack 1461499317, win 0, length 0
14:27:02.158687 IP 50.50.50.3.1040 > 50.50.50.14.3333: Flags [S], seq 3329984885, win 65535, options [mss 1460,nop,nop,sackOK], length 0
14:27:02.158713 IP 50.50.50.14.3333 > 50.50.50.3.1040: Flags [S.], seq 4015658252, ack 3329984886, win 65535, options [mss 1460,sackOK,eol], length 0
14:27:02.158863 IP 50.50.50.3.1040 > 50.50.50.14.3333: Flags [.], ack 1, win 65535, length 0
14:27:02.158965 IP 50.50.50.3.1040 > 50.50.50.14.3333: Flags [P.], seq 1:5, ack 1, win 65535, length 4
14:27:02.258462 IP 50.50.50.14.3333 > 50.50.50.3.1040: Flags [.], ack 5, win 65535, length 0

Виндовый конфигуратор зависает.

Приходится убивать процесс после ожидания почти 5 минут.

Вот что показывает в момент прекращения процесса:

14:27:22.293596 IP 50.50.50.3.1040 > 50.50.50.14.3333: Flags [R.], seq 5, ack 1, win 0, length 0

Что-то и чего-то я не понимаю...

Подозревал что фаервол мешает. Проверял с открытым фаерволом( any to any) получил те же самые результаты на обоих компах.

 

 

Опубліковано:

При попытке смены параметров из виндового конфигуратора - нет сообщений в лог.

Я проверю еще раз, но сомневаюсь что получится воспроизвести. У меня все работало.

 

Делаю удаление юзера. Выдает сообщение, что юзер удален. В логе появилась запись об удалении. Захожу в директорию базы STG. Но директория удаленного юзера на месте! В директории "deleted-users" удаленного юзера не появилось. Нажимаю кнопку "Обновить" виндового конифгуратора...не вижу "удаленного" юзера.

Это нормально, так оно и работет. Пользователь помечается как удаленный и через некоторое время удаляется физически.

Опубліковано:

Виндовый конфигуратор зависает.

Понятия не имею что там у вас происходит. Конфигуратор не держит открытым соединение.
  • 8 months later...
Опубліковано:

Вернулся к проблеме с rscriptd. К тому , что он не передает параметры типа Passive, Down и другие.

Проверил сегодня на реальном железе с FreeBSD 10.3-RELEASE #0.

Пропатченный rscriptd Вашим скриптом https://local.com.ua/forum/topic/26746-rscriptd/?p=963329

Конфиг mod_remote_script.conf:

# Enable the module for remote execution of scripts OnConnect and OnDisconnect "mod_remote_script.so"
<Module remote_script>
    # The time interval between sending confirmations that the user is online
    # Parametr: required
    # Values: 10 ... 600 (seconds)
    # Default: 60
    # Maximum: 2147483647
    # postavleno: 1 god
    #SendPeriod = 3153600
    SendPeriod = 600

    # Define mapping between subnet(s) and remote server(s)
    # File format: <subnet> <Router1> <Router2> ...
    # Example:
    # 192.168.1.0/24 192.168.1.7 192.168.1.8
    # 192.168.2.0/24 192.168.2.5 192.168.2.6 192.168.2.7
    # 192.168.3.0/24 192.168.3.5
    # 192.168.4.0/24 192.168.4.5
    # Parametr: required
    # Values: file path
    # Default: subnets
    SubnetFile = /etc/stargazer/subnets

    # The password to encrypt packets between the stg-server and remote server
    # Parameter: required
    # Values: any
    # Default: 123456
    Password = 123456

    # Define which user parameters are transferred to a remote server in addition to
    # other parameters that transfered by default (ID, IP, Login, Cash, Dirs).
    # Note: Parameter can be blank.
    # Parameter: required
    # Values: Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName,
    # NextTariff, Address, Note, Group, Email, RealName, Credit, EnabledDirs,
    # Userdata0...Userdata9
    # Default: Cash Tariff EnabledDirs

    UserParams = Passive Userdata0
    
    ###UserParams = Login IP Passive Tariff Disabled AlwaysOnline Userdata6
    # NextTariff, Address, Note, Group, Email, RealName, Credit, EnabledDirs,
    # Userdata0...Userdata9

    # Port on which the server interacts with remote server
    # Parameter: required
    # Value: 1...65535
    # Default: 9999
    Port = 9999
</Module>

Изменил скрипты на NAS-е в директории /etc/rscriptd так:

# cat OnConnect
#!/bin/sh

FwCMD="/sbin/ipfw"
VS=$#
login=$1
ip=$2
up4=$4
up5=$5
#echo "`date +%Y.%m.%d-%H:%M:%S` all=$VS $login $ip up4=$up4 up5=$up5" >> /usr/var/stargazer/users/allconnect.log

case $ip in
172.16.*.*)
echo "`date +%Y.%m.%d-%H:%M:%S` vkl $login $ip up4=$up4" >> /usr/var/stargazer/users/allconnect.log
;;
esac

и

# cat OnDisconnect
#!/bin/sh

FwCMD="/sbin/ipfw"
VS=$#
login=$1
ip=$2
up4=$4
up5=$5
echo "`date +%Y.%m.%d-%H:%M:%S` all=$VS DOWN $login $ip up4=$up4 up5=$up5" >> /usr/var/stargazer/users/allconnect.log

case $ip in
172.16.*.*)
echo "`date +%Y.%m.%d-%H:%M:%S` vikl DOWN $login $ip up4=$up4" >> /usr/var/stargazer/users/allconnect.log
;;
esac

В этих скрипта up4 это параметр Passive, up5 это UserData-0.

И получаем в логировании такое при включении:


2017.08.17-09:50:52 all=5 DOWN "Логин" 172.16.101.39 up4=0 up5=авторизатор+
2017.08.17-09:51:17 vkl "Логин" 172.16.101.39 up4=0

и при отключении:

2017.08.17-09:52:25 all=5 DOWN "Логин" 172.16.301.39 up4=0 up5=авторизатор
2017.08.17-09:52:17 vikl DOWN "Логин" 172.16.101.39 up4=0

Причем OnDisconnect практически всегда отрабатывает сразу после OnConnect. Что до патча, что после.

Т.е. включаю абонента. Отрабатывает OnConnect. А через минуту отработал OnDisconnect.

Вот  реальный пример:

2017.08.17-09:52:02 all=4 DOWN STR37-1-113 172.16.117.29 up4=0 up5=авторизатор+
2017.08.17-09:52:02 vkl STR37-1-113 172.16.117.29 up4=0
2017.08.17-09:53:02 all=4 DOWN STR37-1-113 172.16.117.29 up4=0 up5=
2017.08.17-09:53:02 vikl DOWN STR37-1-113 172.16.117.29 up4=0

Так и не передаётся параметр Passive, который ну очень нужен. В следствии того, что, как уже писал, скрипты отрабатывают друг за другом с периодом в одну минут.

Далее по мануалу в разделе "Описание параметров модуля Remote  Script  Executer (remote_script)" Есть упоминание параметра EnabledDirs.

Что за параметр и где взять для него данные?

Опубліковано:

1. Понятия не имею почему у вас за коннектом сразу идет дисконнект. Может связь пропадает, или хз.

2. Passive передается. У вас там везде нолики нарисованы.

3. Версия Stg?

Опубліковано:

Ну похоже на:

# cat /etc/rscriptd/rscriptd.conf | grep User
UserTimeout=120

Может банально количество юзеров не успевают инитится за 60 секунд, и оно делает дисконнет всех и по новой коннектит.

Опубліковано: (відредаговано)

1. Понятия не имею почему у вас за коннектом сразу идет дисконнект. Может связь пропадает, или хз.

2. Passive передается. У вас там везде нолики нарисованы.

3. Версия Stg?

Связь не пропадает. Величина пинга менее 1мс...)

Passive передается везде ноликами, но точно знаю у кого есть единичка и вот место единички приходит ноль.

Даже когда вручную делаю заморозку, то все равно передается нолик. На сервер управления, где сам Stargazer, в логах видно изменение параметра passiveс 0 на 1 и наоборот.

Версия stg-2.409-rc2

Відредаговано vlad5503
Опубліковано: (відредаговано)

Ну похоже на:

# cat /etc/rscriptd/rscriptd.conf | grep User
UserTimeout=120

Может банально количество юзеров не успевают инитится за 60 секунд, и оно делает дисконнет всех и по новой коннектит.

Этот параметр давно выставлен как 600. Опытным путем получено на работающем серваке...

Хотя может и уже не хватает....абонентов добавилось немного.

Відредаговано vlad5503
Опубліковано:

Ну давайте начнем с того что при коннекте Passive никогда не будет 1, потому что такие юзеры никогда не смогут законнектиться. При дисконнекте Passive может быть 1 — если юзер был онлайн и его „заморозили“. Вы именно так экспериментируете?

Опубліковано:

Да, так и провожу эксперимент.

Юзер в режиме "всегда онлайн", я его замораживаю.

В логе старгейзера вижу смену параметра, а вот на NAS приходит ноль вместо единички.

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

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

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

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

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

Вхід

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

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

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