Radius + MySQL

123
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#11
kxk:
Romka_Kharkov, Postgres использовать непробовали ?

Вы поясните в чем его преимущество в сравнении с тем что есть, а то "пробовать" я и не буду .... мне решение надо подобрать , поясните чем он может помочь, тогда буду тратить время на "пробовать" , а то не сосем понятно как с переходом от одной базы к другой изменится суть проблемы.... будет у меня то же самое в другой базе лежать и че? Репликация у него есть? MultiMaster умеет?

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
D
На сайте с 11.05.2010
Offline
15
#12
Romka_Kharkov:
Игорь привет, ML тоже есть, но не думаю что это будет проблемой, хотя.....
Так а каким путем достигается хранение в разных базах? Radius то в две разные базы писать не умеет?

С стандартными настройками писать конечно же не умеет, но если постараться, то заставить можно.

Вариантов несколько:

1) задублировать модуль rlm_sql и заставить читать другой конфигурационный файл для sql настроек. И уже дублирующий модуль использовать под аккаунтинг или авторизацию

2) использовать для аккаунтинга или авторизации rlm_exec или rlm_perl, а для остального rlm_sql. Хотя rlm_perl будет жрать ресурсов много, при таком количестве клиентов.

3) свой модуль написать :)

С напильником и бубном (http://kaba.org.ua)
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#13
delicate:
С стандартными настройками писать конечно же не умеет, но если постараться, то заставить можно.
Вариантов несколько:
1) задублировать модуль rlm_sql и заставить читать другой конфигурационный файл для sql настроек. И уже дублирующий модуль использовать под аккаунтинг или авторизацию
2) использовать для аккаунтинга или авторизации rlm_exec или rlm_perl, а для остального rlm_sql. Хотя rlm_perl будет жрать ресурсов много, при таком количестве клиентов.
3) свой модуль написать :)

Ну вот я пункт 3 описывал в изначальном сообщении, но он меня как ты понимаешь не сильно вдохновляет :) (только обозвал я его неким врапером для разделения запросов) :D

Вот и делема стоит, во первых 7204 и 2k++ клиентов это уже само по себе проблема, но она пока не столь актуальна как проблема с базой, так что еще впереди предстоит серьезный разговор с Bell на тему отправки нам двух разных потоков в две разные железки или че-то в этом роде.... пока еще не знаю :) А вот вариант (1) выглядит приятно, надо будет посерчить на эту тему, спасибо. А если переехать на LDAP ? там вроде масштабируемость вменяемая есть.... ? или выйдет шило на мыло?

C2
На сайте с 14.07.2009
Offline
83
#14
А вот вариант (1) выглядит приятно, надо будет посерчить на эту тему

по идее там в raddb.conf что-то типо:


$INCLUDE ${confdir}/base1_sql.conf
$INCLUDE ${confdir}/base2_sql.conf

authorize {
preprocess
chap
mschap
# auth_log
files
base1_sql
}


accounting {
acct_unique
base2_sql
}

ну и base1_sql.conf к примеру такой:

sql base1_sql{

driver = "rlm_sql_mysql"
server = "localhost"
login = "radius"
password = "qwerty"
radius_db = "radius"
sqltrace = no
sqltracefile = /var/log/radius/sqltrace.sql
num_sql_socks = 5

sql_user_name = "%{User-Name}"

# запрос на авторизацию. Если запрос возвращает ничего RADIUS считает, что такого пользователя нет
# и отдает Auth-Reject
authorize_check_query = ""


# после успешной авторизации выполняется этот запрос который возвращает reply аттрибуты для пользователя.
# Они могут содержать лимиты для пользователя и сопутствующую информацию.
authorize_reply_query = ""

# запрос ведет запись alive пакетов сессии содержащих промежуточные значения использования ресурсов.

#
accounting_update_query = ""
accounting_start_query = ""
accounting_stop_query = ""



}
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#15

Леха +200!!! Уже читаю!!!!!

Romka_Kharkov добавил 23.02.2011 в 21:52

Аналоги просматриваются пока слабо, может версия старая , х3, нашел вот чего в документации:


# e.g. If you have two redundant SQL servers, and you want to
# use them in the authorize and accounting sections, you could
# place a "redundant" block in each section, containing the
# exact same text. Or, you could uncomment the following
# lines, and list "redundant_sql" in the authorize and
# accounting sections.
#
#redundant redundant_sql {
# sql1
# sql2
#}
C2
На сайте с 14.07.2009
Offline
83
#16
Romka_Kharkov:

Аналоги просматриваются пока слабо, может версия старая , х3

ну хз, это еще года 4 назад работало...

вот кстати с вики фрирадиуса:


Instances

Just like any other module, multiple instances of the rlm_sql module can be defined and used wherever you like.

The default .conf files for the different database types, contain 1 instance without a name like so:

sql {
...
}

You can create multiple named instances like so:

sql sql_instance1 {
...
}
sql sql_instance2 {
...
}

And then you can use a specific instance in radiusd.conf, like so:

authorize {
...
sql_instance1
...
}
accounting {
...
sql_instance1
sql_instance2
...
}

cyber2 добавил 23.02.2011 в 22:17

такие вещи лучше на nag.ru поспрашивать, тут аудитория немного другая...

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#17
cyber2:
такие вещи лучше на nag.ru поспрашивать, тут аудитория немного другая...

Аудитория аудиторией, но вот ты то нашелся и ответ реально нашел :)))) Так что не все потеряно среди сисадминов на SE.... Буду завтра на тестовом полигоне гонять это все дело. о результатах само собой отпишусь тут ..... Я посмотрел еще раз конфиги на трезвую, стало проще... А то тут уже NDB и Postgree предлагали, а решение то вот оно ... внутри радиуса, я как задом чуял что есть что-то похожее но или не верно искал или меня гугл не любит .... не знаю, то о чем ты пишешь не нашел.... кстати есть линки откуда инфа? или твои радиусы?

C2
На сайте с 14.07.2009
Offline
83
#18
кстати есть линки откуда инфа? или твои радиусы?

когда-то давным-давно были мои (вернее биллинг по мотивам Cake billing, откуда были взят принцип связки базы с фрирадиусом).

cyber2 добавил 23.02.2011 в 23:00

Ошибаешься, программисты "откачивают" из актуальной базы раз в неделю данные которые уже как бы не играют никакой роли и служат статистикой, т.е 6 GB это база приблизительно за 1-2 недели.. Да, там реально движение.

вот по этому поводу не уверен.

по-моему такой размер базы из-за того, что храняться за полмесяца alive-пакеты.

кому они нужны для авторизации, если сессия длится скажем сутки максимум (как это сделано на укртелекомах к примеру)...

D
На сайте с 11.05.2010
Offline
15
#19
cyber2:

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

1) alive-пакеты должны не хранится, а апдейтить start или stop сессию. Не думаю, что их там хранят отдельными записями в базе.

2) сессия при хорошем линке может длится и год :)

Romka_Kharkov LDAP - это зло, забудь про него :)

C2
На сайте с 14.07.2009
Offline
83
#20
alive-пакеты должны не хранится, а апдейтить start или stop сессию. Не думаю, что их там хранят отдельными записями в базе.

откуда ж тогда 6 гиг? :)

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий