barguzin2 писал(а):
А уверен что пакеты, приходящие с одного физического NAS имеют разные NAS-Identifier ? (и вообще имеют ли) В студию оба запроса РАДИУСа.
Цитата:
Добавляем второй NAS-2 c таким же IP, но другим идентификатором... и начались чудеса - "InetServ not found".
Вполне логично. Сервис то остался к NAS-1 привязан, а при загрузке НАСов Аксес запомнил последний с этим же NAS-IP, т.е. NAS-2, вот на нем и ищет сервис.
Я вроде уже писал что в случае НАСов финт одно физическое - несколько логических не прокатит. В плане NetFlow, ServiceActivator - тут пожалуйста, потому что от обратного идёт, от сервиса идем устройство и что-то с ним делаем и можем для разных сервисов (разных логических устройств) выполнять разные действия на одном физическом. У тебя же поиск сервиса по НАСу, и определить какое же это логическое устройство по пакету с физического, ИМХО - задача нерешаемая.
P.S. Мне кажется что начало пропущено. Лучше расскажи ДЛЯ ЧЕГО такая необходимость? Может есть другой вариант решения задачи, которая не озвучена, а озвучен только путь решения, причем тупиковый.
100% имеют разный NAS-Identifier, та как я их сам в обработчике устанавливаю...
Код:
User-Name=00:BD:3A:E0:39:61
NAS-Identifier=BG-1
User-Password=
NAS-Port-Id=BG-1
NAS-IP-Address=192.168.1.174
NAS-Port=0
Service-Type=2
Calling-Station-Id=00-BD-3A-E0-39-61
Acct-Session-Id=82400524
NAS-Port-Type=19
Called-Station-Id=02-1B-B1-02-AA-54:BG-1
Common options: {macAddress=00:BD:3A:E0:39:61}
radius 10-04/16:43:57 DEBUG [rdsLstnr-p-8-t-1] RadiusProcessor - Create new radius session.
radius 10-04/16:43:57 INFO [rdsLstnr-p-8-t-1] InetNas - Search by mac on device=00bd3ae03961
radius 10-04/16:43:57 INFO [rdsLstnr-p-8-t-1] InetRadiusProcessor - [username=00:BD:3A:E0:39:61] InetServ not found (and is not card).
radius 10-04/16:43:57 INFO [rdsLstnr-p-8-t-1] InetRadiusProcessor - Return code=1
Код:
User-Name=00:BD:3A:E0:39:61
NAS-Identifier=BG-2
User-Password=
NAS-Port-Id=BG-2
NAS-IP-Address=192.168.1.174
NAS-Port=0
Service-Type=2
Calling-Station-Id=00-BD-3A-E0-39-61
Acct-Session-Id=82400527
NAS-Port-Type=19
Called-Station-Id=02-1B-B1-02-AA-55:BG-2
Common options: {macAddress=00:BD:3A:E0:39:61}
radius 10-04/17:16:09 DEBUG [rdsLstnr-p-8-t-4] RadiusProcessor - Create new radius session.
radius 10-04/17:16:09 INFO [rdsLstnr-p-8-t-4] InetNas - Search by mac on device=00bd3ae03961
radius 10-04/17:16:09 DEBUG [rdsLstnr-p-8-t-4] InetRadiusProcessor - Password verification disabled.
radius 10-04/17:16:09 INFO [rdsLstnr-p-8-t-4] InetRadiusProcessor - [username=00:BD:3A:E0:39:61] Authenticated as inetServId:16
Все равно не могу понять почему нельзя найти NAS, с IP которого пришел запрос...
Согласно доке ищем NAS по идентификатору: находим (можем еще и IP проверить) или если не находим, то ищем дальше по IP.
Исходная задача: беспроводная точка доступа с двумя секторами. Доступна радиус авторизация. Но нужно закрепить сервис клиента за конкретным сектором.
Вот и получается: два NAS c одним IP, но разными идентификаторами. Все логично. Вот только поиск по NAS-Identifier не работает.
Странно почему Inet запоминает последний IP, ведь NAS инициализирутся парой NAS-Identifier и IP:
Код:
radius-processor 10-04/16:44:39 INFO [event-proc-p-2-t-1] NasList - LOADED NAS: Nas id: BG-1; ip: 192.168.1.174
radius-processor 10-04/16:44:39 INFO [event-proc-p-2-t-1] NasList - LOADED NAS: Nas id: BG-2; ip: 192.168.1.174