Doozer 0 Posted 2005-02-01 12:55:36 Share Posted 2005-02-01 12:55:36 Вот, никак не поборю... Чё имеем: UA-IX халява... забугор стоит денег. Юзера: есть те кто юзает инет по полной (и УА и забугор), а есть те, кто юзает тока УА Надо: давать полный форвард юзерам кто юзает по полной инет и давать тока украину тем, кто на пакете UA-IX и не пускать их далее сегмента UA-IX Идея: например eth1=intet | eth0=local | eth1:1=ua-ix Идея 1.1: stargazer передаёт параметр tariff в OnConnect и OnDisconnect. И тогда в скриптах я могу варировать какие мне правила запускать для конкретного тарифного плана. Например переправка юзера на другой интерфейс... Или раздача доступа только к проксе UA-IX Идея 1.2: делаем алиас интерфейса, для него прописываем UA-IX правила, а юзерей с тарифным планом UA-IX роутим через этот интерфейс. ...думаю это более чем экономно и должно работать правильно stg пофику через чё оно уйдёт, главное куда попёр запрос с eth0. я думаю так... хотя, могу ошибаться подскажите мне как реализовать 2 тарифных плана по типу "всё" и "только УА" ЗЫ... пока я вижу только один реальный выход: ставить 2 Stargazer'a для разных юзерей. Link to post Share on other sites
Max 0 Posted 2005-02-01 13:14:42 Share Posted 2005-02-01 13:14:42 Если ОС FreeBSD то всё прекрасно фаером разруливается... Link to post Share on other sites
Guest Guest Posted 2005-02-01 14:03:25 Share Posted 2005-02-01 14:03:25 я думаю стоит попробовать через передаваемые параметры UserData передавать к примеру all и ua-ix в онКоннект проверять что в UserData и в зависимости от этого выполнять правила для файрвола. Link to post Share on other sites
Doozer 0 Posted 2005-02-01 15:48:14 Author Share Posted 2005-02-01 15:48:14 Max? Что там у тебя под БЗДЁЙ разруливается? Ненадо делать вид что БЗДЯ интелектуально умная и сама знает какого юзера куда пускать. Та не вник в суть вопроса. ...так вот дело в том, что никакий юзер даты не передаётся... и оперировать переменными невозможно (кроме как ID, IP, Cach) Link to post Share on other sites
Max 0 Posted 2005-02-01 17:54:26 Share Posted 2005-02-01 17:54:26 Я имелл ввиду что можно прописать правила в фаер которые и будут управлять трафиком при подключении определённого пользователя.. То есть для одного пользователя одни правила в фаер, а для другого другие правила.. Link to post Share on other sites
St@lker 0 Posted 2005-02-01 18:18:53 Share Posted 2005-02-01 18:18:53 Поддерживаю Макса! Причем файрволом можно задать для каждого юзверя какие сети ua-ix он может юзать а какие нет! =)) Link to post Share on other sites
Doozer 0 Posted 2005-02-01 18:57:57 Author Share Posted 2005-02-01 18:57:57 Значит так, исходные данные: Есть 100 юзерей. 1 группа: 30 юзают инет полноценный. 2 группа: 70 юзают только UA-IX Переодически люди из 2 группы хотят юзать полностью инет. Переодически люди из 1 группы хотят юзать только UA-IX. Переодически люди в группах меняются... Некоторые приходят, некоторые уходят. Переодически людям нечем платить за забугор, и они из группы 1, переходят в группу 2. Переодически люди шатаются каждый месяц из группы в группу. Что необходимо: В зависимости от тарифного плана давать пользователям разный доступ. Например: Группа 1 - полный форвардинг. Группа 2 - форвард с учётом записи UA-IX списка. ...прошу ответить знающих людей умников типа "это можно зделать фаерволом прошу не беспокоить" Если бы я хотел зделать всё так, как Вы мне тут советуете, то мне Старгейзер ненужен, я прекрасно могу сидеть и сутками добовлять удалять правила в цепочках фаера. (при этом крутя пидали динамо-машины для обеспечения сервера эллектричеством) Link to post Share on other sites
Max 0 Posted 2005-02-01 19:29:52 Share Posted 2005-02-01 19:29:52 Поддерживаю Макса! Ну вот нашёл единомышленника! Спасибо за поддержку...Причем файрволом можно задать для каждого юзверя какие сети ua-ix он может юзать а какие нет! =)) Именно это я и имел ввиду, просты выразился коряво... Вот как у меня заведено: на каждого пользователя создан скрипт allow_10.203.0.x.sh и deny_10.203.0.x.sh В самих скриптах прописаны правила для фаера, роутинга, и форвардинга на squid. ipfw add xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx В Onconnect: LOGIN=$1 IP=$2 usreip=`echo $2` sh /..../allow_${userip}.sh В Ondisconnect соответственно удаление этих правил: ipfw d xxxxxxxx За эту модель огромное спасибо PowerLan. Некоторые могут сказать что система громоздка и неповоротлива, но как раз в её громоздкости и есть её гибкость: можно задавать индивидуальные правила для user'ов. А насчёт создания огромного количества скриптов allow_xxxx и deny_xxxx так я скрипт на перле написал который в режиме диалога нового пользователя создаёт, вот счас работаю над тем чтобы параметры от СТГ2 предовались скрипту, тоесть всё совсем автоматизировать. Link to post Share on other sites
Max 0 Posted 2005-02-01 19:36:20 Share Posted 2005-02-01 19:36:20 Если бы я хотел зделать всё так, как Вы мне тут советуете, то мне Старгейзер ненужен, я прекрасно могу сидеть и сутками добовлять удалять правила в цепочках фаера. (при этом крутя пидали динамо-машины для обеспечения сервера эллектричеством) Ты хочешь получить от быка молоко... Если тебе не нравится предложенный вариант, то необходимо убедить автора (либо самому) добавить в переменные передоваемые скриптам переменную TARIF. И будет тебе счастье... Link to post Share on other sites
Keen 10 Posted 2005-02-01 20:34:33 Share Posted 2005-02-01 20:34:33 да вы что? cat /etc/stargazer/onconnect LOGIN=$1 tariff=`grep Tariff= /var/stargazer/users/$LOGIN/conf` .... Вот вам и тариф в скрипте. Теперь в зависимости от тарифа, через "if" открываем в фаерволе два разных направления, для двух групп Link to post Share on other sites
Doozer 0 Posted 2005-02-02 15:43:45 Author Share Posted 2005-02-02 15:43:45 Да, оно то будет работать... только корявенько. С таким успехом можно и IP юзерей брать... зачем его передавать в параметрах. Кстати, если можно - попробуй накинуть пару строк, как ты думаешь это будет работать? Link to post Share on other sites
Den_LocalNet 1,472 Posted 2005-02-02 16:09:42 Share Posted 2005-02-02 16:09:42 это почему же корявенько? Куда проще сделать 2 тарифа и в зависимости от его названия выполнять те или иные правила. ИМХО самое лучшее решение. Link to post Share on other sites
XoRe 0 Posted 2005-02-02 16:12:44 Share Posted 2005-02-02 16:12:44 Для фрях могу предложить такой вариант: Заносишь в ipfw кучу правил типа allow ip from внут. сетка to тыдынь recv внут. интерфейс Где, тыдынь - это сетки украины. И так по одному правилу на каждую сеть. А в конце правило deny ip from внут. сетка to any recv внут. интерфейс Потом, в старгейзере разделяешь юзеров на 2 группы. Потом в OnConnect добавляешь конструкцию типа group=`grep Group= /var/stargazer/users/$LOGIN/conf` И если юзер принадлежит группу глобалистов, то скрипт перед deny пусть добавляет правило skipto № ip from any to any Где, № ставишь больше того, котрый у правила deny ip from внут. сетка to any recv внут. интерфейс Получается так: если пользователь чисто на украине, то ему доступны только украинские сети. А все остальное рубится правилом deny ip from внут. сетка to any recv внут. интерфейс Если пользователь имеет глобал, то за счет skipto, он перепрыгивает deny и имеет глобал. Link to post Share on other sites
Doozer 0 Posted 2005-02-03 13:21:58 Author Share Posted 2005-02-03 13:21:58 Уху, пасиб народ... про grep я както подзабыл... сорри, затуркало. В принцыпе я так и думаю решить всё это. Но суть тут ещё и в том, чтобы не ходить окольными путями а просто дать звоночек автору STG, почемуб не сунуть в конфиг такую хрень, как галочка в конфигураторе напротив каждого параметра юзера с ыункцией "отправлять в скрипт данные или нет". Привожу пример: Есть куча полей, IP, Group, Userdata0, Userdata1, Comments, Tariff и так далее. Напротив каждой строки есть check box, с функцыей например "use" и далее, при если этот чек стоит - данные этой строки передаются в исполняемые скрипты. Для чего это полезно: 1. для решения таких задач как у меня. 2. для построения правил или действий любой сложности 3. для (например) когда положили в Userdata0 - MAC адрес юзера и мозно скриптами разграничит доступ... 4. для постоения вообзе - пользоательских скриптов отдельно и без геммора. вообще, как по мне - было бы, весьма полезно и удобно. Link to post Share on other sites
XoRe 0 Posted 2005-02-03 18:31:23 Share Posted 2005-02-03 18:31:23 Если каждому пользоателю вдюндить в инфу эти галочки, то получится больше конфигов/жрания оперативки/жратия процессора. Grep решает проблему в полном соотетствии философии unix. Незачем изобретать уже изобретенный велосипед. За счет скриптов UserAdd я могу добавить пользователя в старгейзере, в самой *nix, прописать его в DHCP, DNS и ещё бог знает где ещё. Скрипты для этого и существуют. Если кто-то считает писать их геммороем - то это уже другой вопрос. Link to post Share on other sites
AlexeyD 0 Posted 2005-02-08 13:17:13 Share Posted 2005-02-08 13:17:13 Вот, никак не поборю... Чё имеем: UA-IX халява... забугор стоит денег. Юзера: есть те кто юзает инет по полной (и УА и забугор), а есть те, кто юзает тока УА Надо: Слушай а как ты делил трафик на забугор и нет и при этом сатргазер прикрутил?? можешь научить дурачка мудрости... плз....... Link to post Share on other sites
Doozer 0 Posted 2005-02-08 19:30:53 Author Share Posted 2005-02-08 19:30:53 rules: # Rules Generated on: 2005.02.08-21.20.09 # DIR0 = Local # DIR1 = Proxy # DIR2 = UA-IX # DIR3 = Internet # Proxy TCP_UDP 192.168.17.5:3128 DIR1 # Local ALL 192.168.0.0/16 DIR0 # UA-IX ALL 62.16.16.128/26 DIR2 ALL 62.64.64.0/18 DIR2 ALL 62.64.80.0/21 DIR2 ALL 62.64.87.0/24 DIR2 ALL 62.64.88.0/21 DIR2 ALL 62.64.96.0/21 DIR2 ... ALL 217.198.132.0/22 DIR2 ALL 217.198.140.0/22 DIR2 ALL 217.199.224.0/20 DIR2 # Internet ALL 0.0.0.0/0 DIR3 ICMP 0.0.0.0/0 DIR3 для всех - полный инпут и ыорвард, для UA-IX только по таблице UA-IX всё просто, но через ЖЖЖ. Link to post Share on other sites
Den_LocalNet 1,472 Posted 2005-02-08 22:11:01 Share Posted 2005-02-08 22:11:01 Я всё же не пойму..... судя вашим коментариям "всё просто, но через ЖЖЖ" складывается впечатление что вам нужен дистрибутив ОС который бы отвечал таким требованиям: 1. установка: а. вставить диск б. нажать "Установить" 2. Настройка: а. После установки на экране должна быть одна большая кнопка "НАСТРОИТЬ СЕРВЕР" б. при нажатии кнопки происходит настройка интуитивно по принципу "не через ЖЖЖ" 3. Дополнительные требования: а. Биллинг который может всё и что бы не приходилось grep'ать тариф. б. что бы ничего не надо было делать дополнительно (опять же потому что это будет "через ЖЖЖ") Объясните мне плиз почему почти всё что вам предлагают вы говорите что это через ЖЖЖ ? Link to post Share on other sites
XoRe 0 Posted 2005-02-09 02:43:14 Share Posted 2005-02-09 02:43:14 Имхо, когда человек ленится что-то сделать, то пытается представить это себе и окружающим, что это "через ЖЖЖ", есть пути полегче и вообще, пускай это делают другие, а не он =)) Link to post Share on other sites
nn 7 Posted 2005-02-09 07:43:29 Share Posted 2005-02-09 07:43:29 Den_LocalNet Предлагает просто рациональный путь, потому что мыслит рационально и тут я его полностью поддерживаю. А именно минимальными усилиями решить задачу быстро и без порождения проблем и забот. Я бы тоже ввел просто новый тариф, пусть даже с такими же цифрами, но с другим названием. И по этому приципу разруливал. Можно вообще поставить тариф напрвления УА в СТГ - 0 и нет денег - не лезь забугор, Украина есть. Правда при 0 денег не пройдет и Украина, пусть юзер следит, чтобы не 0 был. Удобство переключения гарантированно - конфигуратором за пару секуднд. Если ставить где-то каке-то доп. поля, то их надо будет править вручную. Link to post Share on other sites
Doozer 0 Posted 2005-02-10 15:53:52 Author Share Posted 2005-02-10 15:53:52 Уффф... ладно. забили на тему. Т.к. тут уже не решение проблеммы пошло, а попытки мерятся что круче и ольше руками накатает сриптов, сырцов и т.д. (чёжж вы, ув. Den_LocalNet не катаете сырцы линуха/юниха...) просто суть в том, чтобы всё зделать на автопилоте, и доверить добавление, слежение изменение юзеров человеку, без лазанья в шелл. ...тем более что это надо не мне, а посторонним людям. благо я давно перевёл свою сетку в автопилот. и стг пашет как часики. Link to post Share on other sites
Max 0 Posted 2005-02-10 16:27:36 Share Posted 2005-02-10 16:27:36 Кстати насчёт разделения, я предлагаю Борису продублировать все данные как тариф, направления подсчёта, для пользователя, тоесть по анологии apache всем известного сервера, тоесть есть голобальные установки на уровне сервера, а есть установки на уровне пользователя, тоеть в его конфиге, в конфигураторе это можно реализовать скажем флагом в настройках пользователя: "использовать локальные настройки пользователя" и при установлении этого флага глобальные настройки для этого пользователя отменяются. Вот как идея? Link to post Share on other sites
Den_LocalNet 1,472 Posted 2005-02-10 21:09:13 Share Posted 2005-02-10 21:09:13 2Doozer: Я думаю вы мыслите немного в духе "Виндовс". Т.е. вам нужны галочки и т.п. прелести gui. Чем привлекателен (хотя бы лично мне) мир юникс систем - это гибкость... А эта гибкость и заключается в использвании как минимум джентельменского набора grep, awk, sed и т.п. ИМХО если под виндаме в софт не вложили галочку - то зачастую вы попадаете в ситуацию с которой можно лишь смерится...... Link to post Share on other sites
nn 7 Posted 2005-02-10 22:27:41 Share Posted 2005-02-10 22:27:41 2Doozer Вот если внимательно вчитаться в преддожение сделать тариф с ценой 0 такого-то направления, то как раз юзер-счетовод конфигуратором СТГ-шным из-под мастдайки мог бы хоть 10 раз на день менять политику партии. Но разок все-таки настроить придется админу, без этого никак. А банальный спор что лучше Уних или мастдайка предлагаю прекратить. 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