Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Отчет: OS/2 совместимое оборудование
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

 

Доступ к 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 и есть скрипт который определяет кому можно, а кому нельзя в инет.

В скрипте надо указать пути к файлам:

  1. с лимитами (limits) - по умолчанию лежат в подкаталоге etc
  2. с паролями (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 и читать лог.

Попробуй программу:

WarpOverlay! - видео-оверлей для видеоадаптеров, выпускавшихся до 2006 года.

Комментарии:

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. При том, что он работает быстрее сквида.

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


Книги про eComStation и OS/2 Warp: для чайников, разработчиков и специалистов. Списки здесь

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 





Последний активный опрос: Какая высота барьера RPM?

IBM OS/2 Warp

 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2014 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: