Перейти до

Kucher2

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

    1 694
  • Приєднався

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

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

    10

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

  1. Ладно, спасибо за мозговую атаку. Проверю - отпишусь. P.S. Проверил. Работает. Значит, что я сделал: 1. Включил ping ya.ru -t - на своей виндовой машине. 2. Изменил правила OnConnect для своей машины на сервере (дописал строку, чтобы явно было видно, если правила обновятся). 3. Закрыл на свою машину UDP-пакеты к серверу и от него. В итоге - примерно через минуту, авторизатор на моей виндовой машине "покраснел" и попытался переконнектиться. Потери связи в этот период, естественно, нет. После открытия доступа по UDP - СТГ перечитал правила из OnConnect и обновил их. При этом было потеряно 3-5 пакетов. По-моему приемлемо. Вывод: работает, можно добавить по Cron - скрипт для обновления правил после возможной смены тарифа (который может повлечь смену правил OnConnect для конкретного случая) юзеров в начале месяца. Пройдёт почти незаметно для пользователей. Так же, сброс правил и закрытие UDP-протокола на пару минут вызовет авторекконект авторизатора на всех активных машинах и восстановление связи с Интернетом для всех активных пользователей. Хотя потеря связи будет немного более продолжительная. При останове и последующем старте СТГ - он всё равно сбрасывает правила для юзеров, затем авторизатор сам коннектится повторно. Но если предварительно заставить авторизаторы у юзеров "искать связи с сервером", то вся процедура проходит существенно быстрее, почти незаметно для пользователей. Скрипт для проверки состояния СТГ и его рестарта: rstg.sh Как видите - скрипт до нельзя примитивен и суть его в том, что он пытается менять тариф ключевого юзера (которого нужно создать перед запуском скрипта), проверяя сменился ли он на самом деле. Если нет - рестарт СТГ. Его существенным недостатком является засорение stargazer.log бесполезными сообщениями о смене тарифа ключевому юзеру. Но такова механика работы sgconf. Следующий скрипт для рестарта СТГ (например - в начале месяца, когда надо "передёрнуть" правила для юзеров в связи с возможной сменой тарифов и скоростей подключения). Так же можно прикрутить процедуру очистки логов и каталогов юзеров от старой инфы, что лучше делать при остановленном СТГ: rstgone.sh В /var/cron/tabs добавляем строки: Для верности можно так же добавить в cron безусловный перезапуск СТГ, например раз в сутки. Совет: не кладите скрипты в каталог, у которого в названии присутствует слово "stargazer". Спасибо за помощь.
  2. Если сбросить правила и рестартануть СТГ - прервётся соединение. Не есть гуд. Онлайновый юзер не будет ничего клацать, если это ночью происходит и у него просто закачка стоит. В итоге после такого фокуса у него не будет Инета до момента, пока он именно - не начнёт клацать. А если это игрок в ту же линейку - будут эмоции. Есть идея - закрыть на сервере пакеты UDP на минутку. При этом рядовой юзверь ничего не заметит, потому что сам работает по TCP. Т.к. авторизатор работает по UDP, по идее он попытается переконнектиться? Если да, то СТГ при этом перечитает правила? Например при ребуте сервера - так и происходит. А если произойдёт реконнект авторизатора и обновление правил - в этом случае произойдёт это настолько быстро, что возможно юзверь этого и не заметит. Вот к чему я веду.
  3. Не понял. Сбросить правила просто и всё? Но это ничего не даст, если их не восстановить. У юзеров не будет инета. А чтобы восстановить - надо знать кто сейчас подключён. Может готовый метод для этого есть уже? Может UDP закрыть на серв, секунд на 30-60, чтобы вынуждать авторизатор реконнектиться? Но это тогда обрыв связи. Пойдёт, если делать такое в начале месяца.
  4. Это как? Кстати, при каких условиях авторизатор реконнектится? Я убил правила на свою машину - авторизатор зелёным горит и ничего не делает. Зараза. Хотя опция "переподключение" установлена.
  5. Поясняю ситуацию: 1. У нас вылетел СТГ. Мы его поднимает таким скриптом. Но правила-то могли остаться (конечно маловероятно, если по крону проверка каждые 5-10 мин, но всё-таки), хотя наш юзер уже спать ушёл. 2. Мы установили юзеру переход с помегабайтного тарифа(512К) на безлим (128к) в начале месяца. Если не передёрнуть правила - у него по идее будет считаться трафик как за безлим 128К (т.е. грубо говоря - снимется абонка и всё), а вот скорость останется 512К, пока он не переподсоединится. Может можно как-то заставить авторизатор переконнектиться или проверить у кого сейчас активен авторизатор и сделать OnConnect для каждого активного юзера (у меня в этом скрипте все правила сначала убиваются, а потом снова поднимаются)? Ребут не предлагать. Вечный вопрос: чё делать?
  6. madf, спасибо, заработало. Сделал так: Так же загляните сюда, кому интересно.
  7. Ставил то и другое. Ничего не меняется. Не могу глянуть что туда попадает, т.к. при попытке перенаправления значения в файл ($NUM >> file) - ругается на "word unexpected". Какая-то непонятная заковыка с этим $NUM. :/ Насколько я знаю - если в винде убить авторизатор, то через некоторое время СТГ удаляет allow-правила на этот комп. Странно, что он не делает того же самого после своего рестарта, когда не видит авторизатора на конкретной машине. Или делает?
  8. Да просто хотелось бы, чтобы проходило это как можно более незаметно для юзверей. Так что там по поводу автоподнятия СТГ (см. мой пост выше)?
  9. Апаю тему, вопрос актуален.
  10. Kucher2

    Док по абонентке

    Поставь ему баланс 10грн, например. И сделай тариф по 10 коп за мегабайт. В чём проблема? Кончились деньги - вызываешь в конфигураторе свойства юзера и добавляешь деньги.
  11. Как вариант - функцию абонплаты не использовать вообще, а сделать платными несколько первых мегабайт например. Ну, там, с вариантами. Один хороший человек подсказал. Например у меня абонка так и снимается: чел в начале месяца полез в сеть или инет, первые метры для него стоят дороже обычного, а остальные или бесплатные или дешевле, как положено в общем. В итоге получился очень неплохой вариант безлима для юзверей - например ставим 1 мег по 10 коп и порог 750мб. Пока чел не затратит 75 грн, у него 1 мег = 10 коп. А потом бесплатные. Таким образом, если он не исчерпал свой лимит в 750мб - оставшаяся сумма на следующий месяц переходит. Можно конечно и 1 Мб сделать 75 грн, но это экстрим уже. Этими 10 коп - мы компенсируем возможные потери прибыли, поскольку такой подход не совсем выгоден для нас, особенно летом. Зато привлекает клиента. А для помегабайтников трафик немножко дешевле, например 6 коп.
  12. Привет всем. Сразу признаюсь - в этом деле не шарю. СТГ 2.4.01, FreeBSD 6.2 Пытаюсь поднять СТГ при вылете из процессов - автоматом. Собрал скрипт из примеров на форуме (честно содрал): Ругается на "if [ $NUM -lt 1 ]" - говорит "syntax error: "if" unexpected" (expecting ")") Почему? И кстати, такая вот ситуация: СТГ вылетел, правила остались - чел продолжает халявно юзать Инет. СТГ рестартанул, но правила остались. Опять халява. Если вместе с рестартом сбрасывать правила - юзвери это почувствуют. Неудобство. Как с этим бороться?
  13. Тот механизм что он имеет - не работает в автоматическом режиме. Да, автор писал, что СТГ сохраняет копию обрабатываемого файла в случае ребута. Но не копию всей базы сразу. И вообще непонятно почему происходит краш информации - со старой версией СТГ такого никогда небыло. И мы снова вынуждены изобретать велосипед.
  14. Я тоже не понимаю к чему городить всё это, если эти функции можно было реализовать ещё в самом биллинге. Но поскольку новый СТГ очень болезненно относится к внезапным ребутам, не имеет модуля резервирования баз - имеем то что имеем. Вероятнее всего мускул удобен для обработки баз СТГ, но я не считаю установку мускула - такой уж необходимостью. Впрочем, дело вкуса.
  15. У меня стоит SAMBA на сервере. Создал две папки: /usr/reserv_stg/base и /usr/reserv_stg/base_old. Этот срипт выполняется по крону каждые пол-часа, частота исполнения зависит от степени паранои. Его назначение - копировать рабочую базу в отдельную папку. Задержка в скрипте введена, чтобы этот и следующий скрипт не перекрывались. #!/bin/sh # vypolnaet reservirivanie basy userov cd /usr/reserv_stg/base sleep 120 rm -R * cp -R /var/stargazer/users/ /usr/reserv_stg/base А этот скрипт выполняется при старте системы: Он заменят содержимое базы СТГ на рабочий аналог получасовой давности и стартует СТГ. Всё просто как валенок. #!/bin/sh # vypolnaet reservirivanie staroy basy userov # vosstanavlivaet reservnuyu kopiu # I zapuskaet stargazer cd /usr/reserv_stg/base_old rm -R * cp -R /var/stargazer/users/ /usr/reserv_stg/base_old cd /var/stargazer/users rm -R * cp -R /usr/reserv_stg/base/ /var/stargazer/users /usr/sbin/stargazer Понимаю что криво, но работает уже года 2. Ещё один скрипт - запускается каждые сутки, создавая архив всей базы СТГ с названием соответственно дате создания. Потом виндовой машиной архив забирается автоматом (bat-файл) по команде NET USE - из /usr/amba. Естественно, что всё паролируется. #!/bin/sh cd /usr/amba tar -z --create --file=`date "+%d%m%y_%H-%M"`.tar.gz /var/stargazer chown pupkin * А скрипт ниже - тоже можно сунуть в крон, но я стартую его вручную. Он удаляет файлы, которые были изменены или созданы более указанного кол-ва дней назад и чистит логи юзеров, существенно уменьшая объём базы СТГ. Последняя строка сносит всю статистику за год (например предыдущий), что можно сделать и вручную. Можно удалять старые данные, которым более месяца или как пожелаете. В примере так и есть, но я ставлю дня 3. Недостаток метода - если вы ребутнёте сервер, то отработавший скрипт восстановления базы создаст все файлы вновь и тогда уже этот срипт ничего не почистит - файлы приобретут статус "изменён сегодя". #!/bin/sh cd /var/stargazer/users #udalenie failov userov, kotorye ne modificirovalis 31 den find . -mtime -31 -o -type f -print | grep -v conf | xargs rm -R #obnulenie logov userov find . -name log -delete -print | xargs touch log find . -name connect\.log -delete -print | xargs touch connect\.log #udalenie stat za god find . -name "2007" -print | xargs rm -R
  16. Kucher2

    ADSL + ?????

    Хм, а я никакой редирект на модеме не строил. Просто сделал его роутером как вы тут описали - и всё заработало. Причём как для компьютера за модемом (сервер сети), так и всей сети за этим компьютером. Лишь указал серверу модем - как вышестоящий сервер.
  17. Kucher2

    Балансировка 2х инет-каналов!

    А чем вас не устраивает деление юзверей на 2 группы, одна из которых ходит на один канал, а вторая - на второй? Ситуация-то аварийная. Или вы каждому юзеру даёте те 8 мбит, которые составляют канал в обычном режиме? Лично у меня тоже довольно широкий канал, но я никогда не отдаю его полностью каждому конкретному юзеру, потому что есть куча безлимитчиков и помегабайтников, которые будут просто мешать друг другу. Таким образом - я изначально не даю прочувствовать юзерам всю пропускную способность. Потому у них и не возникает недовольства в случае загруженности канала - они этого попросту не ощущают.
  18. Kucher2

    Защита сервера от взлома

    У меня чувство, что вы меня не поняли. Давайте по другому. Мне нужен только VPN-сервер, на который авторизируются пользователи. На него стекаются данные со всех машин. На самом сервере, поскольку он будет стоять в центральном офисе, я хочу поставить самбу, чтобы из внутренней сети можно было легко и просто оперировать файлами. Проблема в том, что я сомневаюсь в надёжности каких-либо паролей, потому теоретически что все их можно подобрать. Меня интересует механизм защиты от простого перебора паролей, поскольку я не могу указать серверу блокировать консоль авторизации - подключающиеся имеют серые или плавающие IP - они не смогут зайти, если кто-то пытается подобрать пароль. Может быть есть простой способ менять пароли или какие-то ключи без ведома пользователей (там объяснять где находится кнопка ПУСК надо по пол-часа иногда)? А может достаточно просто сложного длинного пароля, какой только может принять Windows XP... По поводу удалённого управления - никогда не занимался этим всерьёз, считаю что это лишняя дыра, да и на работу съездить не влом - если всё отлажено, удалённое управление не нужно.
  19. Kucher2

    Защита сервера от взлома

    Думаете, что это поможет? Ведь теоретически можно просканить это дело. SSH подразумевает только шифрование, на сколько я помню? Или есть ещё какие-то функции? Мне б чего-нить по принципу ключей заморочить, чтобы сервер в дополнение ещё и проверял подключившегося. Не хочется грузить VPN-сервер чересчур сложными алгоритмами. Была простая идея класть куда-то ключевой файл и если сервер его видит - пускает. Организовать систему простого обновления ключей в случае необходимости смены паролей. Удалённое управление сервером я отбрасываю сразу, мне проще приехать на место. Но я подумал что должно быть уже что-то готовое.
  20. Посмотрел здесь недавно как народ реализует серверы под Windows с реальным IP и с ужасом осознал, что такая схема никак незащищена даже от простого перебора пароля. Ну а дальше всё понятно. Люди, я так не хочу! Подумываю сделать некий сервер на FreeBSD. Скорее всего это будет VPN-сервер, который объединит несколько машин из разных точек страны в одну локальную сеть. Думаю понятно. Реальный IP будет иметь только сервер, остальные машины будут коннектиться к нему с "серых" адресов. Так что простейший способ фильрации по IP - отпадает. Поразмыслив немного - придумал парочку простых, но действенных способов защиты хотя бы от подбора пароля, но наверняка существуют готовые решения. Просьба к профессионалам - посоветуйте пожалуйста ссылки (желательно на русском) или подскажите методы защиты такого сервера от взлома. Может быть какое-нибудь дополнительное ПО?
  21. Kucher2

    Sgconf

    1. sgconf попробуйте коннектиться не на внутренний 127.0.0.1, а на ip сервера в сети. 2. Проверьте разрешён ли ipfw такой коннект (временно разрешите всё). 3. Попробуйте поставить в конфиге СТГ права 777 на файлы юзеров. Версия sgconf может не та - проверьте логи или скачайте и пересоберите новый из сырцов. Мне помогало. Такая же хрень была с бесплатным модулем карточек - не добавлялись деньги.
  22. Который раз убеждаюсь, что самым верным способом в таком деле остаётся банальное стукачество.
  23. http://local.com.ua/forum/index.php?showtopic=12308
  24. Поддерживаю второй вариант. У меня отлично работает без перехода на mysql. И уже довольно давно.
  25. Kucher2

    Безлимитка

    Я об этом думал. Но как вы писали выше - это личные половые трудности клиента. Выложил у себя на форуме описание механизма снятия абонки. И не моя вина, если кто-то пытается н@ать систему, зная, что если уж в этом месяце он залез в Инет - надо платить абонку. Да и поскольку на счету у безлимитчика в моём случае обычно не бывает большой суммы, много он не потеряет. Согласен, что конечно выгоднее просто снимать абонку и не заморачиваться с "пользовался-не-пользовался", но у меня тут частный случай. Но тут возникла другая беда. Сегодня юзер, не глянув форум - купил карточки, желая пополнить счёт, скажем, с середины месяца, чтобы безлим продолжался у него ровно месяц, т.е. до середины следующего. Естественно, я сказал, что такого у нас нет, что безлим покупается и длится только с первого числа месяца по последний и мне было бы крайне невыгодно покупать широкий канал для тех, кто может быть соизволит взять безлим на один месяц в году. Об этом написано на форуме и я считаю это правильным. На это он возразил, что вот есть-де такой провайдер, который позволяет такое делать. Я полез на сайт того провайдера и не нашёл такой информации. Что это: попытка заморочить мне голову или очередной способ конкурентной борьбы между провайдерами? А если такое и правда практикуется? Что думаете, граждане? Подумав над этим, я пришёл к интересному для меня решению. У меня есть 3 тарифа: 1. Общий. 1 Мбайт стоит 10 копеек днём и 8 копеек ночью. Если превышен порог в 400 МБ - стоимость снижается до 8 и 6 копеек соответственно. 2. Безлимитка до 128К - 75 грн. 3. Безлимитка до 256К - 120 грн. Что я сделал: Оставил безлимитные тарифы без изменений, прописав для них АП=0. Затем сделал в них стоимость одного мегабайта 10 коп в любое время суток (конечно, этой стоимостью можно поиграть) и установил порог. Как только юзер превышает порог (например для 128К - 0,1*75=750МБ) - мегабайт стоит уже 0 копеек и мы получаем полноценный безлим до конца месяца. Объём невелик, средний юзер его превысит. Учитывая, что он у нас ещё и зарезан по скорости - мы тут ничего не теряем. Но если товарищ и вправду "ездил на моря" - это существенная экономия для него и мы как-бы идём ему навстречу. Степень нашей доброты здесь можно регулировать стоимостью мегабайта и размером абонки. Идею можно развить. Нет худа без добра.
×
×
  • Створити нове...