Jump to content
Калькуляторы

freeradius и несколько PPPoE NAS

добрый день!

 

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

радиус заваливает лок вот такими записями

Wed Feb 25 14:23:07 2009 : Error: Discarding duplicate request from client nas18 port 59751 - ID: 220 due to unfinished request 17041
Wed Feb 25 14:23:07 2009 : Error: Discarding conflicting packet from client nas18 port 59751 - ID: 220 due to recent request 17041.
Wed Feb 25 14:23:08 2009 : Error: Discarding duplicate request from client nas19 port 42436 - ID: 96 due to unfinished request 17043
Wed Feb 25 14:23:18 2009 : Error: Discarding duplicate request from client nas19 port 60425 - ID: 104 due to unfinished request 17073
Wed Feb 25 14:23:37 2009 : Error: Discarding duplicate request from client nas18 port 48185 - ID: 235 due to unfinished request 17106
Wed Feb 25 14:23:48 2009 : Error: Discarding duplicate request from client nas19 port 51058 - ID: 122 due to unfinished request 17133
Wed Feb 25 14:23:48 2009 : Error: Discarding duplicate request from client nas06 port 55281 - ID: 228 due to unfinished request 17134
Wed Feb 25 14:23:53 2009 : Error: Discarding duplicate request from client nas18 port 48398 - ID: 250 due to unfinished request 17153
Wed Feb 25 14:23:59 2009 : Error: Discarding duplicate request from client nas06 port 34860 - ID: 235 due to unfinished request 17171
Wed Feb 25 14:24:03 2009 : Error: Discarding duplicate request from client nas18 port 41250 - ID: 11 due to unfinished request 17190
Wed Feb 25 14:24:05 2009 : Error: Discarding duplicate request from client nas19 port 49796 - ID: 132 due to unfinished request 17196

 

как можно устранить эти ошибки?

 

Share this post


Link to post
Share on other sites

 

Поставить еще два радиуса ? :-)

Share this post


Link to post
Share on other sites

а если NAS'ов будет 10 или 20 то что ставить 20 радиусов?:)

Share this post


Link to post
Share on other sites

Ну а в чем проблема-то ? 50 метров памяти на каждый пожалели ?

 

Вообще - один радиус-сервер, это конкретный моветон.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

 

Юзеры работают. Значит ошибки нет.

Share this post


Link to post
Share on other sites

Странно, аналогичная конфигурация - данной проблемы нет.

Клиент отсылает PADI бродкастом, кто из терминаторов первым ответит PADO, с тем клиент и продолжит общаться. Соответственно, в radius пойдет запрос только от одного терминатора.

Разве не так?

Share this post


Link to post
Share on other sites

Должно быть так.

Но, может у топикстартера преаутентификация настроена?

Share this post


Link to post
Share on other sites

Разобрался, всем спасибо за помощь. Дело было в медленной обработке accounting радиусом, по причине загруженности базы данных. Accounting пришлось отключить.

 

Отсюда возникает вопрос: при наличае нескольких NAS сереров как отследить без accounting что бы пользователь мог поднять только одно соединение PPPoE? что бы не получалось что с одним и тем же логином один пользователь мог залогиниться на NAS1 а его друг на NAS2 к примеру и польозваться услугой. или же все таки нужно оптимизировать accounting для обработки большого количества запросов? т.к. netup accounting проседает под 5000+ пользователями.

Share this post


Link to post
Share on other sites

В freeradius куча способов.

Другой, если NAS собраны в кучку - сделать юзеру фиксированный IP. Вдвоем работать не смогут.

Share this post


Link to post
Share on other sites
В freeradius куча способов.

Другой, если NAS собраны в кучку - сделать юзеру фиксированный IP. Вдвоем работать не смогут.

можно пару конкретных примеров?

 

у пользователей сделаны фиксированные ip, но это препятствует только их подключению к одному и тому же NAS

или я не правильно понял "собраны в кучу"?

 

Share this post


Link to post
Share on other sites

redistribute connected сделать между NAS-ами.

Любым динамическим протоколом маршрутизации. Работать будет только один. Можно дополнительно еще по ssh на остальных фильтровать ip подключенного.

Share this post


Link to post
Share on other sites
redistribute connected сделать между NAS-ами.

Любым динамическим протоколом маршрутизации. Работать будет только один. Можно дополнительно еще по ssh на остальных фильтровать ip подключенного.

не так давно отказался от redistribute connected в целях экономии ресурсов на NAS. да и какой смысл засирать таблицу ospf серыми адресами, если они более ни где не используются?

по ssh - можно, но не красиво. неужели нет данного функционала в радиус сервере?

есть кое-какие мысли с accounting - буду пробовать, по итогам отпишусь.

если у кого нибудь есть еще что добавить - буду рад прислушаться.

Share this post


Link to post
Share on other sites

в итоге после всех изысканий решил использовать Simultaneous-Use во freeradius.

правда кое что пришлось напильником доработать, но в общем работает.

Share this post


Link to post
Share on other sites

а подробности можешь рассказать ?

Что именно пришлось напильником дорабатывать ?

Каким именно механизмом проверяешь подключенность юзера ?

как борешься с пропажами stop-пакетов (зависшими сессиями) ?

Share this post


Link to post
Share on other sites

Зарулить аккаунтинг на другой сервак.

Share this post


Link to post
Share on other sites

как борешься с пропажами stop-пакетов (зависшими сессиями) ?

у меня в самопальной базе под postgresql есть хранимая процедура которая проверяет таблицу с сессиями на тему наличия "зависших" сессий --- у меня nas настроен каждую минуту отстукиваться радиусу который отстукивается в базу, если есть сессии у которых время последнего пришедшего отстука с инфой о трафике больше времени отстука и сессия помечена как активная то она прикрывается в базе

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this