madf Опубліковано: 14 листопада, 2016 Опубліковано: 14 листопада, 2016 На сколько я понял код отправляет параметры при дисконнекте пользователя.Нет, он исправляет проблему отправки неправильных параметров при дисконнекте. Фактически раньше при дисконнекте отправлялись те которые были при коннекте.
vlad5503 Опубліковано: 15 листопада, 2016 Опубліковано: 15 листопада, 2016 спасибо madf глаза открыл! я ж сам командой install убил все конфиги...и не проверив пишу на форум.....
madf Опубліковано: 15 листопада, 2016 Опубліковано: 15 листопада, 2016 спасибо madf глаза открыл! я ж сам командой install убил все конфиги...и не проверив пишу на форум..... (Sh)it happens...
vlad5503 Опубліковано: 15 листопада, 2016 Опубліковано: 15 листопада, 2016 Ну зачем так грубо...) Вопросик ещё. (Доберусь до железок дня через два-три...) Какие параметры теперь можно передавать?
madf Опубліковано: 15 листопада, 2016 Опубліковано: 15 листопада, 2016 Ну зачем так грубо...) Вопросик ещё. (Доберусь до железок дня через два-три...) Какие параметры теперь можно передавать? Те-же, что и раньше, те-же что в документации — любые.
vlad5503 Опубліковано: 17 листопада, 2016 Опубліковано: 17 листопада, 2016 Что-то странное... Запустил виндовый конфигуратор Старгейзера (на компе с WIN-7), вроде всех юзеров в таблице вижу. Типа все ОК. Но на попытку изменения любого параметра выдает сообщение "Неверное значение..." Перегрузил сервер и комп с конфигуратором. Но не помогло... Что проверить надо... Где может быть проблема?
madf Опубліковано: 17 листопада, 2016 Опубліковано: 17 листопада, 2016 Без понятия. rscriptd тут точно никаким боком не замешан.
vlad5503 Опубліковано: 18 листопада, 2016 Опубліковано: 18 листопада, 2016 Это понятно, что проблема либо виндового конфигуратора либо на сервере со 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 Запускаю с чистой базой, где всего один юзер. И пробую редактировать. Но не тут-то было... Получил опять "Неверное значение....".
madf Опубліковано: 18 листопада, 2016 Опубліковано: 18 листопада, 2016 Это понятно, что проблема либо виндового конфигуратора либо на сервере со 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?
vlad5503 Опубліковано: 21 листопада, 2016 Опубліковано: 21 листопада, 2016 (відредаговано) А что в логе stg при таких ошибках? При попытке смены параметров из виндового конфигуратора - нет сообщений в лог. При изменении парамтера с консольного(sgconf) конфигуратора - есть записи о смене параметра. Работает ли sgconf? Работает. Редактирование параметров и просмотр. Tcpdump на интерейсе, через который работает виндовый конфигуратор, наблюдаются пакеты от ПК до сервера и обратно после нажатия кнопки "Обновить" виндового конфигуратора. При других действиях нет пакетов от ПК до сервера(и обратно соответственно). Про виндовый конфигуратор: Делаю удаление юзера. Выдает сообщение, что юзер удален. В логе появилась запись об удалении. Захожу в директорию базы STG. Но директория удаленного юзера на месте! В директории "deleted-users" удаленного юзера не появилось. Нажимаю кнопку "Обновить" виндового конифгуратора...не вижу "удаленного" юзера. На сервере останавливаю Stargazer. Теперь запускаю. Запускаю виндовый конфигуратор на ПК и нажимаю кнопку "Обновить". Не вижу удаленного юзера. Смотрю в директорию базы "users" - нет его! А он теперь в директории "deleted-users". Вот как!? Пробую добавить пользователя. Делаю как обычно... Вижу по tcpdump паетики при нажатии "Готово". Нажмаю "Обновить" - юзер новый появился. В логе Stagazer-a появились 6 строчек(added, ips, freeMb, group, password, tariffname) о добавлении юзера. Пробуем поставить галочку "Всегда онлайн" - выдало сообщение "неверное значение". Tcpdump при этом ничего "не заметил". Відредаговано 21 листопада, 2016 vlad5503
vlad5503 Опубліковано: 21 листопада, 2016 Опубліковано: 21 листопада, 2016 (відредаговано) попробую с компом где стоит win xp.... Відредаговано 21 листопада, 2016 vlad5503
vlad5503 Опубліковано: 21 листопада, 2016 Опубліковано: 21 листопада, 2016 комп с 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) получил те же самые результаты на обоих компах.
madf Опубліковано: 21 листопада, 2016 Опубліковано: 21 листопада, 2016 При попытке смены параметров из виндового конфигуратора - нет сообщений в лог. Я проверю еще раз, но сомневаюсь что получится воспроизвести. У меня все работало. Делаю удаление юзера. Выдает сообщение, что юзер удален. В логе появилась запись об удалении. Захожу в директорию базы STG. Но директория удаленного юзера на месте! В директории "deleted-users" удаленного юзера не появилось. Нажимаю кнопку "Обновить" виндового конифгуратора...не вижу "удаленного" юзера. Это нормально, так оно и работет. Пользователь помечается как удаленный и через некоторое время удаляется физически.
madf Опубліковано: 21 листопада, 2016 Опубліковано: 21 листопада, 2016 Виндовый конфигуратор зависает.Понятия не имею что там у вас происходит. Конфигуратор не держит открытым соединение.
vlad5503 Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 Вернулся к проблеме с 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. Что за параметр и где взять для него данные?
vlad5503 Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 По EnabledDirs выяснил...), что это направления. Но это нам не помогло...
vlad5503 Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 Самое плохое, что скрипты на NAS-e отрабатывают почти вместе... включит и через минуту выключит...
madf Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 1. Понятия не имею почему у вас за коннектом сразу идет дисконнект. Может связь пропадает, или хз. 2. Passive передается. У вас там везде нолики нарисованы. 3. Версия Stg?
l1ght Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 Ну похоже на: # cat /etc/rscriptd/rscriptd.conf | grep User UserTimeout=120 Может банально количество юзеров не успевают инитится за 60 секунд, и оно делает дисконнет всех и по новой коннектит.
vlad5503 Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 (відредаговано) 1. Понятия не имею почему у вас за коннектом сразу идет дисконнект. Может связь пропадает, или хз. 2. Passive передается. У вас там везде нолики нарисованы. 3. Версия Stg? Связь не пропадает. Величина пинга менее 1мс...) Passive передается везде ноликами, но точно знаю у кого есть единичка и вот место единички приходит ноль. Даже когда вручную делаю заморозку, то все равно передается нолик. На сервер управления, где сам Stargazer, в логах видно изменение параметра passiveс 0 на 1 и наоборот. Версия stg-2.409-rc2 Відредаговано 17 серпня, 2017 vlad5503
vlad5503 Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 (відредаговано) Ну похоже на: # cat /etc/rscriptd/rscriptd.conf | grep User UserTimeout=120 Может банально количество юзеров не успевают инитится за 60 секунд, и оно делает дисконнет всех и по новой коннектит. Этот параметр давно выставлен как 600. Опытным путем получено на работающем серваке... Хотя может и уже не хватает....абонентов добавилось немного. Відредаговано 17 серпня, 2017 vlad5503
madf Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 Ну давайте начнем с того что при коннекте Passive никогда не будет 1, потому что такие юзеры никогда не смогут законнектиться. При дисконнекте Passive может быть 1 — если юзер был онлайн и его „заморозили“. Вы именно так экспериментируете?
vlad5503 Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 Да, так и провожу эксперимент. Юзер в режиме "всегда онлайн", я его замораживаю. В логе старгейзера вижу смену параметра, а вот на NAS приходит ноль вместо единички.
madf Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 rscriptd точно пропатченный? У меня локально на stg-2.409-rc4 все работает.
vlad5503 Опубліковано: 17 серпня, 2017 Опубліковано: 17 серпня, 2017 (відредаговано) ну по крайне мере увеличился размер rscriptd и дата, и его потом скопировал в /usr/sbin. rscriptd.rar Відредаговано 17 серпня, 2017 vlad5503
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас