Перейти до

Alexey Osipov

Сitizens
  • Всього повідомлень

    178
  • Приєднався

  • Останній візит

  • Дней в лидерах

    1

Все, що було написано Alexey Osipov

  1. В репозитории появился быстрый 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/
  2. К Stargazer'у напрямую не относится, но я краем глаза где-то тут слышал, что народ для подсчёта трафика пользуется программными генераторами NetFlow-потоков: softflowd, fprobe, fprobe-ulog. Я попробовал все три по очереди и работают они медленно: на скорости 3-5 МБайт/сек откушивают от 5% до 8% ресурсов процессора (класса Core 2 Duo). Стал искать альтернативный вариант и нашел ipt-netflow - модуль для iptables, предоставляющий цель "-j NETFLOW". Все пакеты, попадающие в эту цель, обрабатываются модулем и отправляются сборщику трафика по протоколу NetFlow. Всё это дело происходит в простран
  3. Alexey Osipov

    purestg2

    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_
  4. Alexey Osipov

    purestg2

    А мы не будем ждать madf и rc3. Выпустил purestg2 2.1. Качать на гуглекоде: http://code.google.com/p/purestg2/ Список новшеств можно прочитать в файле NEWS. По-русски это будет: Ну или всё то, что я уже описывал в этой теме.
  5. Alexey Osipov

    purestg2

    Приказ старгейзеру авторизовать юзверя уходит ДО запуска ip-up и даже ДО запуска auth-up (если он используется). Запрос уходит синхронно, то есть плагин ждёт его завершения. НО. Скрипт OnConnect в старгейзере вызывается асинхроно к авторизации пользователя. То есть, между моментом авторизации пользователя в старгейзере и его подключением (вызовом скрипта OnConnect) проходит некоторое время. Исходя из сказанного, имеющимися средствами нельзя гарантировать определенную очередность выполнения ip-up и OnConnect. Так значит... в pppd есть ещё штатный скрипт ip-pre-up, он выполняется синхронно,
  6. Alexey Osipov

    purestg2

    Поторопился с этой опцией. Тесты показали, что оба этих скрипта запускаются асинхронно по отношению к pppd, то есть нельзя гарантировать, что они будут закончены или начаты к моменту отключения пользователя в старгейзере. Поэтому эту опцию выкинул. Вместо неё появилась другая опция - predownscript <путь>. Собственно, выполняет указанный аргументом скрипт синхронно непосредственно ДО отключения пользователя в старгейзере.
  7. Alexey Osipov

    purestg2

    Новые плюшки в git: Новая опция в плагине для старгейзера - pppunitsave. Позволяет сохранить номер ppp-интерфейса, выданного юзверю, в поле userdata<pppunitsave>. Новая опция в плагине для pppd - latedisconnect. Управляет тем, когда плагин pppd пошлёт запрос старгейзеру на отключение юзверя. Если опция НЕ задана, то запрос на отключение будет послан ДО запуска скриптов auth-down и ip-down; иначе - после их выполнения. Релиз purestg2 2.1 будет выпущен вскоре после выпуска stargazer-2.407-rc3.
  8. Alexey Osipov

    Сбор багов и feature requests

    Через конфигуратор ставим пароль админа меньше 8 символов. В MySQL базе в поле password получаем мусор и в следующий раз залогиниться не можем. Полагаю, что это связано со спицификой шифрования пароля блоуфишем, который шифрует блок из 8 байт за раз. Не зануляется буфер перед копированием в него пароля, полученного из конфигуратора?
  9. Alexey Osipov

    purestg2

    Скоро будет релиз 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 не просто умирать будет, а перед
  10. Alexey Osipov

    purestg2

    Изменения в git: Исправлено. Теперь, при корректной остановке stargazer'а, все pppd соединения должны корректно закрыться. Новые плюшки: Опция kickprevious в плагине старгейзера. Определяет, что делать, если пользователь пытается подключиться повторно с тем же логином при наличии уже активного подключения. Если опция отсутствует в конфиге, то плагин не позволит установить второе соединение. Если опция присутствует в конфиге, то первое соединение будет разорвано, а второе, если пароль верный, будет установлено. yKpon, ау?
  11. В репозитории появились пакеты для Ubuntu 10.10 Maverick Meerkat. Пакеты те же, самые, что и для Ubuntu 10.04 Lucid Lynx.
  12. Alexey Osipov

    stg + Freebsd7.0

    Возможно, madf обратит на это внимание. Давно пора, IMHO, открыть сайт проекта на каком-нибудь бесплатном проект-хостинге - code.google.com, sourceforge.net, ... Отличная доступность и платить не надо.
  13. Alexey Osipov

    purestg2

    Последние изменения в git: ... Хотя да, надо бы configure подправить, чтобы выдавал ошибку, если не хватает каких-то заголовочных файлов. Сделано. Сделано. В конфиге появилось три новых необязательных опции: ipparamsave = X ipparamauth = Y # X не равно Y allowemptyipparam # требует наличия опции ipparamauth Если задан ipparamsave, то при подключении пользователя его ipparam (то, что передалось в pppd) будет записан в userdataX. При отключении пользователя userdataX НЕ изменяется. Если задан ipparamauth, то на этапе аутентификации пользователя, если его ipparam
  14. Alexey Osipov

    purestg2

    Можно, но это ничем не будет отличаться от тех же ПИНГ пакетов со стороны pppd в сторону старгейзера каждые N секунд (см. пункт 5 первого сообщения темы). Мда, действительно. Надо, наверное, подписку на connected вынести наружу. На выходных посмотрю что можно сделать. Вот этот вариант мне гораздо больше нравится. Пока оставляю как есть, а когда будет на что подписываться - переделаю.
  15. Alexey Osipov

    purestg2

    Можно подписаться на currIP. Пот отключении он обнуляется, а при подключении туда попадает IP абона. А вот и нельзя. currIP меняется в USER::Authorize() и USER::Unauthorize(). Если же отключение юзверя происходит со стороны старгейзера (disabled, passive, кончились деньги), то старгейзер делает USER::Disconnect(), а USER::Unauthorize() не происходит. Ещё идеи? ---добавлено--- Вижу USER_PROPERTY<bool> USER::connected; но оно приватное.
  16. Alexey Osipov

    purestg2

    А откуда этот IP берётся? Я вот знаю только, что PopTop (pptpd) передаёт IP подключающегося через ipparam в pppd. Но, допустим, pppoe-server этого не делает (хотя мог бы передавать MAC).
  17. Alexey Osipov

    purestg2

    Угу. По идее, повисшие сессии должны были оборваться сами по прошествии keepalivetimeout * 2 секунд. Любопытно, что удаление сокета помогло. У меня не получилось удалением сокета сбросить повисших юзверей. А по-хорошему, нужно делать нормальный двунаправленный обмен событиями между старгейзером и pppd, чтобы инициировать события мог не только pppd, но и старгейзер. А для этого, было бы неплохо в плагине старгейзера подписываться на изменение статуса пользователя IsInetable() как, скажем, на изменение настроек. Вообщем, я ещё подумаю в эту сторону.
  18. Alexey Osipov

    purestg2

    Если xl2tpd в итоге запускает pppd, то да - подходит. Просто я с ним не сталкивался. Точно работает с PopTop (pptpd) и pppoe-server (из пакета pppoe). Бегло поглядел. Похоже, что такой возможности для плагинов pppd не предоставляет. Отлично, чем больше отзывов, тем лучше.
  19. Alexey Osipov

    purestg2

    потому что: Если поставить пакет stargazer-dev из моего репозитория, то должно собраться. Либо можно руками все .h файлы из дистрибутива старгейзера скинуть в одну папку и при сборке purestg2 указать: ./configure --with-stg-headers=/путь/к/папке Хотя да, надо бы configure подправить, чтобы выдавал ошибку, если не хватает каких-то заголовочных файлов.
  20. Alexey Osipov

    purestg2

    Угу. Я думал про 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/ по идее. Сейчас сист
  21. Плагин авторизации для 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, г
  22. Итак, обновления в репозитории. Будут доступны как только launchpad их соберёт. Теперь общее число собираемых бинарных пакетов из одного исходного - 24. Думаю - не стОит. Хотя нужно еще подумать дважды, чтобы дать правильный ответ Так вот, я тут подумал. Дважды. 1) Если старгейзер не останавливать при обновлении, а просто заменить все файлы новыми версиями, то это может нарушить целостность данных. Скажем, если произошло изменение в схеме БД, то старая работающая версия старгейзера рано или поздно об это споткнется и упадёт. Нехорошо. 2) Если старгейзер принудительно останав
  23. Как раз вопрос именно в этом - я модифицировал файл перезапуска сервера, если буду пользоваться этой версией - возможно буду модифицировать именно Upstart-скрипт. Поэтому отсюда вопрос - стоит ли идти по такому пути - ведь в случае обновления он будет перезаписан новым. Нет, не будет. Он помечен в пакете как "файл конфигурации". Это значит, что если в нём будут локальные изменения, установщик при обновлении спросит, что с ним делать - оставить старый или поставить новый. Может даже diff показать между ними. Вопросов не было потому, что вы не установили другие модули хранения. Вы с
  24. Да. Как только я соберу свежую версию. Я думаю, вы второй человек (после меня), кто пробует этот репозиторий. Даже я его ещё на продакшн-сервере не применял (но собираюсь). Вообщем, до поры до времени, я бы относился к нему как к Beta-версии. Тем не менее, обещаю быть как можно более аккуратным при обновлении версии. Мне нужно больше отзывов. Сейчас в скриптах прописана перезагрузка только в случае переконфигурации (dpkg-reconfigure). При обновлении - будет продолжать работать старая версия до момента её ручной перезагрузки. Можно сделать и автоматически, но стоит ли? /etc/i
  25. Спасибо. ) Поглядел. В репозиториях убунты судя по всему нет этой библиотеки, так что буду использовать внутреннюю. Да, точно. Плагины тоже можно раскидать по пакетам. Вот о чем и речь. Чехарда с кодировками. Значит нужно править везде одновременно - и в сервере, и в конфигураторе и в авторизаторе. Кстати, если авторизатор/конфигуратор при соединении с сервером сообщают ему свою версию, можно даже обратную совместимость сохранить. Хотя в принципе я не вижу ничего плохого в том, чтобы потребовать юзверей скачать новую версию авторизатора. На хранение пароля админа в виде
×
×
  • Створити нове...