Небесный 26 Опубликовано: 2010-11-20 11:48:06 Share Опубликовано: 2010-11-20 11:48:06 Ребята, кто-то пинает управляемые свичи по snmp - чтобы отключить порт, при минусовом балансе у юзера? Пока идея у меня такова: Это запихнуть в скрипт OnChange обработку. Если после снятия денег у юзера баланс в минусе, тогда пнуть по снмп свич(какой свич и какой порт - думаю писать в UserData) на предмет отключения порта. Может кто уже данное реализует, поделитесь своими трудами. ))) Может есть вообще другие идеи по этому поводу, рад буду выслушать их. Ссылка на сообщение Поделиться на других сайтах
keshaLG 5 Опубліковано: 2010-11-20 23:35:41 Share Опубліковано: 2010-11-20 23:35:41 Идеи и замечания: В OnChange мало, надо еще по крону гонять. И в юзердате хранить запись в виде: №свича_из_справочника(где его ip)/№порт_юзера Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-11-21 06:06:21 Автор Share Опубліковано: 2010-11-21 06:06:21 2-е это само собой разумеющее, а вот 1-е - хорошая идея, зачем пихать вообще в скрипт OnChange,- раз в сутки запуск скрипта (пробежаться по юзерам, у кого баланс меньше нуля, пнуть свич+порт на закритие). Это все хорошо, ничего сложного. Как быть с теми, кто отключен,- ну в принцыпе - тоже можно рубать порт. Но, еще есть статус заморожен. Можно конечно весь межабоненские траф ганять через биллинг, но это глупо - да и какое это железо нужно на это дело. Ссылка на сообщение Поделиться на других сайтах
keshaLG 5 Опубліковано: 2010-11-21 09:41:09 Share Опубліковано: 2010-11-21 09:41:09 а вот на "включение" как раз и нужен OnChange, если его не использовать частота исполнения должна быть частой. Отмоделируй сутуацию: отключил ты юзера, он пополняется и .... ?? ждет сутки? Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-11-21 10:57:30 Автор Share Опубліковано: 2010-11-21 10:57:30 а вот на "включение" как раз и нужен OnChange, если его не использовать частота исполнения должна быть частой. Отмоделируй сутуацию: отключил ты юзера, он пополняется и .... ?? ждет сутки? Мдя, точно. Я думаю, что это не сложно, 2-3 строчки с проверкой. А, пинать свичи можно и по крону, где-то в часиков 3 ночи, единственное, что если например я порт отключил вчера, скрипт будет пинать порт каждые сутки на отключение. Можно конечно делать и проверку - вначале спрашивать порт у нас закрит или открит, если открит - тогда закрить. ))) Лишние действия, думаю свич не обидиться, если ему скажут закрить порт, который уже закрыт. Если не ошибаюсь, мибы на закритие порта у всех свичей одинаковые. Так, что думаю если будет зоопарк, эта система не пострадает. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2010-11-21 11:18:29 Share Опубліковано: 2010-11-21 11:18:29 Накой OnChange? Ссылка на сообщение Поделиться на других сайтах
keshaLG 5 Опубліковано: 2010-11-21 14:52:06 Share Опубліковано: 2010-11-21 14:52:06 на той, допустим когда порт закрывается ночью, к примеру, а юзер пополняется утром/днем, что бы моментально сделать обратное действие Ссылка на сообщение Поделиться на других сайтах
nightfly 1 239 Опубліковано: 2010-11-21 18:47:24 Share Опубліковано: 2010-11-21 18:47:24 OnConnect/OnDisconnect вас чем не устраивают осмелюсь вопросить. Или они у вас отрабатывают в какихто исключительных ситуациях отличных от "есть интернет"-"нет интернета"? Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-11-21 19:04:26 Автор Share Опубліковано: 2010-11-21 19:04:26 OnConnect/OnDisconnect вас чем не устраивают осмелюсь вопросить. Или они у вас отрабатывают в какихто исключительных ситуациях отличных от "есть интернет"-"нет интернета"? Ну, в принцыпе - это их такая функция. В OnConnect для меня не подходит по одной причине - юзеры пользуются авторизаторами, как он (тоесть юзер) достучится до СТЖ - чтобы подключится, при котором срабатывает скрипт OnConnect, если у него порт сейчас закрит? Правильная мысля была выше - откривать порт нужно через OnChange. А, вот закривать порты - можно после полуночи - пробежаться по юзерам, у кого баланс меньше нуля - тогда пинать свич - тип закривай порт, единственное по закритию портов мне не нравится - если вдруг тот, кто заносил юзера в базу - сделал ошибку, что-то не так сделал,- неправильный порт указал, потом бери и ищи - хотя вот сразу по ходу и пришла мысля - писать логи. ))) Кстати, nightfly, я знаю вы юзаете Foxgate'ы - поделитесь мибами на откритие/закрите порта и на предмет опрашивания - в каком состоянии находится порт(или вообще такой миб существует в природе). Ссылка на сообщение Поделиться на других сайтах
Respect! 27 Опубліковано: 2010-11-22 14:00:02 Share Опубліковано: 2010-11-22 14:00:02 Я считаю что сама идея, как такова бессмыслена, но может пригодиться в другом... Рисую картину: человек сидит в интернете, и тут клац (!), ни дуля не вылазит, ни домашняя страница, а просто выскакивает внизу значек - нет линка! Разъяренный абонент звонит в саппорт и дает заявку на то что не работает интернет! А тут ему говорят шиш - заплати! И тут абонент начинает отстаивть свою точку зрения, что мол сначала почиини - а вечером стулья, потомучто крестик на сет.Подкл. до сих пор стоит, и он будет много и много раз клевать мозги по поводу что он постоянно вовремя платит, а инногда даже на пару месяцев вперед! Так что не изобретайте велосипед! Можно сделать таково, что когда у человека нет денег на счету, то ему прикрыты все порты, кроме 80-го, для того чтоб выскочила картинка "пополни счет". И тогда человек "-Ага! Блииин, точно, буду итти за хлебом, пополню счет!" Впринципе данную систему хорошо применять при злостных спамерах и флудерах, либо когда абонент ВООБЩЕ от вас отключился! Спасибо за внимание! Ссылка на сообщение Поделиться на других сайтах
KaYot 3 707 Опубліковано: 2010-11-22 15:36:13 Share Опубліковано: 2010-11-22 15:36:13 +1. Вообще порт отключать очень плохая идея. А как же абоненту свою статистику посмотреть/кредит взять/карточку активировать? Должникам делать редирект на страничку с надписью "Деньги кончились, заплати и инет появится", злостных должников отключать вручную, тут тоже какая-то автоматика смысла не имеет. У нас делается редирект должникам + рубится локалка, у человека появляется хороший стимул заплатить Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-11-22 17:46:20 Автор Share Опубліковано: 2010-11-22 17:46:20 Может впринцыпе и верно, повесть ацл на свич с другим номером, чем обычный. А, в этом ацл закрить порты на локалку. - на шлюз он будет иметь доступ, на свою абоненскую страничку. Хм-хм, хорошая идея, даже очень !!! Жду еще идей, так как пока только идет разворачивание сети по езернету. До этого юзали и юзаем доксис, ну там своя песня, не в этой теме ее обсуждать. Ссылка на сообщение Поделиться на других сайтах
keshaLG 5 Опубліковано: 2010-11-22 18:07:10 Share Опубліковано: 2010-11-22 18:07:10 +1 Respect! Я как-то даже не подумал о творческом моменте). Сам делаю точно так же: на маршрутизаторах (софтовые роутеры под linux), в случаи задолженности человека весь траф с/на 80 порт редиректится на мой www-сервер, на котором ждет страничка с "У ВАС ЗАДОЛЖЕННОСТЬ - пополниться в статистике". Пополняется -> срабатывает OnChange, который разливает новые правила на роутеры. А выключать порт надо иногда, но это и руками можно. Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2010-11-22 18:46:04 Автор Share Опубліковано: 2010-11-22 18:46:04 Та, ну его руками - лень последнее время берет. Как сказал один админ: "Хороший админ - это ленивый админ". Вот и я придерживаюсь такой политики, максимум автоматизма, минимум ручной работы, лучше попарить моск неделю, и потом годами пить чай за монитором (правда так не всегда получается , вернее так бывает в сказке - ну типо того). , надо наверное себе тоже редирект на страницу делать: "Кончилось бабло - заплати", а то уже достали, и заявками - у нас инэт не работает, а оказывается, что нету денег, а личный кабинет влом зайти и проверить баланс. Ссылка на сообщение Поделиться на других сайтах
keshaLG 5 Опубліковано: 2010-11-22 19:17:32 Share Опубліковано: 2010-11-22 19:17:32 ну про выключение портов я за случай "флуда/спама". вот часть кода, думаю поможет: nice -n +19 /sbin/iptables -A DOLG -s $ip_кого_лочим -d ! $ip_твоей_сети -j REJECT nice -n +19 /sbin/iptables -t nat -I PREROUTING -p tcp -s $ip_кого_лочим -d ! $ip_твоей_сети --dport 80 -j DNAT --to-destination $ip_твоего_www:81 на $ip_твоего_www порт 81 весит апач с конфигом типа моего: NameVirtualHost *:81 <VirtualHost *:81> ServerName www.freenet.lg.ua ServerAlias freenet.lg.ua DocumentRoot /var/www/html/redirect <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* http://www.freenet.lg.ua/index.php [R=301,L] </IfModule> </VirtualHost> PS не забудь дополнить общим правилом SNAT/MASQUERADE и подготовить саппорт для ответа на вопрос: "А чего кроме вашей странички ничего не вижу?". Люди даже читать не хотят, что там есть строчка с упоминанием о задолженности))) Лень да - действительно двигатель прогресса) Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас