forum.bitel.ru http://forum.bitel.ru/ |
|
Проблема с закрытием сессии http://forum.bitel.ru/viewtopic.php?f=44&t=9799 |
Страница 1 из 2 |
Автор: | Угрюмов Роман [ 06 окт 2014, 15:04 ] |
Заголовок сообщения: | Проблема с закрытием сессии |
1) В монитор нажатием правой клавиши мыши вызываю "Закрыть соединение" в mq.log ожидаю увидеть сообщение типа: InetConnectionManager - RemoveConnection: InetConnection [id=.... Такого сообщения нет, сессия не рвется, WiFi - роутер продолжает работать и отдавать клиентам интернет Смотрю в логи radius.log. Ожидал увидеть пакет на новую авторизацию - пакетов нет. 2) Вызываю собственноручно написанный скрипт вида: Код: public String CloseConnection(int connectionId) { try { InetSessionService wsSession = null; ServerContext context = ServerContext.get(); wsSession = context.getService( InetSessionService.class, INET_MODULE_ID ); wsSession.connectionClose( connectionId ); } catch (Exception ex) { String errorStr = ex.toString(); return errorStr; } return "CloseConnection - Ok!"; } с connectionId взятым из монитора. Сессия не рвется, роутер не посылает пакет на реавторизацию. Ну и как бы в догонку, а что случилось с update.sh? У меня не обновляется find: './snapshots': Нет такого файла или каталога Actual snapshot not found! |
Автор: | barguzin2 [ 06 окт 2014, 15:19 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Если из клиента сессия не завершается, то из своего скрипта тоже не завершится, т.к. по сути это один и тот же вызов. Что за тип подключения и какой ServiceActivator используется ? Про обновление - сначала нужно сделать снапшот, а потом обновляться. Цитата: 964 26.09.2014 15:03:35 ДОБАВЛЕНО Скрипт update.sh запрет запуска если нет снапшота не старее суток.
|
Автор: | Угрюмов Роман [ 06 окт 2014, 16:28 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
О как! Запускаю под рутом: root@billing:/usr/local/BGBillingServer# ./snapshot.sh create mysqldump: Got error: 1044: Access denied for user 'bill'@'localhost' to database 'installed_modules' when selecting the database |
Автор: | Amir [ 06 окт 2014, 16:47 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
По поводу сброса сессии - смотрите в all.log Access, что пишет после того как сбрасываете. Должен поймать событие с этим connectionId, написать Do task и т.д. Также зависит от того, какая у вас схема. |
Автор: | Угрюмов Роман [ 06 окт 2014, 17:04 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Вот нашел! Схема подключения - Opt82 Код: connection 10-06/15:01:50 INFO [sa-p-14-t-40] ServiceActivatorSet - Connecting to device
connection 10-06/15:01:50 INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 91303; scid: -1; userId: 1; deviceId: 2; inetServId: 290; connectionId: 51980; state: 0; accessCode: 3; timestamp: 1412593310569 connection 10-06/15:01:50 INFO [sa-p-14-t-40] InetApplication - TariffOptionMap: {} connection 10-06/15:01:50 INFO [sa-p-14-t-40] InetApplication - OptionSet: [12] connection 10-06/15:01:50 INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12 connection 10-06/15:01:50 INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12 connection 10-06/15:01:50 INFO [sa-p-14-t-40] ServiceActivatorSet - Invoking connectionClose connection 10-06/15:01:50 INFO [sa-p-14-t-40] SmartEdgeServiceActivator - Connection close connection 10-06/15:01:50 INFO [sa-p-14-t-40] InetConnectionKeyMap - Remove connection remove 185.23.81.67 connection 10-06/15:01:50 INFO [sa-p-14-t-40] InetDhcpHelperProcessor - Remove connection remove 2:87:3:001FCE5D99A5 connection 10-06/15:01:50 INFO [sa-p-14-t-40] SmartEdgeServiceActivator - Connection disable connection 10-06/15:01:50 INFO [sa-p-14-t-40] SmartEdgeServiceActivator - Send CoA lock: Packet type: CoA-Request Identifier: 63 Authenticator: {8E F0 B9 D0 64 A5 49 CA D8 1F 78 1D 55 75 41 55} Attributes: Acct-Session-Id=0202FFFF78004FD1-5432507C DHCP-Max-Leases=1 Service-Name:1=RSE-SVC-EXT Service-Options:1=1 Service-Parameter:1=Rate=1000 Burst=250000 IP-Interface-Name=NOAUTH connection 10-06/15:01:50 INFO [sa-p-14-t-40] RadiusClient - Sending to /172.16.98.7:0 Packet type: CoA-Request Identifier: 63 Authenticator: {8E F0 B9 D0 64 A5 49 CA D8 1F 78 1D 55 75 41 55} Attributes: Acct-Session-Id=0202FFFF78004FD1-5432507C DHCP-Max-Leases=1 Service-Name:1=RSE-SVC-EXT Service-Options:1=1 Service-Parameter:1=Rate=1000 Burst=250000 IP-Interface-Name=NOAUTH connection 10-06/15:01:50 ERROR [sa-p-14-t-40] RadiusClient - Недопустимый аргумент java.net.SocketException: Недопустимый аргумент at sun.nio.ch.DatagramChannelImpl.send0(Native Method) at sun.nio.ch.DatagramChannelImpl.sendFromNativeBuffer(DatagramChannelImpl.java:514) at sun.nio.ch.DatagramChannelImpl.send(DatagramChannelImpl.java:491) at sun.nio.ch.DatagramChannelImpl.send(DatagramChannelImpl.java:455) at ru.bitel.common.io.DatagramChannelListener.send(DatagramChannelListener.java:275) at ru.bitel.bgbilling.kernel.network.radius.RadiusClient.sendAsync(RadiusClient.java:446) at ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeClipsServiceActivator.connectionDisable(SmartEdgeClipsServiceActivator.java:134) at ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeClipsServiceActivator.connectionClose(SmartEdgeClipsServiceActivator.java:151) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.connectionClose(ServiceActivatorSet.java:251) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:532) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:485) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:211) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:201) at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:83) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:176) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:109) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:239) at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:145) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) connection 10-06/15:01:50 INFO [sa-p-14-t-40] ServiceActivatorDeviceWorker - Process event type[2] result=true |
Автор: | Amir [ 06 окт 2014, 17:06 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Укажите в конфиге устройства порт, на который слать PoD/CoA. radius.port= Поправим, чтобы по умолчанию использовал 1700. Сейчас 0 или -1 похоже - потому возникает ошибка в логах. |
Автор: | Угрюмов Роман [ 06 окт 2014, 17:13 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Прописал 1700 как висела сессия в активных, так и висит, реавторизации нет Код: connection 10-06/15:18:44 INFO [sa-p-14-t-76] ServiceActivatorSet - Connecting to device
connection 10-06/15:18:44 INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 91303; scid: -1; userId: 1; deviceId: 2; inetServId: 290; connectionId: 51980; state: 0; accessCode: 3; timestamp: 1412594324533 connection 10-06/15:18:44 INFO [sa-p-14-t-76] InetApplication - TariffOptionMap: {} connection 10-06/15:18:44 INFO [sa-p-14-t-76] InetApplication - OptionSet: [12] connection 10-06/15:18:44 INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12 connection 10-06/15:18:44 INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12 connection 10-06/15:18:44 INFO [sa-p-14-t-76] ServiceActivatorSet - Invoking connectionClose connection 10-06/15:18:44 INFO [sa-p-14-t-76] SmartEdgeServiceActivator - Connection close connection 10-06/15:18:44 INFO [sa-p-14-t-76] InetConnectionKeyMap - Remove connection remove 185.23.81.67 connection 10-06/15:18:44 INFO [sa-p-14-t-76] InetDhcpHelperProcessor - Remove connection remove 2:87:3:001FCE5D99A5 connection 10-06/15:18:44 INFO [sa-p-14-t-76] SmartEdgeServiceActivator - Connection disable connection 10-06/15:18:44 INFO [sa-p-14-t-76] SmartEdgeServiceActivator - Send CoA lock: Packet type: CoA-Request Identifier: 2 Authenticator: {9C C9 57 3E 18 27 A7 E8 81 1E 3F BF 89 1E 3F 0C} Attributes: Acct-Session-Id=0202FFFF78004FD1-5432507C DHCP-Max-Leases=1 Service-Name:1=RSE-SVC-EXT Service-Options:1=1 Service-Parameter:1=Rate=1000 Burst=250000 IP-Interface-Name=NOAUTH connection 10-06/15:18:44 INFO [sa-p-14-t-76] RadiusClient - Sending to /172.16.98.7:1700 Packet type: CoA-Request Identifier: 2 Authenticator: {9C C9 57 3E 18 27 A7 E8 81 1E 3F BF 89 1E 3F 0C} Attributes: Acct-Session-Id=0202FFFF78004FD1-5432507C DHCP-Max-Leases=1 Service-Name:1=RSE-SVC-EXT Service-Options:1=1 Service-Parameter:1=Rate=1000 Burst=250000 IP-Interface-Name=NOAUTH connection 10-06/15:18:44 INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Process event type[2] result=true mq 10-06/15:18:47 INFO [event-proc-p-2-t-1] InetConnectionManager - Update connection: InetConnection [id=52000-51999, iface=2:50528256, sessId=0202FFFF78004FC0-54321717-RSE-SVC-EXT-B71AC33EDA6, start=06.10.2014 08:18:29, uname=RSE-SVC-EXT, addr=[IpAddress:null]] mq 10-06/15:18:47 INFO [event-proc-p-2-t-1] InetConnectionKeyMap - Ip is null [IpAddress:null] mq 10-06/15:18:47 INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - IP is null 2:0:1:VLAN100+ETHERNET1/1#0X000X1F0XFFX0XFF0X06 mq 10-06/15:18:51 INFO [event-proc-p-2-t-1] InetConnectionManager - Update connection: InetConnection [id=52036-52035, iface=2:50528256, sessId=0202FFFF78004FB6-5431A31F-RSE-SVC-EXT-B6AC2AF38BF, start=06.10.2014 00:03:43, uname=RSE-SVC-EXT, addr=[IpAddress:null]] mq 10-06/15:18:51 INFO [event-proc-p-2-t-1] InetConnectionKeyMap - Ip is null [IpAddress:null] mq 10-06/15:18:51 INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - IP is null 2:0:1:0X000X0E0X00D0X000X010X01QTEC0X130X090X01 connection 10-06/15:18:54 INFO [sa-p-14-t-76] EventWorker - Timeout waiting futures connection 10-06/15:18:54 ERROR [sa-p-14-t-76] EventWorker - java.util.concurrent.TimeoutException: Timeout waiting for future results will done. Possible answer not recieved. ru.bitel.bgbilling.common.BGException: java.util.concurrent.TimeoutException: Timeout waiting for future results will done. Possible answer not recieved. at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:128) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:239) at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:145) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Caused by: java.util.concurrent.TimeoutException: Timeout waiting for future results will done. Possible answer not recieved. ... 14 more connection 10-06/15:18:54 INFO [sa-p-14-t-76] ServiceActivatorSet - Disconnecting from device connection 10-06/15:18:54 INFO [sa-p-14-t-76] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try. |
Автор: | Amir [ 06 окт 2014, 17:16 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Может быть у вас не 1700? Ответ от SE не пришел. |
Автор: | Угрюмов Роман [ 06 окт 2014, 17:32 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Уточню порт на который слать PoD/CoA. это 1) AccessServer - 1812 ? 2) AccountingServer 1813 ? |
Автор: | Amir [ 06 окт 2014, 17:35 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Нет, порт на SE, на котором он слушает CoA/PoD запросы от биллинга. |
Автор: | Угрюмов Роман [ 06 окт 2014, 17:42 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Сказал админу, он проверяет конфигурацию устройства. Теперь что с обновлением делать? Угрюмов Роман писал(а): О как! Запускаю под рутом:
root@billing:/usr/local/BGBillingServer# ./snapshot.sh create mysqldump: Got error: 1044: Access denied for user 'bill'@'localhost' to database 'installed_modules' when selecting the database |
Автор: | Amir [ 06 окт 2014, 18:04 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Похоже криво парсится из data.properties информация о БД. Попробуйте пока установить/переопределить правильные значения после 32 строки и перед строкой ######## modify on your own risk ########### Цитата: # SQL connection data
HOST_SQL=127.0.0.1 USER_SQL=bill PASSWORD_SQL=bgbilling DBASE_NAME=bgbilling |
Автор: | Угрюмов Роман [ 06 окт 2014, 18:29 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
У меня в нем всего 18 строк и строки ######## modify on your own risk ########### нет в наличии Дописал в конец файла то что в вашем предыдущем посту - результат не изменился, ошибка 1044 |
Автор: | Amir [ 06 окт 2014, 19:09 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
В snapshot.sh 18 строк? |
Автор: | stark [ 07 окт 2014, 11:30 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
со shapshot.sh возможно вот эта проблема Его вроде недавно меняли. Напишите в ту тему. |
Автор: | Угрюмов Роман [ 07 окт 2014, 11:38 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Прошло обновление, это я по недоумию в data.properties засунул ваши строки. Сейчас все отработало. Накатил последнее обновление. Теперь по разрыву сессии. Админ дико извиняется и дал мне правильный адрес сервера CoA, прописал. На попытку разрыва сесии из монитора сессия остается активной. В логе all.log вижу: Код: connection 10-07/09:30:22 INFO [sa-p-14-t-3] ServiceActivatorSet - Connecting to device
connection 10-07/09:30:22 INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 91303; scid: -1; userId: 1; deviceId: 2; inetServId: 290; connectionId: 52769; state: 0; accessCode: 3; timestamp: 1412659822505 connection 10-07/09:30:22 INFO [sa-p-14-t-3] InetApplication - TariffOptionMap: {} connection 10-07/09:30:22 INFO [sa-p-14-t-3] InetApplication - OptionSet: [12] connection 10-07/09:30:22 INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12 connection 10-07/09:30:22 INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 290; call: true; oldState: 1; newState: 0; oldOptionSet: 12; newOptionSet: 12 connection 10-07/09:30:22 INFO [sa-p-14-t-3] ServiceActivatorSet - Invoking connectionClose connection 10-07/09:30:22 INFO [sa-p-14-t-3] SmartEdgeServiceActivator - Connection close connection 10-07/09:30:22 INFO [sa-p-14-t-3] InetConnectionKeyMap - Remove connection remove 185.23.81.192 connection 10-07/09:30:22 INFO [sa-p-14-t-3] InetDhcpHelperProcessor - Remove connection remove 2:87:3:001FCE5D99A5 connection 10-07/09:30:22 INFO [sa-p-14-t-3] SmartEdgeServiceActivator - Connection disable connection 10-07/09:30:22 INFO [sa-p-14-t-3] SmartEdgeServiceActivator - Send CoA lock: Packet type: CoA-Request Identifier: 1 Authenticator: {16 4D AB 77 0E E5 2A CE 68 DF 4D 28 8B 8D 59 54} Attributes: Acct-Session-Id=0202FFFF78005117-543375D1 DHCP-Max-Leases=1 Service-Name:1=RSE-SVC-EXT Service-Options:1=1 Service-Parameter:1=Rate=1000 Burst=250000 IP-Interface-Name=NOAUTH connection 10-07/09:30:22 INFO [sa-p-14-t-3] RadiusClient - Sending to /172.16.98.7:3799 Packet type: CoA-Request Identifier: 1 Authenticator: {16 4D AB 77 0E E5 2A CE 68 DF 4D 28 8B 8D 59 54} Attributes: Acct-Session-Id=0202FFFF78005117-543375D1 DHCP-Max-Leases=1 Service-Name:1=RSE-SVC-EXT Service-Options:1=1 Service-Parameter:1=Rate=1000 Burst=250000 IP-Interface-Name=NOAUTH connection 10-07/09:30:22 INFO [sa-p-14-t-3] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok. connection 10-07/09:30:22 INFO [sa-p-14-t-3] ServiceActivatorDeviceWorker - Process event type[2] result=true connection 10-07/09:30:22 INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799 Packet type: CoA-NAK Identifier: 1 Authenticator: {DA 6B F8 92 1C 78 5C E8 61 08 05 96 5B C2 34 D6} Attributes: Error-Cause=401 Event-Timestamp=1412659566 |
Автор: | barguzin2 [ 07 окт 2014, 12:35 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Так потому что Coa-NAK пришел в ответ, а должен Coa-ACK, т.е. SE не отработал запрос. |
Автор: | Угрюмов Роман [ 07 окт 2014, 13:41 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
barguzin2 писал(а): Так потому что Coa-NAK пришел в ответ, а должен Coa-ACK, т.е. SE не отработал запрос. Да вижу ошибка 401 - Unsupported Attribute Вот пытаюсь разобраться какие атрибуты надо отослать |
Автор: | Amir [ 07 окт 2014, 14:24 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Кажется теперь понял зачем в wiki в конфиге такая пляска с атрибутами - чтобы не передавать в CoA атрибуты из radius.realm.default.attributes= Но в SmartEdgeServiceActivator уже есть параметр конфига, который за это отвечает. Попробуйте указать так: sa.radius.realm.addAttributes=0 sa.radius.connection.attributes=Acct-Session-Id |
Автор: | Угрюмов Роман [ 07 окт 2014, 14:36 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
ВОт сейчас такой ответ на запрос разрыва сессии: Код: Packet type: CoA-Request Identifier: 1 Authenticator: {C9 95 B9 19 B6 9C A2 83 42 0D A1 45 33 E8 F5 40} Attributes: Acct-Session-Id=0202FFFF78005117-543375D1 DHCP-Max-Leases=1 IP-Interface-Name=NOAUTH connection 10-07/12:07:18 INFO [sa-p-14-t-81] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok. connection 10-07/12:07:18 INFO [sa-p-14-t-81] ServiceActivatorDeviceWorker - Process event type[2] result=true connection 10-07/12:07:18 INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799 Packet type: CoA-NAK Identifier: 1 Authenticator: {F0 ED CA B1 34 5E B2 E4 9A AA A0 E6 E5 A9 65 C2} Attributes: Error-Cause=401 Event-Timestamp=1412669382 Это ошибка но стороне CoA сервера походу? |
Автор: | Amir [ 07 окт 2014, 14:38 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Нет, вроде бы не совсем то отправляется. А какой конфиг устройства у вас сейчас? |
Автор: | Угрюмов Роман [ 07 окт 2014, 14:40 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
#порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт) radius.port=3799 # При выдаче Access-Accept добавлять запись в базу. # Hеобходимо, если используется Reject-To-Accept и по Start-пакету нельзя определить в каком состоянии соединение connection.start.fromAccept=1 # Бывают ситуации, когда Start-пакет не дошел до Accounting-сервера. В этом случае, при # 1 (значение по умолчанию) - сессия создастся от текущего момента, # 2 - Accounting проверит, что время сессии из Update/Stop пакета не больше, чем значение connection.close.timeout и создаст сессию от ее начала, иначе, # если время сессии больше чем connection.close.timeout, сессия создастся от текущего момента, # 0 - сессия без Start-пакета создана не будет. connection.start.fromUpdate=1 # При создании сессии по Update-пакету нужно ли игнорировать отсутствие IP-адреса сессии (Framed-Ip-Address). По умолчанию сессия # по Update-пакету без адреса не создается (0). connection.start.fromUpdate.ignoreFramedIpLack=0 # Таймаут перевода соединения в статус suspended при остутствии радиус пакетов connection.suspend.timeout=900 # Таймаут закрытия соединения при остутствии радиус пакетов (не складывается с connection.suspend.timeout) connection.close.timeout=900 # При закрытии соединения по таймауту, 0 (по умолчанию) - просто закрыть, # 1 - попытаться сбросить также на NAS'е (вызвать connectionClose у обработчика активации сервисов) connection.close.timeout.forceClose=1 #атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию) radius.realm.default.attributes=Acct-Interim-Interval=9000 # Коды ошибок, при которых отвечать Access-Accept в состоянии disable (rejectToAccept) radius.disable.accessCodes=1,12,10 # Какие адреса выдавать при ответе Access-Accept в состоянии disable: # 0 (по умолчанию) - из radius.disable.ipCategories, 1 - так же, как если бы не было ошибки (в том числе привязанные к сервису в договоре) radius.disable.mode=0 radius.disable.ipCategories=5 # Атрибуты, выдаваемые при ответе Access-Accept в состоянии disable (rejectToAccept) radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1;Service-Name:1=RSE-SVC-EXT;Service-Parameter:1=Rate=1000 Burst=250000 # Id фиктивного сервиса, к которому будут привязываться сессии, по которым нормальный сервис не был найден (код ошибки: 1, логин не найден). # Необходим, если в radius.disable.accessCodes присутствует код 1 radius.disable.servId=3 #атрибуты, при наличии которых соединение должно считаться в состоянии DISABLE (т.е. с ограниченным доступом) # Используемый для отключенных пул адресов и параметры http-редиректа. radius.disable.pattern.attributes=HTTP-Redirect-Profile-Name=ddddddddd;Service-Parameter:1=XXX=111 YYY=radius.disable.pattern.attributes # Вендор атрибута, где хранится MAC-адрес #radius.macAddress.vendor=9 # Код атрибута, где хранится MAC-адрес #radius.macAddress.type=1 # Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair #radius.macAddress.prefix=client-mac-address= # Режим поиска сервиса: 0 (по умолчанию) - по логину, 1 - по интерфейсу на устройстве (в предобработке должны быть # проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или INTERFACE_ID), 2 - по VLAN на устройстве (в предобработке # должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID), 4 - по VLAN на устройстве или # дочернем устройстве (в предобработке должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID), # 5 - по MAC-адресу на устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS), 6 - по MAC-адресу на # устройстве или дочернем устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS). radius.servSearchMode=1 # Нужно ли проверять пароль: 0 - нет, 1 (по умолчанию) - да. radius.password.verification=1 # Проверка на повторную аутентификацию при Access-Request. Бывает нужна в случаях, когда NAS сбрасывает (теряет) сессию, но # Stop-пакет не присылает и клиент пытается подключиться повторно, но у него стоит ограничение на максимум одну сессию. При совпадении # callingStationId с одной из активных сессий и установленным параметром: 1 - осуществляется попытка закрытия старой сессии (connectionClose), # 2 - попытка закрытия сессии (connectionClose) и завершение ее в базе, не дожидаясь стоп пакета, 3 - завершение в базе. radius.connection.checkDuplicate=2 # Нужно ли убирать домен перед поиском сервиса по логину из поля User-Name. По умолчанию - да (1). # Следует отключить, если при посылке CoA и PoD пакетов NAS'у необходим атрибут User-Name. radius.username.removeDomain=1 # Нужно ли убирать пробелы из поля User-Name перед поиском логина. По умолчанию - нет (0). # Следует отключить, если при посылке CoA и PoD пакетов NAS'у необходим атрибут User-Name. #radius.username.removeWhitespace=0 # Должен ли поиск по логину идти без учета регистра. По умолчанию - нет (0). #radius.username.ignoreCase=0 # Шаблон вывода ошибки в мониторе с использованием атрибутов из RADIUS-пакета radius.accessError.infoPattern=LOGIN:$User-Name # Привязка кодов опций модуля к атрибутам # Атрибуты, которые передаются для всех сессий. # IP-Interface-Name соответствует интерфейсу в конфиге RedBack, к которому "биндится" абонентская сессия (обязательный параметр). # DHCP-Max-Leases - обязательный параметр, необходим для получения адреса по DHCP. const.access.attributes=IP-Interface-Name=dhcpclients;DHCP-Max-Leases=1 option.1.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=1000 Burst=250000 XXX=123 option.2.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=2097152 Burst=4096 option.3.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=3145728 Burst=6144 option.4.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=4194304 Burst=8192 option.5.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=5242880 Burst=10240 option.6.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=6291456 Burst=10240 option.7.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=7340032 Burst=14336 option.8.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=8388608 Burst=16384 option.9.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=10000 Burst=2500000 option.10.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=50000 Burst=12500000 option.11.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=100000 Burst=25000000 option.12.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=300000 Burst=75000000 #данные атрибуты будут выдаваться в AccessAccept при удачной авторизации и при наличии активных опций в тарифе или сервисе radius.inetOption.1.attributes={@const. ... attributes};{@option.1.attributes} radius.inetOption.2.attributes={@const. ... attributes};{@option.2.attributes} radius.inetOption.3.attributes={@const. ... attributes};{@option.3.attributes} radius.inetOption.4.attributes={@const. ... attributes};{@option.4.attributes} radius.inetOption.5.attributes={@const. ... attributes};{@option.5.attributes} radius.inetOption.6.attributes={@const. ... attributes};{@option.6.attributes} radius.inetOption.7.attributes={@const. ... attributes};{@option.7.attributes} radius.inetOption.8.attributes={@const. ... attributes};{@option.8.attributes} radius.inetOption.9.attributes={@const. ... attributes};{@option.9.attributes} radius.inetOption.10.attributes={@const ... attributes};{@option.10.attributes} radius.inetOption.11.attributes={@const ... attributes};{@option.11.attributes} radius.inetOption.12.attributes={@const ... attributes};{@option.12.attributes} # Параметры активации сервисов # длина паузы, если возникла ошибка #sa.error.pause=60 # количество заданий за раз #sa.batch.size=20 # время (сек) ожидания завершения всех заданий (при асинхронной работе) #sa.batch.wait=5 # пауза (сек) после обработки заданий #sa.batch.pause=0 # время (сек) ожидания новой задачи перед вызовом disconnect. #sa.batch.waitNext=5 #категории ip адресов из ресурсов, из которых будут выдаваться адреса ("пул", указывается во вкладке "IP ресурсы") radius.realm.default.ipCategories=3 #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #параметры dhcp #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #настройки DHCP-сервера dhcp.renew=1 dhcp.option.serverIdentifier=172.16.98.7 dhcp.deviceSearchMode=0 dhcp.servSearchMode=1 radius.agent.option.removeHeader=2 radius.agent.option.remoteId.position=0 dhcp.option82.removeHeader=2 # Код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора dhcp.option82.agentRemoteId.code=2 dhcp.option82.agentRemoteId.position=0 dhcp.option82.agentRemoteId.length=0 #dhcp.key.pattern=$circuitId$remoteId dhcp.key.pattern=$deviceId:$remoteId:$circuitId:$mac dhcp.option.leaseTime=259200 dhcp.net.option.185.23.81.0:255.255.255.0.gate=185.23.81.1 dhcp.net.option.185.23.81.0:255.255.255.0.dns=185.23.80.2 dhcp.net.option.192.168.172.0:255.255.255.0.gate=192.168.172.1 dhcp.net.option.192.168.172.0:255.255.255.0.dns=185.23.80.02 #---------------------------- #параметры активации сервисов #---------------------------- #длина паузы, если возникла ошибка #sa.error.pause=60 #количество заданий за раз #sa.batch.size=20 #время (сек) ожидания завершения всех заданий (при асинхронной работе) #sa.batch.wait=5 #пауза (сек) после обработки заданий #sa.batch.pause=0 #время (сек) ожидания новой задачи перед вызовом disconnect. #sa.batch.waitNext=5 # Параметры обработчика активации сервисов # добавлять ли при отправке CoA-атрибуты реалма (для default - из radius.realm.default.attributes) sa.radius.realm.addAttributes=0 # откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации) sa.radius.connection.attributes=Acct-Session-Id # атрибуты CoA-запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1) sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1; # фиксированные атрибуты, добавляемые в запрос перед отправкой CoA #sa.radius.coa.attributes=TEST1=XXX;TEST2=YYY; # фиксированные атрибуты, добавляемые в запрос перед отправкой PoD #sa.radius.pod.attributes=TEST1=XXX;TEST2=YYY; #атрибуты, посылаемые при закрытии сервисов #sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-SVC-EXT |
Автор: | Угрюмов Роман [ 07 окт 2014, 14:40 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Код: #порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
radius.port=3799 # При выдаче Access-Accept добавлять запись в базу. # Hеобходимо, если используется Reject-To-Accept и по Start-пакету нельзя определить в каком состоянии соединение connection.start.fromAccept=1 # Бывают ситуации, когда Start-пакет не дошел до Accounting-сервера. В этом случае, при # 1 (значение по умолчанию) - сессия создастся от текущего момента, # 2 - Accounting проверит, что время сессии из Update/Stop пакета не больше, чем значение connection.close.timeout и создаст сессию от ее начала, иначе, # если время сессии больше чем connection.close.timeout, сессия создастся от текущего момента, # 0 - сессия без Start-пакета создана не будет. connection.start.fromUpdate=1 # При создании сессии по Update-пакету нужно ли игнорировать отсутствие IP-адреса сессии (Framed-Ip-Address). По умолчанию сессия # по Update-пакету без адреса не создается (0). connection.start.fromUpdate.ignoreFramedIpLack=0 # Таймаут перевода соединения в статус suspended при остутствии радиус пакетов connection.suspend.timeout=900 # Таймаут закрытия соединения при остутствии радиус пакетов (не складывается с connection.suspend.timeout) connection.close.timeout=900 # При закрытии соединения по таймауту, 0 (по умолчанию) - просто закрыть, # 1 - попытаться сбросить также на NAS'е (вызвать connectionClose у обработчика активации сервисов) connection.close.timeout.forceClose=1 #атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию) radius.realm.default.attributes=Acct-Interim-Interval=9000 # Коды ошибок, при которых отвечать Access-Accept в состоянии disable (rejectToAccept) radius.disable.accessCodes=1,12,10 # Какие адреса выдавать при ответе Access-Accept в состоянии disable: # 0 (по умолчанию) - из radius.disable.ipCategories, 1 - так же, как если бы не было ошибки (в том числе привязанные к сервису в договоре) radius.disable.mode=0 radius.disable.ipCategories=5 # Атрибуты, выдаваемые при ответе Access-Accept в состоянии disable (rejectToAccept) radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1;Service-Name:1=RSE-SVC-EXT;Service-Parameter:1=Rate=1000 Burst=250000 # Id фиктивного сервиса, к которому будут привязываться сессии, по которым нормальный сервис не был найден (код ошибки: 1, логин не найден). # Необходим, если в radius.disable.accessCodes присутствует код 1 radius.disable.servId=3 #атрибуты, при наличии которых соединение должно считаться в состоянии DISABLE (т.е. с ограниченным доступом) # Используемый для отключенных пул адресов и параметры http-редиректа. radius.disable.pattern.attributes=HTTP-Redirect-Profile-Name=ddddddddd;Service-Parameter:1=XXX=111 YYY=radius.disable.pattern.attributes # Вендор атрибута, где хранится MAC-адрес #radius.macAddress.vendor=9 # Код атрибута, где хранится MAC-адрес #radius.macAddress.type=1 # Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair #radius.macAddress.prefix=client-mac-address= # Режим поиска сервиса: 0 (по умолчанию) - по логину, 1 - по интерфейсу на устройстве (в предобработке должны быть # проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или INTERFACE_ID), 2 - по VLAN на устройстве (в предобработке # должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID), 4 - по VLAN на устройстве или # дочернем устройстве (в предобработке должны быть проставлены опции AGENT_REMOTE_ID и AGENT_CIRCUIT_ID или VLAN_ID), # 5 - по MAC-адресу на устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS), 6 - по MAC-адресу на # устройстве или дочернем устройстве (в предобработке должна быть проставлена опция MAC_ADDRESS). radius.servSearchMode=1 # Нужно ли проверять пароль: 0 - нет, 1 (по умолчанию) - да. radius.password.verification=1 # Проверка на повторную аутентификацию при Access-Request. Бывает нужна в случаях, когда NAS сбрасывает (теряет) сессию, но # Stop-пакет не присылает и клиент пытается подключиться повторно, но у него стоит ограничение на максимум одну сессию. При совпадении # callingStationId с одной из активных сессий и установленным параметром: 1 - осуществляется попытка закрытия старой сессии (connectionClose), # 2 - попытка закрытия сессии (connectionClose) и завершение ее в базе, не дожидаясь стоп пакета, 3 - завершение в базе. radius.connection.checkDuplicate=2 # Нужно ли убирать домен перед поиском сервиса по логину из поля User-Name. По умолчанию - да (1). # Следует отключить, если при посылке CoA и PoD пакетов NAS'у необходим атрибут User-Name. radius.username.removeDomain=1 # Нужно ли убирать пробелы из поля User-Name перед поиском логина. По умолчанию - нет (0). # Следует отключить, если при посылке CoA и PoD пакетов NAS'у необходим атрибут User-Name. #radius.username.removeWhitespace=0 # Должен ли поиск по логину идти без учета регистра. По умолчанию - нет (0). #radius.username.ignoreCase=0 # Шаблон вывода ошибки в мониторе с использованием атрибутов из RADIUS-пакета radius.accessError.infoPattern=LOGIN:$User-Name # Привязка кодов опций модуля к атрибутам # Атрибуты, которые передаются для всех сессий. # IP-Interface-Name соответствует интерфейсу в конфиге RedBack, к которому "биндится" абонентская сессия (обязательный параметр). # DHCP-Max-Leases - обязательный параметр, необходим для получения адреса по DHCP. const.access.attributes=IP-Interface-Name=dhcpclients;DHCP-Max-Leases=1 option.1.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=1000 Burst=250000 XXX=123 option.2.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=2097152 Burst=4096 option.3.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=3145728 Burst=6144 option.4.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=4194304 Burst=8192 option.5.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=5242880 Burst=10240 option.6.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=6291456 Burst=10240 option.7.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=7340032 Burst=14336 option.8.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=8388608 Burst=16384 option.9.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=10000 Burst=2500000 option.10.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=50000 Burst=12500000 option.11.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=100000 Burst=25000000 option.12.attributes=Service-Name:1=RSE-SVC-EXT;Service-Options:1=1;Service-Parameter:1=Rate=300000 Burst=75000000 #данные атрибуты будут выдаваться в AccessAccept при удачной авторизации и при наличии активных опций в тарифе или сервисе radius.inetOption.1.attributes={@const.access.attributes};{@option.1.attributes} radius.inetOption.2.attributes={@const.access.attributes};{@option.2.attributes} radius.inetOption.3.attributes={@const.access.attributes};{@option.3.attributes} radius.inetOption.4.attributes={@const.access.attributes};{@option.4.attributes} radius.inetOption.5.attributes={@const.access.attributes};{@option.5.attributes} radius.inetOption.6.attributes={@const.access.attributes};{@option.6.attributes} radius.inetOption.7.attributes={@const.access.attributes};{@option.7.attributes} radius.inetOption.8.attributes={@const.access.attributes};{@option.8.attributes} radius.inetOption.9.attributes={@const.access.attributes};{@option.9.attributes} radius.inetOption.10.attributes={@const.access.attributes};{@option.10.attributes} radius.inetOption.11.attributes={@const.access.attributes};{@option.11.attributes} radius.inetOption.12.attributes={@const.access.attributes};{@option.12.attributes} # Параметры активации сервисов # длина паузы, если возникла ошибка #sa.error.pause=60 # количество заданий за раз #sa.batch.size=20 # время (сек) ожидания завершения всех заданий (при асинхронной работе) #sa.batch.wait=5 # пауза (сек) после обработки заданий #sa.batch.pause=0 # время (сек) ожидания новой задачи перед вызовом disconnect. #sa.batch.waitNext=5 #категории ip адресов из ресурсов, из которых будут выдаваться адреса ("пул", указывается во вкладке "IP ресурсы") radius.realm.default.ipCategories=3 #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #параметры dhcp #-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #настройки DHCP-сервера dhcp.renew=1 dhcp.option.serverIdentifier=172.16.98.7 dhcp.deviceSearchMode=0 dhcp.servSearchMode=1 radius.agent.option.removeHeader=2 radius.agent.option.remoteId.position=0 dhcp.option82.removeHeader=2 # Код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора dhcp.option82.agentRemoteId.code=2 dhcp.option82.agentRemoteId.position=0 dhcp.option82.agentRemoteId.length=0 #dhcp.key.pattern=$circuitId$remoteId dhcp.key.pattern=$deviceId:$remoteId:$circuitId:$mac dhcp.option.leaseTime=259200 dhcp.net.option.185.23.81.0:255.255.255.0.gate=185.23.81.1 dhcp.net.option.185.23.81.0:255.255.255.0.dns=185.23.80.2 dhcp.net.option.192.168.172.0:255.255.255.0.gate=192.168.172.1 dhcp.net.option.192.168.172.0:255.255.255.0.dns=185.23.80.02 #---------------------------- #параметры активации сервисов #---------------------------- #длина паузы, если возникла ошибка #sa.error.pause=60 #количество заданий за раз #sa.batch.size=20 #время (сек) ожидания завершения всех заданий (при асинхронной работе) #sa.batch.wait=5 #пауза (сек) после обработки заданий #sa.batch.pause=0 #время (сек) ожидания новой задачи перед вызовом disconnect. #sa.batch.waitNext=5 # Параметры обработчика активации сервисов # добавлять ли при отправке CoA-атрибуты реалма (для default - из radius.realm.default.attributes) sa.radius.realm.addAttributes=0 # откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации) sa.radius.connection.attributes=Acct-Session-Id # атрибуты CoA-запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1) sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1; # фиксированные атрибуты, добавляемые в запрос перед отправкой CoA #sa.radius.coa.attributes=TEST1=XXX;TEST2=YYY; # фиксированные атрибуты, добавляемые в запрос перед отправкой PoD #sa.radius.pod.attributes=TEST1=XXX;TEST2=YYY; #атрибуты, посылаемые при закрытии сервисов #sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-SVC-EXT |
Автор: | Amir [ 07 окт 2014, 14:52 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Сейчас при отключении добавляются параметры отсюда: sa.radius.disable.attributes=IP-Interface-Name=NOAUTH;DHCP-Max-Leases=1; Попробуйте изменить, чтобы ответил ACK, например: sa.radius.disable.attributes=IP-Interface-Name=NOAUTH; Если как в примере в wiki, то sa.radius.disable.attributes=Acct-Interim-Interval=900;Forward-Policy=in:NOAUTH-IPOE;HTTP-Redirect-Profile-Name=NOAUTH Но скорее всего есть несколько способов, потому что есть еще как минимум один - когда при редиректе идет сервисный аккаунтинг, например, с User-Name=NOAUTH. Я обычно рекомендую такой вариант, чтобы биллинг по сервисной сессии узнавал, что сессия в состоянии отключена (доступ ограничен). |
Автор: | Угрюмов Роман [ 07 окт 2014, 15:20 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Amir писал(а): sa.radius.disable.attributes=IP-Interface-Name=NOAUTH; Ничего не изменилось, ошибка 401 Amir писал(а): sa.radius.disable.attributes=Acct-Interim-Interval=900;Forward-Policy=in:NOAUTH-IPOE;HTTP-Redirect-Profile-Name=NOAUTH Увидел в мониторе разрыв соединения, в логе ошибка 555: Код: connection 10-07/13:11:48 INFO [sa-p-14-t-50] RadiusClient - Sending to /172.16.98.7:3799 Packet type: CoA-Request Identifier: 1 Authenticator: {EE F9 2F D9 00 1B D1 32 5A 15 37 B8 A6 CB 1F 1C} Attributes: Acct-Interim-Interval=900 Acct-Session-Id=0202FFFF780051A7-5433AE02 Forward-Policy=in:NOAUTH-IPOE HTTP-Redirect-Profile-Name=NOAUTH connection 10-07/13:11:48 INFO [sa-p-14-t-50] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok. connection 10-07/13:11:48 INFO [sa-p-14-t-50] ServiceActivatorDeviceWorker - Process event type[2] result=true connection 10-07/13:11:48 INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799 Packet type: CoA-NAK Identifier: 1 Authenticator: {B1 74 51 9A E4 B1 0E B0 E9 F6 F7 AC 1A CE 1F 63} Attributes: Error-Cause=555 Event-Timestamp=1412673252 Роутер, соединение которому я оборвал так и не высылает пакет переавторизации, но интернет пропал, то есть сессия всеже разорвалась. |
Автор: | Amir [ 07 окт 2014, 15:32 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Нужно знать, какие атрибуты посылать. А какой логики хотите добиться? У вас же IPoE через DHCP82, значит авторизация от SE вообще не пойдет пока от абонента не пойдет новый DHCP OFFER. А DHCP OFFER не пойдет пока не кончится dhcpLease или абонент не переключит соединение. Когда нужно ограничить доступ - ограничиваем с помощью CoA (чего сейчас и пытаемся добиться), при этом сессия никак не сбрасывается - меняется ее состояние в биллинге на отключен. У абонента остается какое-то время тот же самый IP, а когда истечет lease - тогда он переполучит серый IP. Когда абонент заплатит - на SE включаем сервисы с помощью тех же CoA - какое-то время у абонента остается серый адрес. При этом ставить очень маленький dhcpLease я не рекомендую, т.к. DHCP - не RADIUS - если вдруг перестать на него отвечать, то абонент не сможет работать. |
Автор: | Угрюмов Роман [ 07 окт 2014, 15:37 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
У меня сейчас цель простая, разорвать соединение с клиентом, так что бы его оборудование перезапросило авторизацию по Radius протоколу и DHCP выдал новый адрес. Алгоритм который пытаюсь реализовать такой. Используется Opt82 c авторизацией порт:устройство 1) По приходу первого пакета авторизации автоматически создается договор на этом порт:устройство в статусе ПРИОСТАНОВЛЕН 2) RejectToAcept перегнаправляет клиента на локальный ресурс, где он читает страницу с условиями подключения и нажимает кнопку ПОДКЛЮЧИТЬСЯ 3) При нажатии на кнопку ПОДКЛЮЧИТЬСЯ отрабатывает скрипрт, который по текущему IP я находит договор и меняет статус договора на АКТИВЕН 4) РВУ СЕССИЮ 5) Клиент переподключается и DHCP выдает нормальный белый IP и клиент работает Все это реализовано кроме пункта 4 - разрыв сессии |
Автор: | Угрюмов Роман [ 07 окт 2014, 18:28 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Добавил в Access и Accounting в dictionary.xml строку <attribute name="Deactivate-Service-Name" tag="2" type="string" code="194"/> Все равно не вставляет Код: sa.radius.service.closeAttributes=Deactivate-Service-Name:1=RSE-SVC-EXT Если сделать вот так: Код: sa.radius.disable.attributes=Deactivate-Service-Name:1=RSE-SVC-EXT То получаю вот такой лог: Код: connection 10-07/16:23:46 INFO [sa-p-14-t-13] RadiusClient - Sending to /172.16.98.7:3799 Packet type: CoA-Request Identifier: 2 Authenticator: {AE 2D 04 9B AC 7B B4 62 66 8D 81 7F 7F D3 C9 7E} Attributes: Acct-Session-Id=0202FFFF780051BD-5433CC8C Deactivate-Service-Name=RSE-SVC-EXT connection 10-07/16:23:46 INFO [sa-p-14-t-13] ServiceActivatorDeviceWorker - Process event type[2] result=true connection 10-07/16:23:46 INFO [rds-clnt-/172.16.98.7-3799] RadiusClient - Recieved from /172.16.98.7:3799 Packet type: CoA-NAK Identifier: 2 Authenticator: {2B 03 0C D9 7D E3 4F A5 B1 81 20 BB B4 D2 37 57} Attributes: Error-Cause=404 Event-Timestamp=1412684770 Из документации 404 Invalid Request |
Автор: | Угрюмов Роман [ 07 окт 2014, 18:40 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Господа! В той версии что вы выложили для загрузки: 6.0_83 тоже нет в словаре Deactivate-Service-Name |
Автор: | barguzin2 [ 07 окт 2014, 19:55 ] |
Заголовок сообщения: | Re: Проблема с закрытием сессии |
Покажите лог авторизации и старт пакета этой сессии. Похоже нестыковка настроек биллинга и SE. |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |