Страница 1 из 3

Халява, плиз. Или снова о Сквиде и Новеле.

СообщениеДобавлено: 20 мар 2003, 17:46
Sergey P. Vazulia aka qu
Как я пытался авторизовать пользователей Squid'a c помощью серверов Novell
и что из этого вышло.

1. Что необходимо.

Компьютер с ОС Linux, на котором будет работать squid. Сервера Novell
Netware. Время. Руки. Мозги.
Для кэширующего прокси-сервера я использую Compaq Proliant 2500 с двумя
процессорами PPro 200мгц, 768мб памяти, 27гб RAID-5 (в общем, что под руку
попало). Такой машинки вполне хватает что бы обеспечивать интернетом маленькую
компанию, ежемесячно выкачивающую более 100гб траффика и еще остается
(загрузка около 10%). ОС - линукс Slackware, Gentoo, (далее по вкусу).
Вообще-то у меня много серверов Novell, но годятся только версии 5 или 5.1
(6-ки у меня нет) - мы же не хотим использовать IPX? Впрочем и с IPX все
работает. Даже на 4.х и 3.х . Говорят что годятся 4-ки с Netware-IP но у меня
этого зверя нет.

2. Подготовка.

На прокси-сервер устанавливаем, если там еще нет, пакет pam. Собираем
squid с поддержкой pam. Нам нужен squid-2.5STABLE1 или более свежий. Собираем
пакет ncpfs-2.2.3 (или более свежий) c опциями "--enable-pam --disable-ipx-tools
--disable-ipx". Пересобираем ядро с поддержкой ncpfs (а это зачем?).

3. Настройка.

В squid.conf добавляем:

auth_param basic program /path/to/pam_auth # мы используем модуль pam-аутенификации
auth_param basic children 5 # сколько их будет работать, однако 5 мне мало
auth_param basic realm Squid proxy-caching web server # как squid будет представляться при запросе пароля
auth_param basic credentialsttl 2 hours # без комментариев (потом в доках посмотрю)

Там же еще нужен acl, который бы сказал squid'у у кого собственно
спрашивать пароли. Надеюсь до этих изменений squid работал?
Правим /etc/pam.d/squid (или где он там):

auth required /lib/security/pam_ncp_auth.so ndsserver=SERVERNAME
session required /lib/security/pam_ncp_auth.so

Проверяем что ip адрес сервера SERVERNAME прописан в DNS или /etc/hosts.
SLP не работает, по крайней мере с текущими версиями программ. Любителям
файрволов: нам нужен доступ с прокси-сервера к серверу(ам) Netware по портам
524/tcp и 524/udp.
Убеждаемся, что [public] имеет права {browse, compare} по всему дереву
или нужной его части. Все.

4. Проверка.

Все должно уже работать, но на всякий случай:
Запускаем с консоли pam_auth, вводим через пробел имя пользователя (без
контекста!) и пароль. Желательно что бы это было имя и пароль самого главного
админа и побольше пользователей вокруг монитора собрать! В ответ нам должны
сказать OK. Если нет, добавляем в /etc/pam.d/squid опцию -d и после очередного
эксперимента внимательно изучаем логи.
После этого можно запускать squid и проверять все целиком.

5. Маленькие хитрости.

При этих настройках пользователям squid'а совсем не обязаиельно иметь
учетные записи в линуксе, достаточно быть зарегистрированными в NDS.
С пакетом ncpfs поставляются плагины для nwadmin'а. Здесь они нам не нужны.
Squid будет пускать всех, кто сможет зарегистрироваться в NDS. Если
надо пускать только избранных то создаем группу, например Squid.Orgunit.Org,
назначаем членами группы только тех, кому нужен интернет, и редактируем
/etc/pam.d/squid:

auth required /lib/security/pam_ncp_auth.so ndsserver=SERVERNAME/Squid.Orgunit.Org

Имя группы надо указать целиком, вместе с контекстом. Проверяем, что сервера,
которые будут авторизовать пользователей имеют реплику (без группы это было
необязательно, хватало и Subordinare Reference или как ее там).
Поскольку разрешение имени сервера происходит с помощью DNS, то можно
распределить нагрузку на несколько серверов прописав в DNS несколько
ip-адресов на SERVERNAME (SERVERNAME может не быть реальным именем сервера).

6. Удивительное рядом.

Выкинул поддержку ncpfs из ядра - все работает.

7. О грустном.

Данное решение совершенно бесплатно. И не ест лицензий. Что не идет на
пользу фирме Novell. Но уговорить начальство заплатить 30000 баксов за
лицензии BorderManager'а я никак не могу. И в итоге все катится в ...M$.

Re: Халява, плиз. Или снова о Сквиде и Новеле.

СообщениеДобавлено: 20 мар 2003, 20:59
alexp_mac
Данное решение совершенно бесплатно. И не ест лицензий. Что не идет на
пользу фирме Novell. Но уговорить начальство заплатить 30000 баксов за
лицензии BorderManager'а я никак не могу. И в итоге все катится в ...M$.[/quote]


А вот интересно, как будет решение от m$ работать при аналогичных условиях? (тот-же сервер, тот-же канал и пр). Рассказывали мне тут про "прелести" isa сервера. Вот интересно, поставить isa на 100 мегабитный канал в интернет, сделать ему кеш 20 гигабайт, и посмотреть что будет...Бордер то работает и не жужжит.

А начальство, оно все одинаковое, только вот надо милион раз объяснять им что дешево хорошо не бывает, типа "вам как запорожец за $120000 или мерс за $120001? Бакс экономии оборачивается потерей тысяч долларов.
Тебе остается только "иметь" начальству мозги. Сочувствую.

СообщениеДобавлено: 21 мар 2003, 09:05
Владимир Никитин
А как это смотриться со стороны клиента ?
Он вводит user/pass ?
Что пишется а access.log ?

СообщениеДобавлено: 21 мар 2003, 11:42
Квашук aka Novell_maNiac!
В данной ситуации я порекомендовал бы решение на базе Volera Excelerator ... там лицензирование по объему памяти + аутификаци я в чем угодно ... единственный минус втом что ограничение трафика пользователей возможно только с пощью автоматических закрывалок типа сурф контрола ...

хм.., полной халявы не получилось.

СообщениеДобавлено: 21 мар 2003, 14:19
Sergey P. Vazulia aka qu
Владимир Никитин писал(а):А как это смотриться со стороны клиента ?
Он вводит user/pass ?
Что пишется а access.log ?

все как при обычной авторизации. имя/пароль без контекстов.

П.С. похоже полной халявы не будет - серверные лицензии отъедаются. Аминь.

СообщениеДобавлено: 21 мар 2003, 14:59
Константин Ошмян
похоже полной халявы не будет - серверные лицензии отъедаются. Аминь.
Можно подробнее - кем отъедаются, в каком количестве и на как долго?

СообщениеДобавлено: 21 мар 2003, 15:29
Михаил Григорьев
Кстате коллеги... вы вкурсе что Novell BorderManager уделывает squid....

Я от такой новости просто взбодрился.. :roll: :) :D

Я давно это говорил...

СообщениеДобавлено: 21 мар 2003, 18:10
Андрей Фисенко
Григорьев Михаил писал(а):Кстате коллеги... вы вкурсе что Novell BorderManager уделывает squid....


2Sergey P. Vazulia aka qu вот-вот... 1 лицензия на нетварь стоит $184? а на бордюр $40... Вот вам и экономия.

СообщениеДобавлено: 22 мар 2003, 01:50
Sergey P. Vazulia aka qu
Григорьев Михаил писал(а):Кстате коллеги... вы вкурсе что Novell BorderManager уделывает squid....

Я от такой новости просто взбодрился.. :roll: :) :D

А подробне?

П.С. по теме: лицензии отъедаются, но немного. НЕ больше чем запущено аутенификаторов (во, слово то какое). И конешно меньше чем реальных юзеров.

СообщениеДобавлено: 22 мар 2003, 09:30
Михаил Григорьев
Данную новость сказал мне один знакомый FreeBSD'шник... Никак не ожидал что такое скажет именно он...
Подкрепить данное событие писменно пока не могу... Как найду доказательства так скажу...

Ну а по какому критерию обогнал... ну это понятно: по количеству обрабатываемых запросов и по быстроте их обработки... это пожалуй единственные важные для прокси критерии...

СообщениеДобавлено: 22 мар 2003, 11:39
Андрей Тр. aka RH
Большое спасибо Sergey P. Vazulia aka qu за интересную информацию ( с конкретными примерами что и как делалось ). Насколько я знаю, тема интересует многих - и не только как альтернатива Бордеру. В том или ином виде UNIX ( Linux ) довольно распространен, как и Сквид ( в т.ч. есть и люди, все это поддерживающие ). Новелл продвигает eDirectory как средство построения и управления гетерогенными сетями, так что не вижу тут противоречия .. подходом "у нас есть все, что вам нужно, и оно самое лучшее" известна как раз другая компания.

Возможно, Сквид и не самый быстрый прокси по "количеству обрабатываемых запросов и по быстроте их обработки" ( впрочем, никто пока ссылок на подобную инфу - тестирование различных прокси - здесь не привел; плюс есть и другие параметры - собственно эффективность механизма кэширования, например ). Но для многих организаций ( в т.ч. и сетей подразделений, скажем ) не так уж и важно, сколько десятков тысяч запросов в секунду способен обработать прокси - реально их количество исчисляется, к примеру, сотнями, а прокси используется в сочетании с NAT'ом в т.ч. и для управления доступом к Интернету ( а не только для кэширования контента ).

Глупый вопрос по теме - так на Линукс eDirectory при этом ставилась или нет ?

СообщениеДобавлено: 22 мар 2003, 15:25
Юрий Бондаренко
Cпособ 1:
(не изящный, но работает и не глючит )

ставим на Linux (по инструкции RedHat 7.2 мли 7.3) eDir
в его составе идет утилита ndslogin которая вызывается из зацикленного перловского скрипта и авторизирует пользователей в NDS, притом, что характерно на любых серверах с поднятым IP.

А лицензию к eDir Novell раздает бесплатно как раз для таких целей.
Утилита предназначена для проверки соединений, поэтому проверив есть ли такой-то пользователь с таким-то паролем, она возвращает 0 или 1, и лицензий не занимает. К сожалению сведений о пользователе она больше никаких не передает, но создав контейнер и поместив туда алиасы на только тех пользователей, которым разрешен выход в инет 1 правило получим, а остальные задаем в SQUID с версии 2.5-STABILE2 во все ACL можно пихать имя авторизированного пользователя.
У меня на нем заодно NIMS крутится, а так для экономии оперативки NDSD можно не загружать, авторизировать пользователей на удаленном сервере.



Способ 2.
( в стадии эксперементов)

Пересобирается родной сквидовый pam_ldap но только с библиотеками раздоваемыми Novell( хотя они и декларируют полную совместимость с OpenLdap у меня не получилось) и работает авторизация через LDAP
Только никак не смог пока прикрутить удаленный список ACL

СообщениеДобавлено: 24 мар 2003, 11:50
Sergey P. Vazulia aka qu
Андрей Тр. aka RH писал(а):Возможно, Сквид и не самый быстрый прокси по "количеству обрабатываемых запросов и по быстроте их обработки" ( впрочем, никто пока ссылок на подобную инфу - тестирование различных прокси - здесь не привел; плюс есть и другие параметры - собственно эффективность механизма кэширования, например ). Но для многих организаций ( в т.ч. и сетей подразделений, скажем ) не так уж и важно, сколько десятков тысяч запросов в секунду способен обработать прокси - реально их количество исчисляется, к примеру, сотнями, а прокси используется в сочетании с NAT'ом в т.ч. и для управления доступом к Интернету ( а не только для кэширования контента ).

Глупый вопрос по теме - так на Линукс eDirectory при этом ставилась или нет ?


Нет eDir не ставилась. У меня пока большие проблемы с этим. Есть один суперкривой 5.0 который не могу переставить, поскольку его пользуют 7х24. По этой причине нет ни еДир ни ЛДАП. (хотя да ставил едир на линух и все работало).

По эффективности прокси: как я писал сквид на CPQ6500 PPro200mhz Х 2 c 765памяти и 27гб диск оптичивает 150 гб месячного трафика с эффективностью попадания в кэш 40% по запросам и 10% по байтам. Загрузка процов 10% в пике. до 2 000 000 запросов в день. Заодно работаем рутером.

СообщениеДобавлено: 24 мар 2003, 14:54
Михаил Григорьев
Sergey P. Vazulia aka qu писал(а):месячного трафика с эффективностью попадания в кэш 40% по запросам и 10% по байтам.


По эффективности попадания в кэш нельзя судить о производительности прокси... Это второстепенный параметр... :D

СообщениеДобавлено: 24 мар 2003, 17:36
Иван Левшин aka Ivan L.
Не согласен :) Потому как данные из кэша - бесплатные! За них платить не надо :)
А по скорости - ИМХО сквид пошустрее будет...