|
Обновите ArcaOS до уровня NeoWPS
- Установите набор PNG иконок, нарисованных дизайнером, специализирующемся на оформлении OS/2
- Установите eSchemes 2018, чтобы менять цвета и кнопки на рабочем столе
|
Доступ к HTTP с паролем и контролем объема трафика |
TITLE: Доступ к HTTP с паролем и контролем объема трафика
DATE: 2003-04-23 10:21:16
AUTHOR: Vladimir Solovyov
Список решений, основанных на eComStation и OS/2
Эксперимент проводился в маленькой конторе
(5 человек, 4 компьютера), которая занимается продажей компьютеров.
Была поставлена задача обеспечить всех доступом к http.
Почта пока актуальна только одному человеку, поэтому устанавливать свой почтовый сервер не стали.
Была взята первая попавшаяся под руку машина (ICel 1200, Gigabyte 6oxt, 128МБ ОЗУ)
и на нее установлена OS/2 ACP2 (не забудьте заменить ibms506.add на danis506).
Сетевая карта Compex RE100ATX/WOL. Для успешной установки
понадобилось подправить re100.nif:
[RE100TX]
Type = NDIS
Title = "RE100ATX PCI Fast Ethernet Adapter"
Version = 3.01
DriverName = RE100$
XPORTS = NETBEUI LANDD
[File]
Name = RE100.OS2
Path = IBMCOM\MACS
[MEDIUM]
display = "Medium Type"
type = string
strlength = 10
set=AUTO,10HALF,10FULL,100HALF,100FULL
optional = yes
default=AUTO
Help = "This keyword support Medium to force Speed/Duplex Mode of
this adapter card. The strings of this parameter is 'AUTO',
'10Half','10Full','100Half','100Full'"
Кроме того, был куплен внешний ISDN модем Aethra NT-IP, подключаемый через COM-порт.
Т.к. использовалась только одна линия (64кбит), то проблемы со скоростью порта
не было. В качестве звонилки был взят injoy 3.0 beta (ключ дают там же).
На сервере был настроен DHCP сервер, локальный DNS.
Для раздачи http был поставлен Squid 2.5 от Евгения Коцюбы.
Вот его примерные настройки -- squid.conf
В качестве редиректора (обрезалка рекламы) сначала был выбран SQDR, но не понравился
по причине странной падучести. Потому был заменен на Jesred, который на #os2russian
мне дал banshee. Для анализа статистики Squid был взят SARG.
Потом возник вопрос - а как делить трафик ?
Каждому положено X мегабайт в месяц и не более.
Существует некий билинг под OS/2 авторства Zuko,
но мне его найти не удалось, в результате был создан механизм, который сейчас
отмеряет кто и сколько набегал через сквид и определяет, можно или нельзя
конкретному пользователю попользоваться сквидом.
Работает все это так - Squid первый раз спрашивает имя и пароль, а потом сам,
через определенные промежутки времени, авторизует пользователя с помощью программы
авторизации (пароль при этом больше у человека не справшивается).
# Проверять истечение доступа каждые 5 минут
authenticate_cache_garbage_interval 300 seconds
# Срок работы доступа - 5 мин
authenticate_ttl 300 seconds
Каталог со сквидом выглядит так:
etc [Folder]
jesred [Folder]
libexec [Folder]
logs [Folder]
SQDR [Folder]
swap [Folder]
var [Folder]
au cmd 6,525
jesred exe 21,085
sqdrserver exe 92,672
sqredir exe 59,904
squid2 exe 552,960
В squid.conf вставляется строка:
auth_param basic program c:\os2\cmd.exe /c au.cmd
Где au.cmd и есть скрипт который определяет кому можно, а кому нельзя в инет.
В скрипте надо указать пути к файлам:
- с лимитами (limits) - по умолчанию лежат в подкаталоге etc
- с паролями (passwd) - по умолчанию лежат в подкаталоге etc
Формат у них простой: имя значение
А теперь - как посчитать траффик пользователя ?
Этим занимается SARG. Он генерит html страничку и кучку текстовых файликов.
Из них нам нужен только один - top
В нем содержится информация о трафике:
msg 000000014203131 000000000003971 000000006465770 000000002859458 000000011343673
sven 000000011060914 000000000001321 000000013464240 000000001091751 000000009969163
Нам нужны первые два столбца.
SARG пускается warpcron'ом (шедулер такой)
каждые 10 минут и в каталоге, который указан SARG'у, оказываются нужные нам данные.
Полный путь к этому каталогу надо указать в скрипте:
SARGReport='C:\logs\sarg.temp'
Теперь дело в шляпе - у пользователя спрашивают пароль, проверяют объем выкачанного,
и соответственно определяют пускать пользователя в инет или нет.
У скрипта включен лог для проверки правильности работы, его можно выключить: log=0
Выглядит лог так:
22 Apr 2003-17:10:03
We receive the name: sven
... and password: 12345
C:\LOGS\SARG.TEMP\2003Apr01-2003Apr22\top
User: msg traffic: 000000014203131
User: sven traffic: 000000011084936
Enter SearchLimit
File with limits: ETC\LIMITS
READY:
Found string with limit for user: sven = 20M
Found limit: 20M for user: sven
Resulting limit 20971520
Access to Squid OK
*******************
We found name: sven
... with password: 12345
Для проверки правильности работы скрипт можно пускать и из командной строки,
вводить имя пользователя и пароль, разделенные пробелом, давить enter и читать лог.
Попробуй программу:
|
PMView работает у тебя уже несколько лет. Имеет смысл вознаградить разработчика полезной программы (+присылай предложения и баг-репорты).
|
Комментарии: Roman Popov 2003-04-23 13:27:18 | 4 компьютера - я бы вообще не заморачивался, так по башке бы дал. А вообще-то интересно. | Vladimir Solovyov 2003-04-23 17:38:21 | А какая разница 4 или 40. Нужно было решение. ПРишлось родить :) | Vladimir Solovyov 2003-04-23 17:41:43 | Это калька с механизма, который обеспечивает доступ в инет нескольким десяткам компов, но на линуксе | deep_blue 2003-04-23 17:47:12 | вот в статье указано, что пользуешься InJоy3.0 beta.
там тоже есть учет accounts .
не пробовал к ИнЖою такую штучку-ограничалку прилепить ?
логины и пароли юзеров - системные.
лимиты - какие укажешь.
а сравнение - из ИнЖоя ? | Vladimir Solovyov 2003-04-24 12:36:33 | У Injoy accounts я не смотрел, но предполагаю, что он будет по IP, а мне надо по человеку.
| zuko 2003-04-24 14:53:26 | Интересная статья :)
| Alexander Lapshin 2003-04-25 09:37:03 | Каждые 10мин лопатить логи.... А если логи очень большие, а если клиентов много (>100), а если ... Не учитывается SMTP, POP3, NEWS, и т.п. трафик. А по поводу SQUID'а, то мне кажется, что более интересным решением было бы поправить исходники самого SQUID'а и добавить к нему эту функциональность на уровне ACL'ек. | Vladimir Solovyov 2003-04-25 12:20:50 | Лопаченье лога занимает секунд 5-10. Это при том, что SARG не просто считает статистику, а еще и генерит кучу html и стоит hpfs.ifs. Samm вроде новый сделал, но толку пока нет. SARG должен, в идеале, генерить только один файл.
Все остальное по юзерам не учитывается, а только по IP. На это есть IPSPY и продукт на его основе, или сам injoy.
А функциональность на уровне acl - Это завязка на LS, коего у нас нет и нам он не нужен. LS - это мертвый продукт.
Единственно чего действительно не хватает - так это авторизации по самбе, стоящей рядом на линуксе. Вот если был протезик для этого, то было бы здорово | gerash (Gennady Rashkovich) 2003-04-29 11:12:29 | Пионерское решение :-)
1) Для 4-х компов не нужен большой и могучий :) squid, вполне хватило бы smartcache на java. В более общем случае неплохо проксит и кэшит Apache/IBM. Squid нужен разве что на провайдерском уровне...
2) Учёт и анализ траффика - TVisor+IPSpy. Авторизация|учет _только_ HTTP|Обрезка рекламы - те же sCache либо apache...
3) Если чуть-чуть разориться и взять SafeFire вместо InJoy - будет и учет, и шейпер, и много-много полезного...
4) Опять же вместо WarpCron простенький REXX-скрипт, да хоть с хоббеса...
5) "LS - это мертвый продукт. Единственно чего действительно не хватает - так это авторизации по самбе, стоящей рядом на линуксе." - ЭТО ВООБЩЕ ХИТ СЕЗОНА!!! Живая самба и мёртвый LS - это от души!
Итого: у меня подобные задачи (только + полный набор сервисов - NAT,http,proxy,ftp,smtp,pop3,nntp,nfs,socks 4/5,DNS+DHCP на 3 домена, , куча мелочей (telnet, ssh, time, finger, ident) на 45-50 клиентов + LS+RIPL крутится на Celeron333/RAM128, и это еще моя рабочая машинка.
| Vladimir Solovyov 2003-04-30 11:56:46 | Ага, кривой smartcache, который у меня нормально работать не хотел никогда, может и справится, но его доки еще надо читать. Потом где еще кроме os/2 он встретится ? Про то где можно найти Squid вопросы не возникают.
А применение apache не по прямому назначению уже обсуждалась и нормальным решением не является. Пусть апач апачит.
Разоряться никто не будет. injoy всех устраивает. Статистика по IP у него есть.
"Каждый осевик должен написать свой крон на REXX...". Да-да, где-то я уже это слышал.
LS - это труп. За подробностями к Alex-G на канале os2russian. Мне пожалуйста домен для win2000 на LS изобразите. Когда сможете полноценно это сделать, то у e-co появится еще одна статья
| Serguei Trouchelle 2003-05-26 13:29:32 | SCache встретится везде, где есть Java Runtime. Например, под Windows или Linux. При том, что он работает быстрее сквида. |
Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).
|
eComStation 2.0: все фиксы от корпорации IBM + настройки всех системных служб и драйверов оптимизированы, Что нового в eCS 2.0? |
|
|
|
Готовая eComStation на SSD диске
Последний активный опрос: Какая высота барьера RPM?
[Google]
|
IBM OS/2 Warp
|