ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: Inet-Admins
Inet-Admins mailing list archive (inet-admins@info.east.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [inet-admins] =?KOI8-R?Q?=D3=C5=D2=D4=C9=C6=C9=CB=C1=C3=C9=D1?= =?KOI8-R?Q?_=C2=C9=CC=CC=C9=CE=C7=CF=D7=CF=CA?= =?KOI8-R?Q?_=D3=C9=D3=D4=C5=CD=D9?=



> >   Что есть? Как работает? Ты так и не ответил как оно работает без Oracle.
> > Отвергает всех вызывая шквал звонков на support? Или пускает всех не взирая
> > на остатки?  (demo login -> DoS-to-billing ->free login)
> Хммм... Почему "без"? А где он в это время шляется? Ж;-))

  С ним что-нибудь делают.

> У вас что, так часто оракл лежит?

  Не часто, но бывает. Жизнь неидеальна. Вот недавно добавляли диски и 
пересобирали RAID. Год назад ставили доп. контроллер. Летом навернулся 
кондиционер, проклятый sun перегрелся и встал. Еще бывают свичи, фаоеволы
и каналы по дороге. Их тоже нужно обслуживать и с ними тоже могут быть
проблемы.

  Но все это не влияет на авторизацию. Вот если ее нет, то это просто
пи$#@$. Телефон саппорта раскаляется. Ужас первых лет существования не 
отпускает меня уже 3-й год :-)

> Пускает невзирая на остатки, ну еще можно по желанию таймаут на всех поставить.

  Ага, значит мой алгоритм с DoS должен работать.

> (Хотя, кажеться сейчас с этим опс случился - пулы IP-addr то-же в оракле....)

  Круто. Маньяки ораклофилы совсем озверели. Кудаж пулы-то....  Т.е.
все-таки вариант первый - всех юзеров нафиг, пусть support отдувается под 
лозунгом "через 15 минут".

> Потом идет постпроцессинг и списываются деньги израсходованные в отсутствии оракла.
> Только вот оракл отсутствует крайне редко....

  Из последних анектодов:
  "Фирма APC гарантирует 99.9% надежности своего обурудования. Это значит,
что в течении года Ваши компьютеры будут простаивать менее 8 часов 45 минут.
Много это или мало - судить Вам"

  Так вот крайне редко - это сколько? Там уже в ru.internet народ задавался
вопросами пусков нахаляву и наоборот.

> >   И что ты все-таки делаешь в случае перерасхода денег?
> Блокирую доступ на логин до положительного баланса.

  Это понятно. Что ты делаешь с вопросами - "я этого не хотел" и "Вы
неправильно выставили счет-фактуру".  Если ничего, то нафига эти попытки
тормознуть счет сразу? Ну тормознется он не на 0, а на -$0.2, и что?

> 
> > > А у вас, если я правильно понял получается дырка - просидел свои денюшки единой сесией,
> > > тебя кошка скинула, тут-же перезвонил и просидел еще такой-же срок. Так?
> >   Не так. Просидеть можно не более 5 мин. - скинет по SNMP. 10-15 центов.
> Ой-ой и груда висячих модемов.... Хммм.... Ню-ню... Ж;-))

  С чего бы это? Или это на USR/3COM? На cisco все хорошо.

> Чего-то я все-таки недопонимаю в логике вашего сервера....
> Пройдемся еще раз?

  Ok.  Есть два сервера авторизации (можно больше). Они резервируют друг
друга и балансируют нагрузку. Ряд кисок имеют первым одного, остальные
другого. Очевидно, что если делать (иметь) филиалы, то там можно поставить
отдельную пару таких серверов.

  Каждый сервер выдает собственный пул IP адресов, и пытается хранить адрес 
для логина как можно дольше. У сервера есть своя структура в виде .db
(indexed by login), где описаны все нужные параметры типа
password,enable,group,seconds_left,fix_ip,routing.

  .db вещь старинная. Если бы делал сегодня, то пошел бы по Бутенковскому
пути с text file cached in memory. Но вобщем разница невелика. Главное -
все просто и без базы.

  Есть сервер статистики, который собирает эккаунтинг и раскидывает
сигналы на смену состояний.

  Есть тарификатор, который из секунд сессии вычисляет расход предоплаченных
часов и денег, с учетом разных тарифов, в т.ч. по времени суток, выходным и
праздникам.

  Есть обратный тарификатор, который делает то-же самое но в другую сторону,
опять-же с учетом всех планов и тарифов. Сделан для VoIP и сейчас не
используется.

> ===
> На аутентификацию / авторизацию логина выдается таймаут лежащий в базе.
> (без учета тарифных планов, одновременной работы второго сервиса и т.д.)
> Т.е. просто цифра - секунд.

  Нет. Такая цифра ставиться только на контракты с фиксированными часами
типа Tiny. На обычной повремянке этого нет, т.е. пускаем пока не disable.

> 
> По приходу акаунтинга он сваливается в очередь / кучу, откуда гребется раз в 5-10 минут.

  Он пишеться в стандартные tacacs/radius логи, откуда гребется практически
непрерывно и вкачивается в базу. Заметим, что гребется с нескольких
серверов. Заметим, что вкачивалку из любого лога можно написать за
10 мин.

> 
> на разборе акаунтинга списываются деньги (и / или время?) с ЛС / логина.

  Да. С ЛС.

> 
> Если время / деньги = 0 ?, то ищем логин на пулах и дропаем его по SNMP?

  Если биллинг решил, что пора закрывать ("время / деньги = 0" - слишком
большое упрощение), то мы посылаем сигнал на сервера авторизации, что
set disable.

  Паралельно работает некая тулза, которая обходит по SNMP все пулы, 
изучает вопрос двойных заходов (каждый сервер авторизации обеспечивает один
заход только внутри себя), лечит нарушителей сначала почтой, а потом
закрытием, и сносит тех кому сейчас не положено работать. Плюс делает
еще кое-какие полезные вещи.

  Сшибалка - вещь сколь странная, столько и полезная. Это плата за 
слабосвязанные сервера авторизации. Заметим, что distributed решение 
от Cisco (Secure Server) стоит $32k.

> 
> Сценарий:
> ===
> Зашел логин с 18$ ==10 часами повремянки.
> Отсидел 9 часов, вышел и тут-же (30 сек)  зашел.
> ===
> 
> Вопрос: сколько времени просидит этот логин после второго захода?
> 1) 10 часов
> 2) 1 час
> Если 2, то по каким тех. критериям?

  Запуск прямого тарификатора для online логина и вычисление что пора сшибить.

> Кстати если границы тарифных планов не учитываются при выставлении таймаута,
> то надо думать таймаут выставляется по текущему тарифу? Т.е пользователь зашедший
> за 5 минут до окончания ночного тарифа ( /2 от дневного ) получит таймаут от ночного
> тарифа и будет работать днем?

  Вобщем я не понял вопроса, но как прямой, так и обратный тарификатор велик
и могуч. Нужно только не полениться и вынести его из oracle (ораклофилы и у
нас сильны :-) плюс вбить всенародные праздники.

> И еще пара вопросиков -
> Я так понял, что деньги у вас в оракле, а на ААА сервера грузяться плейн-текст
> файлы с пользовательскими записями?

  Удаленному брокеру передается 1 запись, чтобы он ее применил по назначению.

> И как передается таймаут?

  В составе записи. Для определенных контрактов. 


  Основная задача - обеспечить авторизацию при любых авариях. В том числе
при падении всех каналов, свичей, фареволов, санов и ораклов. Одинокий
сервер авторизации работать не может. Не бывает чудес. И сколь не
соблазнителен был этот путь, мы всегда старались уйти от него, пусть
более сложными/громоздкими/неизячными решениями. Нам не шашечки, нам ехать.
Делали для себя, чтобы спать спокойно по ночам.

  Обратный тарификатор безусловно нужен. Но пускать его нужно не на 
центральном сервере, который стоит в оффисе за семью печатями и фареволами, 
а в составе удаленного сервера авторизации. Скорее всего мы так 
и сделаем для поддержки VoIP. Не нужен orcale для линейного алгоритма
и одной таблицы. Бутенко со своим CGP это убедительно показал.

  А репликации - вопрос другой. Ну есть они, есть. Две разные, самописанные, 
старая на ssh и новая корбоподобная. 

  Сейчас смотрим на натуральную CORBA & LDAP. Там вроде мейнстрим 
нынче пролегает. Нужно соответсвовать.

Boris.
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html



 




Copyright © Lexa Software, 1996-2009.