Перейти к содержимому
Калькуляторы

FreeRADIUS + Oracle

Кто-нибудь использовал FreeRADIUS с БД Oracle? Не поделитесь конфигурацией (схемой и SQL-запросами)?

А то в исходном состоянии он совершенно неработоспособен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Исходное кривоватое и для Oracle не самое оптимальное.

Насчет «совершенно неработоспособен» я погорячился, но когда логи просматриваешь, просто руки чешутся в порядок привести.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну, для начала я бы убрал нафиг триггеры и sequence (вы ведь не занимаетесь некрофилией с 11 версией?) и заменил все колонки ID в CREATE TABLE на что-то вроде:

 

id INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)

 

(да, в 12 версии Oracle набралась мужества скопировать IDENTITY, которое у MSSQL было еще в 2000). PRIMARY KEY для ID указывать в таком случае не надо - автоматом им станет.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня Oracle 10g, но я вообще не об этом.

Я про то, что для числовых столбцов FreeRADIUS подставляет '0' вместо 0.

Или использует TO_TIMESTAMP('%S','YYYY-MM-DDHH24:MI:SS') — хотя между DD и HH24 нужен пробел, а в конце нужен и часовой пояс.

Или что вообще используется to_date/to_timestamp вместо литералов (например DATE'2019-07-01').

Или страшные индексы.

Или странные типы данных (varchar вместо varchar2 или int вместо number).

Или нестыкующиеся размерности полей (в одной таблице у username длина 64 символа, в другой таблице 30 символов, в третьей 32 символа).

На этом фоне sequence и триггеры это мелочь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 минуты назад, alibek сказал:

У меня Oracle 10g, но я вообще не об этом.

Ну это печально, EOS с 2010 года. Там из актуальных ништяков только онлайн-реиндексация, и то работала плёхо (надо было после нее ручками зачищать отходы жизнедеятельности). 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так мне и не нужны особо новые фичи.

То что я перечислил — это не какой-то особо сложный тюнинг, а просто неаккуратность и неряшливость.

Причем неаккуратность универсальная, '0' вместо 0 вообще с диалектом БД не связан, это везде косяк.

Или такой фрагмент:

AcctSessionTime = round((TO_DATE('%S','yyyy-mm-dd hh24:mi:ss') - \
  TO_DATE(TO_CHAR(acctstarttime, 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss'))*86400)

Его даже на слабое знание особенностей Oracle не спишешь, оно на логическом уровне ущербное, иначе не понять, зачем дату нужно перегонять в строку, а затем снова в дату.

 

41 минуту назад, jffulcrum сказал:

в 12 версии Oracle набралась мужества скопировать IDENTITY, которое у MSSQL было еще в 2000

Если уж холиварить, то sequence гораздо универсальнее и удобнее, чем identity.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вы не поверите, но sequence в итоге и создастся для указанного формата INDENTITY как скрытый объект БД, просто его больше не надо руками создавать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может быть, я Oracle других версий не пользовался.

Но это к теме не относится, как раз sequence в исходной схеме мне не мешают и к ним у меня претензий нет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я правильно понимаю, что у вас биллинг на оракл? Не гидра, случайно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, Гидра меня разочаровала.

У нас Билл-Мастер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А зачем Вам тогда freeradius?, если не секрет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поэкспериментировать. Может быть использовать как аварийный байпас-радиус в случае остановки или поломки биллинга, чтобы абоненты все равно получали сервисы. Или для каких-нибудь других сервисов, где нужен RADIUS (хотспот, igmp auth и т.д.).

Но первопричиной было то, что хотим перейти с Ericsson SE100 на СКАТ (в качестве BRAS). СКАТ не умеет управлять адресным пространством (выделять IP-адреса из пула), полагаясь в этом на биллинг, а в биллинге у нас это не реализовано (это дополнительная лицензируемая фича в составе OSS, поэтому мы просто отдаем имя пула адресов, а SE100 сам распределяет адреса из этого пула). Малой кровью этот вопрос можно решить, используя прокладку-прокси (она будет добавлять в ответ Framed-IP-Address), а доступ к БД нужен, чтобы не городить костыли с синхронизацией конфигурации и некоторых параметров, назначенных абоненту в биллинге.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

26 минут назад, alibek сказал:

Может быть использовать как аварийный байпас-радиус в случае остановки или поломки биллинга, чтобы абоненты все равно получали сервисы.

Такой функционал у Билл-Мастер есть :)

 

27 минут назад, alibek сказал:

хотим перейти с Ericsson SE100 на СКАТ (в качестве BRAS).

Напрасно.....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 минут назад, NewUse сказал:

Такой функционал у Билл-Мастер есть

Ну он там не автоматический, в такой режим его переключать нужно вручную.

К тому же он в аварийном режиме всем клиентам дает один и тот же сервис, вообще никак не взаимодействуя с БД.

А на самодельном можно использовать данные из БД (тарифы, выделенные IP-адреса и т.д.).

 

7 минут назад, NewUse сказал:

Напрасно.....

Уж очень заманчиво выглядит, к тому же позволяет использовать существующий биллинг.

В любом случае все необходимое для теста есть и проверить будет интересно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 минуты назад, alibek сказал:

Ну он там не автоматический, в такой режим его переключать нужно вручную.

К тому же он в аварийном режиме всем клиентам дает один и тот же сервис, вообще никак не взаимодействуя с БД.

А на самодельном можно использовать данные из БД (тарифы, выделенные IP-адреса и т.д.).

Этот режим специально для случая, если БД полетела, именно по этому он с ней и не взаимодействует :)

Ну и по скольку БД летит не часто, делать переход в него автоматическим, по меньшей мере странно, хотя, возможно, это реализовано, надо спрашивать разрабов....

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всякое бывает, например БД работает нормально, а проблема именно с сервером, на котором работает АСР.

Или нужно перегрузить сервер с АСР, в этом случае байпас поможет это сделать малозаметно для пользователей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 часов назад, alibek сказал:

Или нужно перегрузить сервер с АСР

не используйте эту порочную практику, Linux, это не винда перезагрузок не требует, почти. аптайм по 10 лет это хорошая практика...

 

15 часов назад, alibek сказал:

Или нужно перегрузить сервер с АСР, в этом случае байпас поможет это сделать малозаметно для пользователей. 

Ну перезагрузка и так проходит малозаметно, ибо не идёт только авторизация, ну пусть 10 минут, но работающие пользователи продолжают работать....

 

С тестами -- удачи, поделитесь, потом результатами, научился ли фриирадиус нормально с пулами работать....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.