Jump to content

Recommended Posts

Posted (edited)

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

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

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

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

}

Edited by dm765
Posted

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

 

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

Posted

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

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

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

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

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

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

 

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

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

 

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

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

Posted

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

 

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

 

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

 

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

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

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

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

 

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

Posted (edited)

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

 

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

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

 

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

Edited by terrible
  • 3 weeks later...
Posted

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

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

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

 

 

Posted (edited)

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

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

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

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

Edited by rus-p
Posted (edited)

accounting работает.

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

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

Edited by dm765

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.