-
Всього повідомлень
178 -
Приєднався
-
Останній візит
-
Дней в лидерах
1
Тип контенту
Профили
Форум
Календарь
Все, що було написано Alexey Osipov
-
DEB-пакеты и PPA для Stargazer
тема ответил в Alexey Osipov пользователя Alexey Osipov в Розробка Stargazer
В репозитории появился быстрый NetFlow-измеритель: http://local.com.ua/forum/topic/26157-ipt-netflow-%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-netflow-%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C/ -
К Stargazer'у напрямую не относится, но я краем глаза где-то тут слышал, что народ для подсчёта трафика пользуется программными генераторами NetFlow-потоков: softflowd, fprobe, fprobe-ulog. Я попробовал все три по очереди и работают они медленно: на скорости 3-5 МБайт/сек откушивают от 5% до 8% ресурсов процессора (класса Core 2 Duo). Стал искать альтернативный вариант и нашел ipt-netflow - модуль для iptables, предоставляющий цель "-j NETFLOW". Все пакеты, попадающие в эту цель, обрабатываются модулем и отправляются сборщику трафика по протоколу NetFlow. Всё это дело происходит в простран
-
simba@dahari:/data/src/stg/pure/purestg2$ ls ./stginc actions.h base_store.h ia_packets.h raw_ip_packet.h stg_error.h user_conf.h actions.inl.h blowfish.h ibpp.h resetable.h stg_int.h user.h admin_conf.h common.h lp2_blocks.h rs_packets.h stg_locker.h user_ips.h admin_conf.inc.h common_settings.h mempool.h script_executer.h stg_logger.h user_property.h admin.h conffiles.h mimetype.h servconf.h stg_message.h users.h admins.h corp_conf.h netunit.h service_conf.h stg_timer.h user_stat.h ag_
-
А мы не будем ждать madf и rc3. Выпустил purestg2 2.1. Качать на гуглекоде: http://code.google.com/p/purestg2/ Список новшеств можно прочитать в файле NEWS. По-русски это будет: Ну или всё то, что я уже описывал в этой теме.
-
Приказ старгейзеру авторизовать юзверя уходит ДО запуска ip-up и даже ДО запуска auth-up (если он используется). Запрос уходит синхронно, то есть плагин ждёт его завершения. НО. Скрипт OnConnect в старгейзере вызывается асинхроно к авторизации пользователя. То есть, между моментом авторизации пользователя в старгейзере и его подключением (вызовом скрипта OnConnect) проходит некоторое время. Исходя из сказанного, имеющимися средствами нельзя гарантировать определенную очередность выполнения ip-up и OnConnect. Так значит... в pppd есть ещё штатный скрипт ip-pre-up, он выполняется синхронно,
-
Поторопился с этой опцией. Тесты показали, что оба этих скрипта запускаются асинхронно по отношению к pppd, то есть нельзя гарантировать, что они будут закончены или начаты к моменту отключения пользователя в старгейзере. Поэтому эту опцию выкинул. Вместо неё появилась другая опция - predownscript <путь>. Собственно, выполняет указанный аргументом скрипт синхронно непосредственно ДО отключения пользователя в старгейзере.
-
Новые плюшки в git: Новая опция в плагине для старгейзера - pppunitsave. Позволяет сохранить номер ppp-интерфейса, выданного юзверю, в поле userdata<pppunitsave>. Новая опция в плагине для pppd - latedisconnect. Управляет тем, когда плагин pppd пошлёт запрос старгейзеру на отключение юзверя. Если опция НЕ задана, то запрос на отключение будет послан ДО запуска скриптов auth-down и ip-down; иначе - после их выполнения. Релиз purestg2 2.1 будет выпущен вскоре после выпуска stargazer-2.407-rc3.
-
Через конфигуратор ставим пароль админа меньше 8 символов. В MySQL базе в поле password получаем мусор и в следующий раз залогиниться не можем. Полагаю, что это связано со спицификой шифрования пароля блоуфишем, который шифрует блок из 8 байт за раз. Не зануляется буфер перед копированием в него пароля, полученного из конфигуратора?
-
Скоро будет релиз 2.1. Я сейчас жду ответа madf на некоторые вопросы, и в зависимости от них, релиз 2.1 будет раньше или позже. Но я хотел бы, чтобы до этого его немного потестили. Получить последние исходники из git можно так: git clone git://github.com/lion-simba/purestg2.git Всё остальное как обычно: ./configure --prefix=/usr && make && sudo make install Исправлено. Теперь, при корректной остановке stargazer'а, все pppd соединения должны корректно закрыться. корректно это как? Корректно - это значит, что pppd не просто умирать будет, а перед
-
Изменения в git: Исправлено. Теперь, при корректной остановке stargazer'а, все pppd соединения должны корректно закрыться. Новые плюшки: Опция kickprevious в плагине старгейзера. Определяет, что делать, если пользователь пытается подключиться повторно с тем же логином при наличии уже активного подключения. Если опция отсутствует в конфиге, то плагин не позволит установить второе соединение. Если опция присутствует в конфиге, то первое соединение будет разорвано, а второе, если пароль верный, будет установлено. yKpon, ау?
-
DEB-пакеты и PPA для Stargazer
тема ответил в Alexey Osipov пользователя Alexey Osipov в Розробка Stargazer
В репозитории появились пакеты для Ubuntu 10.10 Maverick Meerkat. Пакеты те же, самые, что и для Ubuntu 10.04 Lucid Lynx. -
Возможно, madf обратит на это внимание. Давно пора, IMHO, открыть сайт проекта на каком-нибудь бесплатном проект-хостинге - code.google.com, sourceforge.net, ... Отличная доступность и платить не надо.
-
Последние изменения в git: ... Хотя да, надо бы configure подправить, чтобы выдавал ошибку, если не хватает каких-то заголовочных файлов. Сделано. Сделано. В конфиге появилось три новых необязательных опции: ipparamsave = X ipparamauth = Y # X не равно Y allowemptyipparam # требует наличия опции ipparamauth Если задан ipparamsave, то при подключении пользователя его ipparam (то, что передалось в pppd) будет записан в userdataX. При отключении пользователя userdataX НЕ изменяется. Если задан ipparamauth, то на этапе аутентификации пользователя, если его ipparam
-
Можно, но это ничем не будет отличаться от тех же ПИНГ пакетов со стороны pppd в сторону старгейзера каждые N секунд (см. пункт 5 первого сообщения темы). Мда, действительно. Надо, наверное, подписку на connected вынести наружу. На выходных посмотрю что можно сделать. Вот этот вариант мне гораздо больше нравится. Пока оставляю как есть, а когда будет на что подписываться - переделаю.
-
Можно подписаться на currIP. Пот отключении он обнуляется, а при подключении туда попадает IP абона. А вот и нельзя. currIP меняется в USER::Authorize() и USER::Unauthorize(). Если же отключение юзверя происходит со стороны старгейзера (disabled, passive, кончились деньги), то старгейзер делает USER::Disconnect(), а USER::Unauthorize() не происходит. Ещё идеи? ---добавлено--- Вижу USER_PROPERTY<bool> USER::connected; но оно приватное.
-
А откуда этот IP берётся? Я вот знаю только, что PopTop (pptpd) передаёт IP подключающегося через ipparam в pppd. Но, допустим, pppoe-server этого не делает (хотя мог бы передавать MAC).
-
Угу. По идее, повисшие сессии должны были оборваться сами по прошествии keepalivetimeout * 2 секунд. Любопытно, что удаление сокета помогло. У меня не получилось удалением сокета сбросить повисших юзверей. А по-хорошему, нужно делать нормальный двунаправленный обмен событиями между старгейзером и pppd, чтобы инициировать события мог не только pppd, но и старгейзер. А для этого, было бы неплохо в плагине старгейзера подписываться на изменение статуса пользователя IsInetable() как, скажем, на изменение настроек. Вообщем, я ещё подумаю в эту сторону.
-
Если xl2tpd в итоге запускает pppd, то да - подходит. Просто я с ним не сталкивался. Точно работает с PopTop (pptpd) и pppoe-server (из пакета pppoe). Бегло поглядел. Похоже, что такой возможности для плагинов pppd не предоставляет. Отлично, чем больше отзывов, тем лучше.
-
потому что: Если поставить пакет stargazer-dev из моего репозитория, то должно собраться. Либо можно руками все .h файлы из дистрибутива старгейзера скинуть в одну папку и при сборке purestg2 указать: ./configure --with-stg-headers=/путь/к/папке Хотя да, надо бы configure подправить, чтобы выдавал ошибку, если не хватает каких-то заголовочных файлов.
-
Угу. Я думал про new/delete, но у меня там ещё realloc, а в "man realloc" написано, что Поэтому я испугался и заюзал malloc и free. Впрочем, можно переехать на std::vector. А, я вспомнил, почему не выбрал std::vector. Массив struct pollfd* connections потом уходит в функцию poll, которая ждет на вход обычный СИ массив и с std::vector работать не умеет. Впрочем, в других местах можно и std::vector использовать. А чем лучше? Ага. И эти заголовочные файлы должны по команде make install тоже устанавливаться куда-нибудь в ${prefix}/usr/include/stargazer/ по идее. Сейчас сист
-
Плагин авторизации для Stargazer, который работает напрямую с pppd Общая информация Страница проекта (NEW!): http://lion-simba.github.io/purestg2 Последняя версия (NEW!): 2.4 (04.04.2015) Исходный код: https://github.com/lion-simba/purestg2 Лицензия: GPL Предложения и пожелания принимаются. Возможности - простота конфигурации. - возможность задавать минимальный номер ppp-интерфейса. Это удобно, когда на сервере висит несколько upstream-подключений к провайдеру на ppp0-pppX, и чтобы отличать подключения юзверей от upstream-подключений, им удобно выдавать интерфейсы начиная с pppY, г
-
DEB-пакеты и PPA для Stargazer
тема ответил в Alexey Osipov пользователя Alexey Osipov в Розробка Stargazer
Итак, обновления в репозитории. Будут доступны как только launchpad их соберёт. Теперь общее число собираемых бинарных пакетов из одного исходного - 24. Думаю - не стОит. Хотя нужно еще подумать дважды, чтобы дать правильный ответ Так вот, я тут подумал. Дважды. 1) Если старгейзер не останавливать при обновлении, а просто заменить все файлы новыми версиями, то это может нарушить целостность данных. Скажем, если произошло изменение в схеме БД, то старая работающая версия старгейзера рано или поздно об это споткнется и упадёт. Нехорошо. 2) Если старгейзер принудительно останав -
DEB-пакеты и PPA для Stargazer
тема ответил в Alexey Osipov пользователя Alexey Osipov в Розробка Stargazer
Как раз вопрос именно в этом - я модифицировал файл перезапуска сервера, если буду пользоваться этой версией - возможно буду модифицировать именно Upstart-скрипт. Поэтому отсюда вопрос - стоит ли идти по такому пути - ведь в случае обновления он будет перезаписан новым. Нет, не будет. Он помечен в пакете как "файл конфигурации". Это значит, что если в нём будут локальные изменения, установщик при обновлении спросит, что с ним делать - оставить старый или поставить новый. Может даже diff показать между ними. Вопросов не было потому, что вы не установили другие модули хранения. Вы с -
DEB-пакеты и PPA для Stargazer
тема ответил в Alexey Osipov пользователя Alexey Osipov в Розробка Stargazer
Да. Как только я соберу свежую версию. Я думаю, вы второй человек (после меня), кто пробует этот репозиторий. Даже я его ещё на продакшн-сервере не применял (но собираюсь). Вообщем, до поры до времени, я бы относился к нему как к Beta-версии. Тем не менее, обещаю быть как можно более аккуратным при обновлении версии. Мне нужно больше отзывов. Сейчас в скриптах прописана перезагрузка только в случае переконфигурации (dpkg-reconfigure). При обновлении - будет продолжать работать старая версия до момента её ручной перезагрузки. Можно сделать и автоматически, но стоит ли? /etc/i -
DEB-пакеты и PPA для Stargazer
тема ответил в Alexey Osipov пользователя Alexey Osipov в Розробка Stargazer
Спасибо. ) Поглядел. В репозиториях убунты судя по всему нет этой библиотеки, так что буду использовать внутреннюю. Да, точно. Плагины тоже можно раскидать по пакетам. Вот о чем и речь. Чехарда с кодировками. Значит нужно править везде одновременно - и в сервере, и в конфигураторе и в авторизаторе. Кстати, если авторизатор/конфигуратор при соединении с сервером сообщают ему свою версию, можно даже обратную совместимость сохранить. Хотя в принципе я не вижу ничего плохого в том, чтобы потребовать юзверей скачать новую версию авторизатора. На хранение пароля админа в виде