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

Вопрос по настройке динамических адресов в Радиусе Быстро заканчивается пул динамических адресов

Добрый день уважаемые коллеги!

В системе работает несколько ВПН серверов и один Радиус. Пользователи авторизуются и получают динамические ИП адреса на Радиус-сервере.

Радиус сервер работает на:

radius# uname -a

FreeBSD 7.1-RELEASE

radius# pkg_info

freeradius-1.1.7_3

В качестве ВПН сервера выступает Микротик.

Одновременно обычно работает 20 пользователей, т.е. 20 PPtP сессий. В конфиге радиуса задан пул на 254 ИП адреса. Периодически возникает проблема при подключении пользователя - сервер не может выдать ИП адрес. Решается удалением файлов db.user_ip_pool и db.user_ip_pool_index и перезагрузкой процесса radiusd.

 

В radiusd.conf относительно пулов адресов прописано так

ippool user_ip_pool {

range-start = 192.168.54.1

range-stop = 192.168.54.254

netmask = 255.255.255.0

cache-size = 260

session-db = ${raddbdir}/db.user_ip_pool

ip-index = ${raddbdir}/db.user_ip_pool_index

override = no

maximum-timeout = 0

}

Изменено пользователем dm765

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


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

Не используйте для этого радиус! Зачем он нужен?

Пропишите IP пул в настройках ppp профиля в Mikrotik.

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


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

SmalleR, +1

Если адреса динамические - пусть их задаёт PPP сервер, если статические - задавайте радиусом

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


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

У меня 1 блок ИП адресов (с 192.168.54.1 по 192.168.54.254) на несколько ВПН серверов и у каждого пользователя свои ограничения по скорости. Поэтому удобнее когда адреса выдаются централизовано из одного источника. Все адреса динамические.

 

Когда в качестве ВПН серверов использовался MPD5 то такой проблемы замечено не было.

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


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

Не понял, причем тут IP адреса и ограничения скорости? У вас чем скорость ограничивается?

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


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

Пользователи получают адреса из пула с 192.168.54.1 по 192.168.54.254

Скорость ограничивает радиус.

Запись для пользователя в радиусе

test User-Password == "teые", Pool-Name := "user_ip_pool"

Mikrotik-Rate-Limit += "4096k/4096k"

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


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

У меня 1 блок ИП адресов (с 192.168.54.1 по 192.168.54.254) на несколько ВПН серверов и у каждого пользователя свои ограничения по скорости. Поэтому удобнее когда адреса выдаются централизовано из одного источника. Все адреса динамические.

 

Когда в качестве ВПН серверов использовался MPD5 то такой проблемы замечено не было.

А как бордер узнаёт, каким "ВПН сервером" сейчас обслуживается клиент с выданным IP адресом из одного блока?

 

Mikrotik-Rate-Limit += "4096k/4096k"
Зачем тогда знать IP для ограниичения скорости, если используется этот атрибут?

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


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

а разве радиус у вас не базой на postgresql/mysql работает?? помоему выдавать адреса из базы можно, немного подправив саму базу и хранимые процедуры в ней отвечающие за ответ радиусу

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


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

Пользователь подключается к одному из ВПН серверов (через механизм Raund Robin на ДНС), для того чтобы создалось PPTP соединение, ВПН сервер передает запрос на Радиус и если юзернэйм и пароль правильные, то передает микротику ИП адрес из указанного своего пула и параметр ограничения скорости для этого пользователя. В результате создается PPTP соединение для этого юзэрнэйма, с ИП адресом который выдал Радиус и ограничением скорости который также выдал Радиус. Ограничение скорости привязано к юзэрнэйму.

 

Зачем тогда знать IP для ограниичения скорости, если используется этот атрибут?
Не понял этого вопроса.

 

а разве радиус у вас не базой на postgresql/mysql работает?
Базы нет, все пользователи и их ограничения хранятся в текстовом файле.

 

Складывается такое ощущение, что выданные радиусом ИП адреса, после использования не возвращаются обратно в пул.

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


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

Чем можно прочитать db.user_ip_pool и db.user_ip_pool_index эти файлы?

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


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

ну если у вас всё настолько тривиально то вам сюда http://code.google.com/p/cakebilling/

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


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

ну если у вас всё настолько тривиально то вам сюда http://code.google.com/p/cakebilling/
Это к какому вопросу?

 

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


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

Складывается такое ощущение, что выданные радиусом ИП адреса, после использования не возвращаются обратно в пул.

Похоже, что это не очень природно для Radius.

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


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

Чем можно прочитать db.user_ip_pool и db.user_ip_pool_index эти файлы?
С этим разобрался.

 

Остается вопрос - почему же радиус отказывается выдавать ИП адрес, если аутентификация прошла?

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


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

Сделайте лучше через sql, это даст вам больше гибкости :)

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


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

Хотелось бы все же с этим вопросом разобраться. Може у кого и были подобные проблемы.

 

Сделайте лучше через sql, это даст вам больше гибкости :)
Если есть возможность, укажите пожалуйста ссылочку на рабочий конфиг Радиус + МуSQL, если я правильно понял.
Изменено пользователем dm765

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


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

С проблемой разобрался.

Уточните еще, как Вы понимаете параметр в настройках ip pool

override = no

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


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

Вероятно он отвечает за выдачу IP адреса с пула. Если стоит yes - то он будет выдавать один и тот-же IP сразу нескольким абонентам, если no - то проверять, выдал ли он его или нет. В вашем случае, возможно, радиус уже выдал один ип, и для другого абонента должен выдать такой-же, но не выдаёт благодаря этой настройке (что правильно).

 

IAS по крайней мере работает именно так.

Изменено пользователем terrible

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


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

Чем можно прочитать db.user_ip_pool и db.user_ip_pool_index эти файлы?

rlm_ippool_tool

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


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

Ребята спасибо за внимание к вопросу, но походу проблема не снялась с повестки...ИП адреса все же заканчиваются.

Заметил еще такую вещь, что например команда radwho показывает 13 активных сессий (и это совпадает с числом сессий на серверах доступа), а rlm_ippool_tool 60 выданных ИП адресов.

В идеале должно же количество активных сессий = числу выданных ИП?

 

 

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


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

Чему у вас равен maximum-timeout ?

Получает ли радиус от микротика accounting-stop, после того как пользователь закрывает сессию ?

 

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


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

1. Радиус получает от микротика accounting-stop , все сессии закрываются корректно.

 

2. maximum-timeout = 0

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


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

Тогда только дебаг и логи.

Потеря стоповых udp пакетов достаточно распространена. Бороться с этим можно, например, перейдя в sql.

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

Cекция accounting в радиусе работает ?

Изменено пользователем rus-p

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


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

accounting работает.

В микротике есть session-timeout , но это время было не активировано..

Активировал, поставил 00:00 посмотрим результат...

Изменено пользователем dm765

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


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

Join the conversation

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

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

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

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

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

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

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