zulu_gluk 23 Posted 2004-06-02 07:24:06 Share Posted 2004-06-02 07:24:06 Хочу сделать так, чтобы при достижении отрицательного баланса (после снятия абонплаты) юзеру закрывался доступ не только в Интернет, но и к гейм и фтп серверам. Проблема в том, что они находятся на разных машинах, и этот трафик, естественно не проходит через старгейзер. У меня есть кое-какие мыслb, но реализовать не смогу. ИМХО, нужно написать скрипт, который при помощи консольного конфигуратора будет проверять состояние счета, и на его основании будет управлять файерволом. Если кто уже такое делал - напишите как, если нет - давайте подумаем, помоему фишка заслуживает внимания. ОСь - ASPLinux 9 Link to post Share on other sites
DeadOff 0 Posted 2004-06-02 08:48:47 Share Posted 2004-06-02 08:48:47 Та да, это вопрос очень интересный, ведь скрипты OnConnect, OnDisconnect одни для всех, а доступ к геймам, фтп ит.д. имеют не все. Link to post Share on other sites
teapot 0 Posted 2004-06-02 09:20:46 Share Posted 2004-06-02 09:20:46 а что скрипты настроены на определенные порты (типа 80 3128 и email)? если подумать логически - запрещается коннект для IP а не для IP+port или у вас другая система ? Link to post Share on other sites
zulu_gluk 23 Posted 2004-06-02 10:33:52 Author Share Posted 2004-06-02 10:33:52 Смотри схему сети: С <- фтп-сервер В <- Шлюз (ПК+Линух+Stargazer) <- Инет И <- Гейм-сервер (ПК+Линух) Ч <- Абоненты Имеем три компа. СТГ только на одном. Все компы подключены к одному свичу, туда же включаются магистрали. Нужно, чтобы при отрицательном балансе абонента (база абонентов находится на шлюзе) его ИП запрещался не только на шлюзе, но и на гейм и фтп сервере. Т.е. если юзер не заплатил абонентку (снимается раз в месяц, естественно если сумма на счету меньше абонплаты, то баланс будет отрицательным) то ему отрезается доступ и к нету, и ко внутренним ресурсам сети. Link to post Share on other sites
zulu_gluk 23 Posted 2004-06-02 10:55:21 Author Share Posted 2004-06-02 10:55:21 скрипты OnConnect, OnDisconnect одни для всех Разве? А по-моему можно использовать отдельные для каждого юзера... Хотя сам никогда не использовал... Link to post Share on other sites
Mainstas 0 Posted 2004-06-02 11:23:30 Share Posted 2004-06-02 11:23:30 ИМХО жестоко как-то выходит...... не заплатил за инет нет и внутренних ресурсов.. А вобще возможно такое решение С <- фтп-сервер В <- Шлюз (ПК+Линух+Stargazer) <- Абоненты И <- Гейм-сервер (ПК+Линух) Ч Грубо говоря вынести серваки в отдельную сеть и гнать трафик к серверам через роутер поднятый на твоем инет серваке.. при этом прописать в старгазере тариф для их айпишников 0.0 конечно неудобно, но работать будет.. Link to post Share on other sites
zulu_gluk 23 Posted 2004-06-02 12:54:05 Author Share Posted 2004-06-02 12:54:05 ИМХО жестоко как-то выходит...... не заплатил за инет нет и внутренних ресурсов.. Да нет же. Если только абонплату не заплатил, тогда внутренних ресурсов не видать... А вобще возможно такое решение С <- фтп-сервер В <- Шлюз (ПК+Линух+Stargazer) <- Абоненты И <- Гейм-сервер (ПК+Линух) Ч Грубо говоря вынести серваки в отдельную сеть и гнать трафик к серверам через роутер поднятый на твоем инет серваке.. при этом прописать в старгазере тариф для их айпишников 0.0 конечно неудобно, но работать будет.. Очень не удобно: вся нагрузка в этом случае идет на гейт, а этого очень не хочется... Не подходит, в общем. Link to post Share on other sites
Hash 0 Posted 2004-06-02 13:49:03 Share Posted 2004-06-02 13:49:03 rsh, ssh Link to post Share on other sites
zulu_gluk 23 Posted 2004-06-02 13:53:04 Author Share Posted 2004-06-02 13:53:04 А подробнее можно? Link to post Share on other sites
Hash 0 Posted 2004-06-02 14:02:08 Share Posted 2004-06-02 14:02:08 Не думаю, что тут стоит приводить длинный мануал по rsh или ssh. Тебе посоветую поднять сначала rsh, ибо легче. Вот посмотри хотя бы этот линк http://aqua.comptek.ru/man/rshd.htm Link to post Share on other sites
teapot 0 Posted 2004-06-02 15:41:25 Share Posted 2004-06-02 15:41:25 1. если траффик не проходит через СТГ то соответственно и не регулируется им 2. управлением таким траффиком можно сделать либо управляемым свитчем либо отдельной софтиной на ФТП, Гейм-сервере по приказанию стг насколько я понимаю абонплата в СТГ снимается автоматом со счета клиента - и соответственно если пользователь не оплатил инет - то инета нету можно включить в скрипты он-коннект и он-дисконнект строчку с передаваемыми правилами на сервак ФТП при этой схеме человек для доступа к серверам будет запускать авторизатор есть инет есть ФТП есть Геймы ни хочешь инет - не лазий - пользуй тока ФТП и т. д. нет денег - нет ни инета ни геймов (что канечно тоже минус) Link to post Share on other sites
zulu_gluk 23 Posted 2004-06-03 05:50:04 Author Share Posted 2004-06-03 05:50:04 насколько я понимаю абонплата в СТГ снимается автоматом со счета клиента - и соответственно если пользователь не оплатил инет - то инета нетуможно включить в скрипты он-коннект и он-дисконнект строчку с передаваемыми правилами на сервак ФТП при этой схеме человек для доступа к серверам будет запускать авторизатор есть инет есть ФТП есть Геймы ни хочешь инет - не лазий - пользуй тока ФТП и т. д. Нет, эта схема не подходит. ФТП и Геймы должны быть доступны всегда (без использования авторизатора). Ну и, естественно, нет денег - нет ни инета ни геймов (что канечно тоже минус) Совсем не гуд... ИМХО, на внутренних серверах должен стоять скрипт, проверяющий деньги на счету у пользователя. Денег меньше нуля, тогда доступ запрещаем, денег больше или равно 0, тогда доступ разрешаем. Скрип должен выполняться несколько раз в день (для того чтобы разрешать доступ юзерам, которые поздно пополнили счет). Вот такая идейка. Если кто подскажет ее реализацию, буду очень благодарен. Link to post Share on other sites
Hash 0 Posted 2004-06-03 06:30:23 Share Posted 2004-06-03 06:30:23 Вот такая идейка. Если кто подскажет ее реализацию, буду очень благодарен. В общем, скрипт, который проверяет остаток денег на счету, должен быть на шлюзе, на котором СТГ стоит. Если обнаруживается, что у пользователь Вася подпадает под наши санкции для неплательщиков, то выполняем rsh game_server_ip iptables -A INPUT -s $IP_ВАСИ -j DROP. Ну и аналогично, для включения. Это, конечно, если ты поставил rshd и настроил его. Кстати, очень легко можно научить старгазер выполнять эти команды на автомате, при обнаружении минусового баланса. Link to post Share on other sites
zulu_gluk 23 Posted 2004-06-03 07:07:46 Author Share Posted 2004-06-03 07:07:46 Впринципе я все понял. Спасибо большое! Кстати, очень легко можно научить старгазер выполнять эти команды на автомате, при обнаружении минусового баланса. Если очень легко, не мог бы ты это сделать? Link to post Share on other sites
DeadOff 0 Posted 2004-06-03 09:47:19 Share Posted 2004-06-03 09:47:19 Значит мою тему не обсуждали. А кто знает, как для каждого юзера использовать отдельные OnConnect, OnDisconnect? Это для того, чтобы для тех, кто ПЛАТИТ отдельную абонку за доступ к ФТП и геймам, был доступ к ним, а к инету доступ на общих основаниях. Link to post Share on other sites
Guest Гость_teapot Posted 2004-06-03 14:39:11 Share Posted 2004-06-03 14:39:11 чета такое глобальное чувак решил замутить !!!!! Link to post Share on other sites
Wapr-Old 0 Posted 2004-06-03 15:55:53 Share Posted 2004-06-03 15:55:53 Если для каждого юзера писать свои скрипы, не слишком ли много придётся писать? Но можно ведь сделать так: пусть все юзеры равны, но некоторые равнее других : , тогда в скрипте OnConnet OnDisconnect надо просто синтезировать имя файла например так: PrivUser="${0}_${1}" и затем при наличие этого файла выполнить его, как то так примерно: if [ -x "$PrivUser" ] ; then $PrivUser "$*" ; fi Тогда если ты создашь файл типа OnConnect_Vasya и юзер Vasya выполнит авторизацию, указанный файл должен исполнится. (ИМХО) Link to post Share on other sites
Foster 0 Posted 2004-06-03 16:04:26 Share Posted 2004-06-03 16:04:26 помоему проще поменять пути к скриптам в исходниках Link to post Share on other sites
zulu_gluk 23 Posted 2004-06-04 07:54:00 Author Share Posted 2004-06-04 07:54:00 Если для каждого юзера писать свои скрипы, не слишком ли много придётся писать? Оччччень много. Поэтому не подходит. Но можно ведь сделать так: пусть все юзеры равны, но некоторые равнее других У меня все равны, все платят абонплату (должны платить). А вот кто ее не заплатил, пусть сидит и курит... Link to post Share on other sites
Hash 0 Posted 2004-06-04 08:32:10 Share Posted 2004-06-04 08:32:10 А кто знает, как для каждого юзера использовать отдельные OnConnect, OnDisconnect? Зачем отдельные? Логин пользователя передается одним из параметров в скрипты OnConnect и OnDisconnect, а там уже исходя из полученного логина, делать то, что тебе нужно. Сами скрипты можно писать хоть на perl'е. Link to post Share on other sites
nn 7 Posted 2004-06-04 08:45:27 Share Posted 2004-06-04 08:45:27 А кто знает, как для каждого юзера использовать отдельные OnConnect, OnDisconnect? А зачем отдельные? Просто наворачиваешь скрипт типа IF user=kozel then ну его ... Пожалуй можно не только на shell, но и на перле налабать такое... Есть вопрос по фаервольным правилам для СТГ 1.4.х к общественности: Нужно чтобы был доступ с самбе и DHCP. Что-то подогнать стандартные скрипты не удается. Открываю 137-139 порты, все-равно самба не видится, соответсвенно невидится вся сеть... Достаточно ли закрывать цепочки FORWARD в таблице filter и POSTROUTING nat? А то какие-то глюки начали вылазить (деваются деньги) , причину понять не могу, происходит в мое отсутсвие...может хацкеры завелись, однако... Link to post Share on other sites
nn 7 Posted 2004-06-04 08:51:47 Share Posted 2004-06-04 08:51:47 Я просто тащусь два почти одинаковых сообщения. Пока писал свое, колега отпостился.... Почти коллективный разум... Так что вероятность того что это напрвление мысли увеличивается! Link to post Share on other sites
Hash 0 Posted 2004-06-04 09:03:19 Share Posted 2004-06-04 09:03:19 Если очень легко, не мог бы ты это сделать? Стучись в аську Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now