forum.bitel.ru http://forum.bitel.ru/ |
|
Решение SmartEdge 100 с авторизацией по порту коммутатора http://forum.bitel.ru/viewtopic.php?f=44&t=5361 |
Страница 3 из 7 |
Автор: | Amir [ 10 мар 2012, 16:33 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
В wiki возращается Код: Acct-Interim-Interval=900 Может быть нужно обязательно указывать какой-нибудь сервис?
Framed-IP-Address=193.106.88.119 # Атрибут, необходимый для получения абонентом IP-адреса DHCP-Max-Leases=1 # Атрибуты для включения сервиса для абонента. Устанавливают скорость соединения и включают посервисный аккаунтинг. Service-Name:1=RSE-SVC-EXT Service-Options:1=1 Service-Parameter:1=Rate=6000 Burst=750000 # Обязательный атрибут, указывает, к какому IP-интерфейсу "привязать" абонента IP-Interface-Name=CLIENTS |
Автор: | Alex-XXI [ 10 мар 2012, 17:15 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Пробовали и с указанием сервисов, результат такой же, мистика какая-то. Периодически редбек дропает приходящие с биллинга access-accept пакеты: Код: %AAA-7-EXCEPT: rad_response_sanity_check: Authenticator check failed. Dropping the request. %AAA-7-EXCEPT: rad_process_received_pkt: Sanity check fail, drop this packet. Не может ли быть причиной ошибка в вычислении радиусом атрибута Authenticator ? Причиной оказалось, что биллинг по какой-то причине не использует секрет из параметра "radius.secret" конфига устройства. В свойствах устройства поле секрет было пустым, биллинг использовал это значение. Не смотря на это ошибка с DHCP осталась, IP-адрес не выдется |
Автор: | Amir [ 10 мар 2012, 22:34 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Цитата: Причиной оказалось, что биллинг по какой-то причине не использует секрет из параметра "radius.secret" конфига устройства. Да, секрет брался только из поля Секрет/community устройства. Выложили новый билд модуля, где параметр конфига radius.secret будет переопределять это значение.
|
Автор: | Alex-XXI [ 10 мар 2012, 22:52 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Проблема с DHCP была в том, что использовался InetDhcpProcessor вместо InetDhcpHelperProcessor, с последним все сразу заработало. |
Автор: | sergey-xxi [ 13 мар 2012, 20:53 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
пытаемся сейчас настроить qos policy, куска конфига в вики нет. вот наш конфиг Код: policy access-list SUB-IN seq 10 permit ip any 10.0.0.0 0.255.255.255 class INTERNAL seq 20 permit ip any 192.168.0.0 0.0.255.255 class INTERNAL seq 30 permit ip any ххх.ххх.ххх.0 0.0.3.255 class INTERNAL seq 40 permit ip any any class EXTERNAL ! policy access-list SUB-OUT seq 10 permit ip 10.0.0.0 0.255.255.255 any class INTERNAL seq 20 permit ip ххх.ххх.ххх.0 0.0.3.255 any class INTERNAL seq 30 permit ip any any class EXTERNAL subscriber default qos policy policing DEF-IPOE-IN qos policy metering DEF-IPOE-OUT dhcp max-addrs 1 radius service profile RSE-SVC-EXT parameter value Rate 100000 parameter value Burst 12500000 accounting in qos EXTERNAL accounting out qos EXTERNAL seq 10 attribute Dynamic-Policy-Filter "ip in forward class EXTERNAL qos" seq 20 attribute Dynamic-Policy-Filter "ip out forward class EXTERNAL qos" seq 30 attribute Dynamic-Qos-Parameter "meter-class-rate EXTERNAL rate-absolute $Rate" seq 40 attribute Dynamic-Qos-Parameter "meter-class-burst EXTERNAL $Burst" seq 50 attribute Dynamic-Qos-Parameter "police-class-rate EXTERNAL rate-absolute $Rate" seq 60 attribute Dynamic-Qos-Parameter "police-class-burst EXTERNAL $Burst" seq 70 attribute Service-Interim-Accounting 900 qos policy DEF-IPOE-IN policing ip access-group SUB-IN local class INTERNAL rate 1000 burst 125000 class EXTERNAL rate 2000 burst 250000 rate-calculation exclude layer-2-overhead ! qos policy DEF_IPOE-OUT metering ip access-group SUB-OUT local class INTERNAL rate 1000 burst 125000 class EXTERNAL rate 2000 burst 250000 rate-calculation exclude layer-2-overhead при этом redback перестает слать dhcp запросы, идет только радиус как только из subscriber default убираем qos policy: Код: qos policy policing DEF-IPOE-IN qos policy metering DEF-IPOE-OUT redback начинает слать dhcp запросы и пользватель получает ip и начинает работать кто может подсказать что не так с конфигом ? проблему решили сами, ошибка в конфиге qos policy DEF_IPOE-OUT metering заменили на - все стало работать |
Автор: | Alex-XXI [ 16 мар 2012, 21:44 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Подскажите в чем может быть проблема с аккаунтингом. Пакеты приходят в такой последовательности:
Accounting-Request Update Accounting-Request Service Start проходит 15 минут Accounting-Request Update Accounting-Request Service Update Код: radius 03-16/19:30:25 INFO [rdsLstnr-p-6-t-4] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Accounting-Request Identifier: 71 Authenticator: {0F 6C D5 6C 54 92 A9 06 7C 9B 38 1B F7 C9 C8 8F} Attributes: User-Name=0012cff2a740:0f User-Password=RedBack NAS-Identifier=RedBack NAS-IP-Address=192.168.12.247 NAS-Port=33751040 Service-Type=5 Framed-IP-Address=192.168.4.2 Acct-Input-Octets=21000 Acct-Output-Octets=21334 Acct-Status-Type=3 Acct-Session-Time=900 Acct-Input-Packets=350 Acct-Session-Id=0102FFFF78006C90-4F6358C1 Acct-Authentic=1 Acct-Multi-Session-Id=0102FFFF78006C90-4F6358C1 NAS-Port-Id=2/3 clips 158864 Acct-Output-Packets=351 Event-Timestamp=1331911750 Acct-Output-Gigawords=0 Acct-Input-Gigawords=0 Calling-Station-Id=000c42823fd4 NAS-Port-Type=5 Called-Station-Id=192.168.4.1 Acct-Mcast-Out-Packets-64={00 00 00 00 00 00 00 00} DHCP-Max-Leases=1 DHCP-Field={01 C0 A8 04 01} DHCP-Option={3D 3D 07 01 00 0C 42 82 3F D4} DHCP-Option={0C 0C 08 4D 69 6B 72 6F 54 69 6B} Acct-Output-Octets-64={00 00 00 00 00 00 53 56} Acct-Input-Octets-64={00 00 00 00 00 00 52 08} Acct-Output-Packets-64={00 00 00 00 00 00 01 5F} Acct-Input-Packets-64={00 00 00 00 00 00 01 5E} Acct-Mcast-In-Octets-64={00 00 00 00 00 00 00 00} Service-Parameter=Rate=10000 Burst=1250000 Assigned-IP-Address=192.168.4.2 Acct-Mcast-In-Packets-64={00 00 00 00 00 00 00 00} Acct-Mcast-Out-Octets-64={00 00 00 00 00 00 00 00} Acct-Update-Reason=26 Acct-Mcast-In-Octets=0 Acct-Mcast-Out-Octets=0 Acct-Mcast-In-Packets=0 Acct-Mcast-Out-Packets=0 Platform-Type=4 Medium-Type=11 Agent-Remote-Id={00 06 00 12 CF F2 A7 40} Agent-Circuit-Id={00 04 00 03 01 0F} IP-Interface-Name=clients Service-Name=SE Service-Options:0=1 OS-Version=6.5.1.4 NAS-Real-Port=33751040 UNKNOWN[3561--1]={02 0A 00 06 00 12 CF F2 A7 40} UNKNOWN[3561--1]={01 08 00 04 00 03 01 0F} radius 03-16/19:30:25 INFO [rdsLstnr-p-6-t-4] InetRadiusProcessor - Session 0102FFFF78006C90-4F6358C1 found. radius 03-16/19:30:25 DEBUG [rdsLstnr-p-6-t-4] connection - 941:919 Add time 300 radius 03-16/19:30:25 DEBUG [rdsLstnr-p-6-t-4] connection - 941:919 Add traffic 0=300 radius 03-16/19:30:25 DEBUG [rdsLstnr-p-6-t-4] connection - 941:919 Add traffic 0=300 |
Автор: | Amir [ 16 мар 2012, 22:45 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Возможно что-то с привязкой трафика не так. Можно скриншот? |
Автор: | Amir [ 17 мар 2012, 00:39 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Сервисная сессия создается? Имя сервиса в сервисном радиус пакете точно SE? |
Автор: | Alex-XXI [ 17 мар 2012, 00:57 ] | ||
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор | ||
Amir писал(а): Сервисная сессия создается? Имя сервиса в сервисном радиус пакете точно SE? Предполагаю, что нет. В мониторе сессий сессия есть, но если выбрать у нее сервисные сессии, то там пусто. В договоре в отчете сессии есть, но сервисных сессий также нет. В приложении лог InetAccounting при старте сессии.
|
Автор: | Amir [ 17 мар 2012, 02:22 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
В типе устройства SE прописан SmartedgeClipsProtocolHandler как обработчик процессора протокола? |
Автор: | Alex-XXI [ 17 мар 2012, 13:39 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
В качестве обработчика протокола прописан класс ru.clink.bgbilling.module.inet.serv.SmartEdgeProtocolHandler, вот его содержимое: Код: package ru.clink.bgbilling.module.inet.serv;
import org.apache.log4j.Logger; import ru.bitel.bgbilling.kernel.network.dhcp.*; import ru.bitel.bgbilling.kernel.network.radius.*; import ru.bitel.bgbilling.modules.inet.access.sa.*; import ru.bitel.common.*; import ru.bitel.common.sql.*; public class SmartEdgeProtocolHandler extends ProtocolHandlerAdapter implements RadiusProtocolHandler, DhcpProtocolHandler { private static final Logger log = Logger.getLogger( SmartEdgeServiceActivator.class ); @Override public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { String macAddr = request.getStringAttribute( 2352, 145, null ); byte[] remoteId = request.getByteAttribute( 2352, 96, null ); byte[] circuitId = request.getByteAttribute( 2352, 97, null ); if( macAddr != null && remoteId != null && circuitId != null ) { String callingStation = macAddr.replaceAll( "\\-", "" ); String userName = ""; log.info( "Format of Option 82 is D-link" ); userName = Utils.bytesToHexString( remoteId ).substring(4, 16) + ":" + Utils.bytesToHexString( circuitId ).substring(10, 12); userName = userName.toLowerCase(); request.setStringAttribute( -1, 1, userName ); request.setStringAttribute( -1, 2, "RedBack" ); request.setStringAttribute( -1, 31, callingStation ); } } @Override public void postprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { response.removeAttributes( -1, 8 ); } @Override public void preprocessAccountingRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { int acctStatusType = request.getIntAttribute( -1, 40, 0 ); // старты получается не обрабатываем, сессия стартует по апдейту if( acctStatusType != 1 && acctStatusType != 101 && acctStatusType != 2) { preprocessAccessRequest( request, response, connectionSet ); Integer ipaddr = request.getIntAttribute( 2352, 132, null ); if( ipaddr != null ) { request.setIntAttribute( -1, 8, ipaddr ); } } if ( acctStatusType == 3 ) { // обнуляем общие счетчики трафика (нас интересуют только посервисные) request.setIntAttribute(-1, 42, 0); request.setIntAttribute(-1, 43, 0); } // if ( acctStatusType == 1 ) { // preprocessAccessRequest( request, response, connectionSet ); // } if ( acctStatusType == 103 || acctStatusType == 102) { String sessionID = request.getStringAttribute(-1, 50, null); request.setStringAttribute(-1, 44, sessionID); } /*if ( acctStatusType == 102) { request.setIntAttribute(-1, 40, 2); }*/ if ( acctStatusType == 103 || acctStatusType == 102) { request.setIntAttribute(-1, 40, 3); } } @Override public void preprocessDhcpRequest( DhcpPacket request, DhcpPacket response ) throws Exception { //String userName = Utils.bytesToHexString( remoteId ).substring(4, 16) + ":" + Utils.bytesToHexString( circuitId ).substring(10, 12); try { byte[] circuitId = request.getSubOption( (byte)1 ).value; byte[] remoteId = request.getSubOption( (byte)2 ).value; byte[] mac = new byte[6]; byte[] port = new byte[1]; System.arraycopy(circuitId, 5, port, 0, 1); System.arraycopy(remoteId, 2, mac, 0, 6); request.setSubOption( (byte)1, port); request.setSubOption( (byte)2, mac); } catch (java.lang.NullPointerException e) { return; } } } |
Автор: | Amir [ 17 мар 2012, 15:25 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Поменяйте обработчики на ru.bitel.bgbilling.modules.inet.dyn... |
Автор: | Alex-XXI [ 17 мар 2012, 15:58 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Поменять название не проблема, проблема, что в этом классе должно быть. Для метода preprocessAccountingRequest в вики 2 варианта, а еще в биллинге есть 3 варианта. Какой все-таки нужно использовать? |
Автор: | Amir [ 17 мар 2012, 16:36 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Нужно использовать те, что в биллинге уже есть, в ru.bitel.bgbilling.modules.dyn.device.redback. |
Автор: | sergey-xxi [ 24 мар 2012, 03:33 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
поменяли обработчики, на те что в на ru.bitel.bgbilling.modules.inet.dyn... вот хеандлер Код: package ru.bitel.bgbilling.modules.inet.dyn.device.redback; import ru.bitel.bgbilling.kernel.network.dhcp.DhcpPacket; import ru.bitel.bgbilling.kernel.network.dhcp.DhcpProtocolHandler; import ru.bitel.bgbilling.kernel.network.radius.RadiusDictionary; import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket; import ru.bitel.bgbilling.kernel.network.radius.RadiusProtocolHandler; import ru.bitel.common.Utils; import ru.bitel.common.sql.ConnectionSet; import ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor; public class SmartEdgeClipsProtocolHandler extends SmartEdgeProtocolHandler implements RadiusProtocolHandler, DhcpProtocolHandler { /** * Установка username * @param request */ private void setUsername( RadiusPacket request ) { String macAddr = request.getStringAttribute( 2352, 145, null ); byte[] remoteId = request.getByteAttribute( 2352, 96, null ); byte[] circuitId = request.getByteAttribute( 2352, 97, null ); String realm = request.getStringAttribute(30); if( macAddr != null && remoteId != null && circuitId != null ) { String callingStation = macAddr.replaceAll( "\\-", "" ); String userName = Utils.bytesToHexString( remoteId ).substring(4, 16) + ":" + Utils.bytesToHexString( circuitId ).substring(10, 12); userName = userName.toLowerCase(); request.setStringAttribute( -1, 1, userName ); request.setStringAttribute( -1, 31, callingStation ); } } @Override public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { super.preprocessAccessRequest( request, response, connectionSet ); // устанавливаем поле username setUsername( request ); } @Override public void postprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { super.postprocessAccessRequest( request, response, connectionSet ); response.removeAttributes( -1, RadiusDictionary.Framed_IP_Address ); } @Override protected void preprocessAccountingRequestImpl( int acctStatusType, RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { acctStatusType = request.getIntAttribute( -1, 40, 0 ); // старты получается не обрабатываем, сессия стартует по апдейту if( acctStatusType != 1 && acctStatusType != 101 ) { preprocessAccessRequest( request, response, connectionSet ); Integer ipaddr = request.getIntAttribute( 2352, 132, null ); if( ipaddr != null ) { request.setIntAttribute( -1, 8, ipaddr ); } } if ( acctStatusType == 3 || acctStatusType == 2) { // обнуляем общие счетчики трафика (нас интересуют только посервисные) request.setIntAttribute(-1, 42, 0); request.setIntAttribute(-1, 43, 0); } if ( acctStatusType == 103 || acctStatusType == 102) { String sessionID = request.getStringAttribute(-1, 50, null); request.setStringAttribute(-1, 44, sessionID); } if ( acctStatusType == 103 || acctStatusType == 102) { request.setIntAttribute(-1, 40, 3); } setUsername( request ); } @Override public void preprocessDhcpRequest( DhcpPacket request, DhcpPacket response ) throws Exception { // подмена try { byte[] circuitId = request.getSubOption( (byte)1 ).value; byte[] remoteId = request.getSubOption( (byte)2 ).value; byte[] mac = new byte[6]; byte[] port = new byte[1]; System.arraycopy( circuitId, 5, port, 0, 1 ); System.arraycopy( remoteId, 2, mac, 0, 6 ); request.setSubOption( (byte)1, port ); request.setSubOption( (byte)2, mac ); } catch( java.lang.NullPointerException e ) { return; } } @Override public void postprocessDhcpRequest( DhcpPacket request, DhcpPacket response ) throws Exception { } } создается только родительская сессия, сервисной все равно нет. пакет сервисной сесии Код: radius 03-24/01:16:01 INFO [rdsLstnr-p-6-t-7] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS: Packet type: Accounting-Request Identifier: 38 Authenticator: {30 64 11 F4 88 40 CD 07 B5 EE 70 AD B8 C0 67 44} Attributes: User-Name=0012cff2a740:0f NAS-Identifier=RedBack NAS-IP-Address=192.168.1.247 NAS-Port=33751040 Service-Type=5 Framed-IP-Address=192.168.4.105 Acct-Input-Octets=197208 Acct-Output-Octets=334 Acct-Status-Type=3 Acct-Session-Time=900 Acct-Input-Packets=594 Acct-Session-Id=0102FFFF78007140-4F6CE42B Acct-Authentic=1 Acct-Multi-Session-Id=0102FFFF78007140-4F6CE42B NAS-Port-Id=2/3 clips 160064 Acct-Output-Packets=1 Event-Timestamp=1332537263 Acct-Output-Gigawords=0 Acct-Input-Gigawords=0 Calling-Station-Id=000c42823fd4 NAS-Port-Type=5 Called-Station-Id=192.168.4.1 Acct-Mcast-Out-Packets-64={00 00 00 00 00 00 00 00} DHCP-Max-Leases=1 UNKNOWN[2352-201]={01 C0 A8 04 01} UNKNOWN[2352-202]={3D 3D 07 01 00 0C 42 82 3F D4} UNKNOWN[2352-202]={0C 0C 08 4D 69 6B 72 6F 54 69 6B} Acct-Output-Octets-64={00 00 00 00 00 00 01 4E} Acct-Input-Octets-64={00 00 00 00 00 03 02 58} Acct-Output-Packets-64={00 00 00 00 00 00 00 01} Acct-Input-Packets-64={00 00 00 00 00 00 02 52} Acct-Mcast-In-Octets-64={00 00 00 00 00 00 00 00} Service-Parameter=Rate=10000 Burst=1250000 Assigned-IP-Address=192.168.4.105 Acct-Mcast-In-Packets-64={00 00 00 00 00 00 00 00} Acct-Mcast-Out-Octets-64={00 00 00 00 00 00 00 00} Acct-Update-Reason=26 Mac-Addr=00-0c-42-82-3f-d4 Acct-Mcast-In-Octets=0 Acct-Mcast-Out-Octets=0 Acct-Mcast-In-Packets=0 Acct-Mcast-Out-Packets=0 Platform-Type=4 Medium-Type=11 Agent-Remote-Id={00 06 00 12 CF F2 A7 40} Agent-Circuit-Id={00 04 00 03 01 0F} IP-Interface-Name=clients Service-Name=SE Service-Options:0=1 OS-Version=6.5.1.4 NAS-Real-Port=33751040 UNKNOWN[3561--1]={02 0A 00 06 00 12 CF F2 A7 40} UNKNOWN[3561--1]={01 08 00 04 00 03 01 0F} radius 03-24/01:16:01 INFO [rdsLstnr-p-6-t-7] InetRadiusProcessor - Session 0102FFFF78007140-4F6CE42B found. radius 03-24/01:16:01 DEBUG [rdsLstnr-p-6-t-7] connection - 1038:1247 Add time 300 radius 03-24/01:16:01 DEBUG [rdsLstnr-p-6-t-7] connection - 1038:1247 Add traffic 0=300 radius 03-24/01:16:01 DEBUG [rdsLstnr-p-6-t-7] connection - 1038:1247 Add traffic 0=300 radius 03-24/01:16:01 DEBUG [rdsLstnr-p-6-t-7] ProcessorRequest - Sending to /192.168.1.247:1812 radius 03-24/01:16:01 INFO [rdsLstnr-p-6-t-7] RadiusListenerWorker - RESPONSE: Packet type: Accounting-Response Identifier: 38 Authenticator: {42 5B B9 8F F1 2B B0 85 15 9F F7 68 72 86 24 5C} Attributes: 343 accounting 03-24/01:16:01 DEBUG [accwrkr-3-p-10-t-1] SessionFinishManager - Run SessionFinishManager... accounting 03-24/01:16:01 DEBUG [worker-p-13-t-1] InetLogProccessor - Run InetLogProcessor... accounting 03-24/01:16:01 DEBUG [accwrkr-3-p-10-t-1] SessionFinishManager - Finished 0 auto (checked 0) sessions for 0 ms. accounting 03-24/01:16:01 DEBUG [worker-p-13-t-1] InetLogProccessor - Proccesed 0 hours for 3 ms. accounting 03-24/01:16:01 DEBUG [worker-p-13-t-1] InetLogProccessor - InetLogProcessor finished mq 03-24/01:16:02 DEBUG [evpool-pblsh-p-4-t-2] EventProcessor - Publish: Event[pool:ru.bitel.bgbilling.modules.inet.accounting.event.InetAccountingEvent] timestamp: 1332537362106; moduleId: 1; pluginId: -1; cid: -1; scid: -1; userId: -1 accounting 03-24/01:16:11 DEBUG [accwrkr-1-p-12-t-1] connection - 1038:1247 Before calc inetOptions: 1 accounting 03-24/01:16:11 INFO [accwrkr-1-p-12-t-1] SessionTarifficationManager - Calculate for 24.03.2012 01:01:01 accounting 03-24/01:16:11 INFO [accwrkr-1-p-12-t-1] SessionTarifficationManager - TariffOptionMap: {} accounting 03-24/01:16:11 DEBUG [accwrkr-1-p-12-t-1] connection - 1038:1247 TariffRequest: PARAMS: mid: 1; cid: 2 ServiceCost [serviceId: -3; date1: ; date2: ; serviceStart: ; serviceEnd: ; accountingPeriodDays: 0; amount: 0; cost: null] имя сервиса передает правильно "SE" вот статус сессии из редбэка Код: Session state Up Circuit 2/3 clips 160064 Internal Circuit 2/3:511:63:31/7/2/28992 Interface bound clients Current port-limit unlimited Protocol Stack IPV4 dhcp max-addrs 1 (applied) ip interface clients (applied) dhcp option client id 0x3d0701000c42823fd4 (applied) dhcp option hostname 0x0c084d696b726f54696b (applied) qos-policing-policy DEF-IPOE-IN (applied from sub_default) qos-metering-policy DEF-IPOE-OUT (applied from sub_default) service (applied) [svc id: 0] SE (acct enabled) service-parameter (applied) [svc id: 0] Rate=10000 Burst=1250000 dynamic policy acl [svc mask: 0x0001] (applied in: qos out: qos) [svc id: 0] ip out forward class EXTERNAL qos [svc id: 0] ip in forward class EXTERNAL qos qos-dynamic-param [svc mask: 0x0001] (applied) [svc id: 0] meter-class-rate EXTERNAL rate-absolute 10000 (applied) [svc id: 0] meter-class-burst EXTERNAL 1250000 (applied) [svc id: 0] police-class-rate EXTERNAL rate-absolute 10000 (applied) [svc id: 0] police-class-burst EXTERNAL 1250000 (applied) service-acct (in) [svc mask: 0x0001] (applied) [svc id: 0] qos class-mask 0x02 service-acct (out) [svc mask: 0x0001] (applied) [svc id: 0] qos class-mask 0x02 service-interim-acct-interval [svc mask: 0x0001] (applied) [svc id: 0] 900 IP host entries installed by DHCP: (max_addr 1 cur_entries 1) 192.168.4.105 00:0c:42:82:3f:d4 на редбэке debug aaa exception %AAA-7-EXCEPT: aaa_process_dhcp_iphost_del: DHCP DEL lookup failed for pvc slot 1 port 2 channel 0xffff ip_addr 192.168.4.105 : drop что не так может быть ? |
Автор: | babay951 [ 11 апр 2012, 06:54 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Ну так кто-нибудь уже ввёл эту железяку в реальную работу или нет? В wiki не увидел как же netflow снимать. |
Автор: | akornilov [ 23 апр 2012, 14:38 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Коллеги, а где можно найти специалистов, которые за деньги донастроят нам BGBill версии 5.2 и интегрируют с SE100? А то у нас все в зависшем состоянии, плюс до конца не ясно, как Inet настроить с SE, нужно переносить весь код управления им из примеров для IPN для 5.1? |
Автор: | babay951 [ 27 апр 2012, 09:01 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Поддерживаю вопрос, может тоже нанимать будем на интеграцию. |
Автор: | Amir [ 27 апр 2012, 19:09 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Биллинг и мы можем настроить. Железки - нет. Работает у нескольких клиентов. Можно и по netflow собирать, но зачем, если она, насколько помню, в посервисном аккаунтинге может сама разделять трафик на виды? Цитата: как Inet настроить с SE, нужно переносить весь код управления им из примеров для IPN для 5.1? Скорее всего, вам хватит того, что уже есть в модуле inet. Какие скрипты у вас были в ipn?
|
Автор: | babay951 [ 11 май 2012, 12:31 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Думаю с настройка биллинга будут минимальные проблемы. Больше интересует как ведет себе данная железка. Будет ли успевать натить, шейпить и собирать статистику с 8000 абонентов, как заявлено? Вот и интересно, есть ли опыт. А то в рекламе одно пишут, а в реале получаешь кота в мешке. Типа ну да расчитано на 8000 абонентов, но мы же не говорили что одновременно она натить и шейпить будет. В такой конфигурации только 3000. |
Автор: | Yarlan Zey [ 11 май 2012, 15:02 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
это на наге. если железка есть, то даже пустят в закрытый раздел |
Автор: | akornilov [ 29 май 2012, 12:35 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Коллеги, задали вопрос на наге, решили и сюда продублировать, т.к. пока не ясно, в какую сторону смотреть. Вот он: ==== Вопрос из разряда "странного хочется": Можно ли "сэмулировать" выдачу клиенту серой подсети? Тоесть к примеру есть сеть 10.0.0.0/8 из которой мы хотим каждому клиенту выдать /24 сетку. При этом SmartEdge должен быть с адресом 10.xxx.yyy.1/24 в каждой подсети. DHCP сервер выдал клиенту нужные параметры (ip-адрес, маску, шлюз, ДНС). Собственно вопрос: как SmartEdge-у присвоить адрес 10.xxx.yyy.1/24? Или как-то убедить клиента что у SE есть этот адрес... Или как-то извернуться через proxy-arp... ==== По идее, после аутентификации и авторизации пользователя, биллинг что-то должен передать какими-то атрибутами на SE100, чтобы он прописал себе адрес из этой сети. Вопрос: возможно ли это и как это сделать? Спасибо. |
Автор: | skyb [ 29 май 2012, 13:07 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
akornilov Событие изменение сервиса, вешается скрипт который заходит на se и делает что нужно |
Автор: | akornilov [ 29 май 2012, 13:17 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Ну может все-таки SE может по атрибутам как-то сам понять, что этот адрес его и ему его нужно прописать самому себе? |
Автор: | snark [ 20 июн 2012, 17:21 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
babay951 писал(а): интересует как ведет себе данная железка Я на наге спрашивал, да и тут, где-то, тоже (с ходу не нашел - поищите). babay951 писал(а): Будет ли успевать натить, шейпить и собирать статистику с 8000 абонентов, как заявлено? В теории - да, т.к. все на ASIC-ах, если, конечно, не выходить за оговоренные в даташите/доке рамки. P.S. Господа админы, вынесите, пожалуйста, обсуждение железки в отдельную тему, куда нить сюда. |
Автор: | Cromeshnic [ 18 июл 2012, 07:05 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Неудобно: Для SmartEdgeServiceActivator атрибуты опций Inet задаются через префикс "sa.radius.option.", а для ISGPPPoEServiceActivator - через "nas.radius.inetOption." |
Автор: | Amir [ 18 июл 2012, 13:08 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Не понял, почему так. Возможно, из-за обратной совместимости. Чтобы было правильно и удобно, укажите в конфигурации устройства (типа устройства) Код: sa.radius.option.attributesPrefix=radius.inetOption. Тогда всегда будет "radius.inetOption.".Кстати, nas.radius.inetOption. - это устаревший вариант, правильно указывать "radius.inetOption.". При Access-Request по умолчанию именно оттуда берутся RADIUS-атрибуты. |
Автор: | Cromeshnic [ 25 июл 2012, 07:26 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Пробуем схему с Reject-To-Accept. Сервер: вер. 5.2 сборка 1241 от 20.07.2012 10:05:29 os: Linux; java: Java HotSpot(TM) Client VM, v.1.6.0_27 inet вер. 5.2 сборка 932 от 17.07.2012 14:25:38 Код: @redirect.attributes=HTTP-Redirect-Profile-Name=REDIRECT;Forward-Policy=in:HTTP-REDIRECT @const.access.attributes=Service-Type=2;Framed-Protocol=1;Acct-Interim-Interval=900;Sub-Profile-Name=base-unlimited # #test sa.radius.disable.attributes={@const.access.attributes};{@redirect.attributes} # sa.radius.connection.withoutBreak=1 # Коды ошибок, при которых пользователю выдается серый адрес и устанавливается HTTP-редирект. realm.reject.error=1,2,3,4,10,11,12 # Используемый для отключенных пул адресов и параметры http-редиректа. nas.radius.realm.reject.pool=7 nas.radius.realm.reject.attributes={@const.access.attributes};{@redirect.attributes} Клиент подключается, ему выдаётся Ip из пула - всё ок. Но после этого приходит ServiceActivatorEvent с oldState=1 и уже редиректнутому клиенту посылается CoA Цитата: 07-25/10:08:39 DEBUG [sa-p-11-t-2] AcknowledgeConsumer - Caught BGInetAccountingPPPoE:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAccountingEvent] moduleId: 25; pluginId: no; cid: 191468; scid: -1; userId: 0; type: 1; deviceId: 7; connectionId: 13695; timestamp: 1343178519593 07-25/10:08:39 INFO [sa-p-11-t-2] ServiceActivatorDeviceWorker - Do task deviceId: 7; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAccountingEvent] moduleId: 25; pluginId: no; cid: 191468; scid: -1; userId: 0; type: 1; deviceId: 7; connectionId: 13695; timestamp: 1343178519593 07-25/10:08:39 INFO [sa-p-11-t-2] InetApplication - TariffOptionMap: {12=ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionList$OptionItem@ea3cdf, 5=ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionList$OptionItem@11e281f} 07-25/10:08:39 DEBUG [sa-p-11-t-2] TrafficRangeManager - Add to RangeKey[21071109755400:3:-603979569] 0 (0, 3600) 07-25/10:08:39 INFO [sa-p-11-t-2] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 22; call: true; oldState: 0; newState: 0; oldOptionSet: 20,43,738,13,14; newOptionSet: 20,43,738,13,14 07-25/10:08:39 INFO [sa-p-11-t-2] ServiceActivatorDeviceWorker - Processing deviceId:7; command ServiceActivatorEvent type=4; inetServId: 22; call: true; oldState: 0; newState: 0; oldOptionSet: 20,43,738,13,14; newOptionSet: 20,43,738,13,14 07-25/10:08:39 INFO [sa-p-11-t-2] ServiceActivatorSet - Invoking onAccountingStart 07-25/10:08:39 INFO [sa-p-11-t-2] ServiceActivatorDeviceWorker - Process event type[4] result=true 07-25/10:08:44 INFO [sa-p-11-t-2] ServiceActivatorSet - Disconnecting from device 07-25/10:08:54 INFO [sa-p-11-t-1] ServiceActivatorSet - Connecting to device 07-25/10:08:54 DEBUG [sa-p-11-t-1] AcknowledgeConsumer - Caught BGInetAccountingPPPoE:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 25; pluginId: no; cid: 191468; scid: -1; userId: 0; deviceId: 7; inetServId: 22; connectionId: 13695; state: 0; accessCode: 10; timestamp: 1343178533906 07-25/10:08:54 INFO [sa-p-11-t-1] ServiceActivatorDeviceWorker - Do task deviceId: 7; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 25; pluginId: no; cid: 191468; scid: -1; userId: 0; deviceId: 7; inetServId: 22; connectionId: 13695; state: 0; accessCode: 10; timestamp: 1343178533906 07-25/10:08:54 INFO [sa-p-11-t-1] InetApplication - TariffOptionMap: {12=ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionList$OptionItem@ea3cdf, 5=ru.bitel.bgbilling.kernel.tariff.option.server.bean.ContractTariffOptionList$OptionItem@11e281f} 07-25/10:08:54 DEBUG [sa-p-11-t-1] TrafficRangeManager - Add to RangeKey[21071109755400:3:-603979569] 0 (0, 3600) 07-25/10:08:54 INFO [sa-p-11-t-1] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 22; call: true; oldState: 1; newState: 0; oldOptionSet: 20,43,738,13,14; newOptionSet: 20,43,738,13,14 07-25/10:08:54 INFO [sa-p-11-t-1] ServiceActivatorDeviceWorker - Processing deviceId:7; command ServiceActivatorEvent type=2; inetServId: 22; call: true; oldState: 1; newState: 0; oldOptionSet: 20,43,738,13,14; newOptionSet: 20,43,738,13,14 07-25/10:08:54 INFO [sa-p-11-t-1] ServiceActivatorSet - Invoking connectionModify 07-25/10:08:54 INFO [sa-p-11-t-1] SmartEdgeServiceActivator - Connection modify: oldState: 1; newState: 0; oldOptionSet: [20, 43, 738, 13, 14]; newOptionSet: [20, 43, 738, 13, 14] 07-25/10:08:54 INFO [sa-p-11-t-1] SmartEdgeServiceActivator - Send CoA lock: Packet type: CoA-Request Identifier: 1 Authenticator: {39 A4 09 C0 47 29 3B 44 7B 83 94 3F 92 50 AC 3B} Attributes: Acct-Interim-Interval=900 Acct-Interim-Interval=900 Service-Type=2 Framed-Protocol=1 Acct-Session-Id=0100FFFF680000B5-500F474C Forward-Policy=in:HTTP-REDIRECT HTTP-Redirect-Profile-Name=REDIRECT Sub-Profile-Name=base-unlimited 07-25/10:08:54 INFO [sa-p-11-t-1] RadiusClient - Sending to /x.x.x.x:3799 Packet type: CoA-Request Identifier: 1 Authenticator: {39 A4 09 C0 47 29 3B 44 7B 83 94 3F 92 50 AC 3B} Attributes: Acct-Interim-Interval=900 Acct-Interim-Interval=900 Service-Type=2 Framed-Protocol=1 Acct-Session-Id=0100FFFF680000B5-500F474C Forward-Policy=in:HTTP-REDIRECT HTTP-Redirect-Profile-Name=REDIRECT Sub-Profile-Name=base-unlimited 07-25/10:08:54 INFO [sa-p-11-t-1] DatagramChannelListener - ru.bitel.bgbilling.kernel.network.radius.RadiusClient$RadiusDatagramChannelListener socket init ok. 07-25/10:08:54 INFO [sa-p-11-t-1] ServiceActivatorDeviceWorker - Process event type[2] result=true 07-25/10:08:54 INFO [rds-clnt-/x.x.x.x-3799] RadiusClient - Recieved from /x.x.x.x:3799 Packet type: CoA-NAK Identifier: 1 Authenticator: {6F 2A A3 EB 79 1A AD 01 E6 AA 48 E2 87 2A 30 FE} Attributes: Error-Cause=405 Event-Timestamp=1343178586 Service-Type=2 07-25/10:08:59 DEBUG [sa-p-11-t-1] EventWorker - Waiting 5000 millis for last future results will done... 07-25/10:08:59 INFO [sa-p-11-t-1] EventWorker - Future is done 07-25/10:08:59 WARN [sa-p-11-t-1] ServiceActivatorDeviceWorker - Task return false 07-25/10:08:59 INFO [sa-p-11-t-1] ServiceActivatorSet - Disconnecting from device Т.е. при старте oldState=0, а потом становится =1: Цитата: 07-25/10:08:39 INFO [sa-p-11-t-2] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 22; call: true; oldState: 0; newState: 0; oldOptionSet: 20,43,738,13,14; newOptionSet: 20,43,738,13,14 Цитата: 07-25/10:08:54 INFO [sa-p-11-t-1] ServiceActivatorDeviceWorker - Processing deviceId:7; command ServiceActivatorEvent type=2; inetServId: 22; call: true; oldState: 1; newState: 0; oldOptionSet: 20,43,738,13,14; newOptionSet: 20,43,738,13,14 Как правильно реализовать Reject-To-Accept? |
Автор: | Cromeshnic [ 25 июл 2012, 13:03 ] |
Заголовок сообщения: | Re: Решение SmartEdge 100 с авторизацией по порту коммутатор |
Ещё такой момент. Подключаем сессию при положительном балансе, затем загоняем в минуса - всё ок, отрабатывает connectionModify, уходит CoA с редиректом. Но после этого, если баланс опять сделать положительным, connectionModify не вызыватеся - только serviceModify. Это нормально? |
Страница 3 из 7 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |