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

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

 

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

 

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


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

 

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

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


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

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

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


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

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

 

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

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


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

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

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


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

 

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

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


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

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

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

Разве не так?

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


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

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

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

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


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

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

 

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

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


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

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

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

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


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

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

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

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

 

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

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

 

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


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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

Join the conversation

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

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

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

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

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

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

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