forum.bitel.ru
http://forum.bitel.ru/

Решение SmartEdge 100 с авторизацией по порту коммутатора
http://forum.bitel.ru/viewtopic.php?f=44&t=5361
Страница 3 из 7

Автор:  Администратор [ 24 окт 2011, 14:23 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Добавил. Спасибо.

Автор:  Anayalore [ 21 дек 2011, 20:56 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

А планируется ли гайд на вики по этой теме для статик CLIPS ?

Автор:  Администратор [ 29 дек 2011, 12:48 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

А статик CLIPS это что такое?

Автор:  Anayalore [ 29 дек 2011, 13:55 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Основным отличием такого типа CLIPS доступа (от Dynamic CLIPS, пример для которого висит на вики) является то, что SmartEdge не участвует в назначении IP адреса для абонента. Но сам IP адрес для данного абонента всегда известен и не меняется. Такой способ доступа в SmartEdge называется Static CLIPS.

Уже разобрался, настраивается так же, только DHCP не используется.

Автор:  sergey-xxi [ 28 янв 2012, 18:56 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Пытаемся сейчас настроить данное решение. Документации по параметрам inet-accounting.xml и inet-access.xml я так понял что еще просто нет.

Автор:  stark [ 31 янв 2012, 15:08 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

sergey-xxi писал(а):
Пытаемся сейчас настроить данное решение. Документации по параметрам inet-accounting.xml и inet-access.xml я так понял что еще просто нет.

Спрашивайте - опишем . Там не так уж много параметров.

Автор:  Alex-XXI [ 13 фев 2012, 18:07 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

У нас схема немного отличающаяся от вики:
Клиент - Коммутатор с Options.82 - Коммутатор L3 (DHCP-relay) - SE100 - Мир
|
Сервер биллинга

Коммутатор L3 является DHCP-релеем, перенаправляет DHCP-запросы на редбек и одновременно является шлюзом для абонентов. Конфиг редбека:
Код:
context IPOE
!
 no ip domain-lookup
!
# Интерфейс, к которому будут "биндиться" абоненты после авторизации
 interface CLIENTS multibind
  ip address 10.25.0.1/24
  dhcp proxy 65535
  ip arp secured-arp
!
# Интерфейс, к которому будут "биндиться" абоненты, не прошедшие авторизацию (аналог Reject-To-Accept)
 interface NOAUTH multibind
  ip address 10.26.0.1/24
  dhcp proxy 65535
!
# Интерфейс для общения с Radius-сервером
 interface loop0 loopback
  ip address 192.168.3.1/32
   ip source-address radius dhcp-server
 no logging console
!
# Акцесс-лист для абонентов, не прошедших авторизацию. Разрешает работу DNS и DHCP, а также позволяет выйти на страницу управления и сайт провайдера.
 policy access-list HTTP-REDIRECT
  seq 10 permit tcp any host x.x.x.x eq www class CLS-NORMAL
  seq 19 permit udp any host x.x.x.x eq domain class CLS-NORMAL
  seq 20 permit tcp any host x.x.x.x eq www class CLS-NORMAL
  seq 21 permit udp any eq bootpc host x.x.x.x eq bootps class CLS-NORMAL
  seq 22 permit udp any eq bootpc host 10.26.0.1 eq bootps class CLS-NORMAL
  seq 30 permit tcp any any eq www class CLS-REDIRECT
  seq 40 permit ip any any class CLS-DROP
!
# Классы для разделения трафика по зонам (локальный и внешний)
 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 x.x.x.x 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 x.x.x.x 0.0.3.255 any class INTERNAL
  seq 30 permit ip any any class EXTERNAL
!
# Профиль http-редиректа (всех не прошедних авторизацию перенаправлять на страницу с ошибкой)
 http-redirect profile NOAUTH
  url "http://www.site.ru"
!
# Настройки Radius
 aaa authentication administrator local
 aaa authentication administrator maximum sessions 1
 aaa authentication subscriber radius
 aaa accounting subscriber radius
 aaa update subscriber 10
 aaa accounting event dhcp
 aaa hint ip-address
 radius accounting server 192.168.7.5 encrypted-key XXXXXXXXXXXXXXX port 11813
 radius coa server 192.168.7.5 encrypted-key XXXXXXXXXXXXXXX port 3799
!
 radius server 192.168.7.5 encrypted-key XXXXXXXXXXXXXXX port 11812
 radius attribute nas-ip-address interface loop0
 radius attribute nas-port format session-info
 radius attribute nas-identifier Redback-IPOE
!
# Полиси по умолчанию для абонента (переопределяется через Radius-атрибуты)
 subscriber default
   qos policy policing DEF-IPOE-IN
   qos policy metering DEF-IPOE-OUT
!
# Профиль сервиса. В нем задаются параметры подключения (скорость), а также указывается на то, что учет трафика необходимо вести по qos классу EXTERNAL
 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
!
 ip route 0.0.0.0/0 context local
!
# Адрес DHCP-сервера
 dhcp relay server 192.168.4.1 #здесь указан адрес коммутатора L3
!

В логах биллинга пусто, подскажите куда копать?

Автор:  rush [ 13 фев 2012, 22:49 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Копать в сторону выяснения того, приходят ли на биллинг Radius-запросы.

И уточните, на каком порту слушают BGInetAccess и BGInetAccounting. У вас в конфиге это 11812 и 11813, а по умолчанию там 1812 и 1813

Автор:  sergey-xxi [ 16 фев 2012, 19:25 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

теперь стали приходить dhcp запросы, но дальше дело не идет. Должны ли радиус запросы приходить в месте dhcp-запросами? Или они приходят после того как серв dhcp отвечает.
Код:
dhcp 02-16/21:09:00  INFO [dhcpLstnr-p-13-t-10] InetAbstractDhcpProcessor - REQUEST_AFTER_PREPROCESS:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 1569594634, secs: 7168, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 192.168.3.1
Client MAC: {0034A1340011}
  {116}={01}
  {61}={010034A1340011}
  Requested IP Address{50}=192.168.4.10
  Host name{12}={sercomp}
  {60}={4D53465420352E30}
  Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, -7, 43}
  Agent information{82}=
    sub{1}={00040003010F}
    sub{2}={00060012CFF2A740}

dhcp 02-16/21:09:00  INFO [dhcpLstnr-p-13-t-10] InetDhcpDevice - SearchMode: 1; vlan: 3; interfaceId: 15; remoteId: 0012CFF2A740
dhcp 02-16/21:09:00  INFO [dhcpLstnr-p-13-t-10] InetDhcpProcessor - InetServ not found.


смущает вот эта строчка InetDhcpProcessor - InetServ not found

Автор:  sergey-xxi [ 02 мар 2012, 19:59 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

С предыдущим постом разобрались, релей слал запросы на прямую к биллингу, а не через редбэк.
Теперь другая проблема, нет dhcp запросов то есть accesse-request приходит, далее идет access-accept а dhcp-discover нет!
Код:
adius 03-02/17:52:25  INFO [rdsLstnr-p-6-t-1] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 40
Authenticator: {A4 DC 11 34 ED A3 9A 29 62 74 B9 0B E6 C2 C3 8F}
Attributes:
  User-Name=0012cff2a740:14@test
  NAS-Port-Id=2/1 vlan-id 26 clips 147960
  NAS-Identifier=RedBack
  User-Password=RedBack
  NAS-IP-Address=192.168.12.247
  NAS-Port=553648154
  Service-Type=5
  Calling-Station-Id=000c42823fd4
  NAS-Port-Type=5
  Called-Station-Id=192.168.4.1
  Platform-Type=4
  DHCP-Field={01 C0 A8 04 01}
  Medium-Type=11
  Agent-Remote-Id={00 06 00 12 CF F2 A7 40}
  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}
  Agent-Circuit-Id={00 04 00 03 01 14}
  OS-Version=6.5.1.4
  Mac-Addr=00-0c-42-82-3f-d4
  NAS-Real-Port=553648154
  UNKNOWN[3561--1]={02 0A 00 06 00 12 CF F2 A7 40}
  UNKNOWN[3561--1]={01 08 00 04 00 03 01 14}

radius 03-02/17:52:25  INFO [rdsLstnr-p-6-t-1] InetRadiusProcessor - [username=0012cff2a740:14] Authenticated as inetServId:17
radius 03-02/17:52:25  INFO [rdsLstnr-p-6-t-1] Access - inetServ[id=17] balance ok: 0.00 [0]
radius 03-02/17:52:25  INFO [rdsLstnr-p-6-t-1] InetApplication - TariffOptionMap: {}
radius 03-02/17:52:25  INFO [rdsLstnr-p-6-t-1] InetRadiusProcessor - Return code=0
radius 03-02/17:52:25  INFO [rdsLstnr-p-6-t-1] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Accept
Identifier: 40
Authenticator: {}
Attributes:
  Acct-Interim-Interval=900
  Framed-IP-Address=192.168.4.188
  DHCP-Max-Leases=1
  Service-Name:1=RSE-SVC-EXT
  Service-Options:1=1
  Service-Parameter:1=Rate=10000 Burst=1250000
  IP-Interface-Name=subnet-192.168.4.0/24

Process time auth: 4

radius 03-02/17:52:25  INFO [rdsLstnr-p-6-t-1] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Accept
Identifier: 40
Authenticator: {16 E9 84 C7 F6 3B 84 3C 52 6A AB 79 89 8F 19 EA}
Attributes:
  Acct-Interim-Interval=900
  DHCP-Max-Leases=1
  Service-Name:1=RSE-SVC-EXT
  Service-Options:1=1
  Service-Parameter:1=Rate=10000 Burst=1250000
  IP-Interface-Name=subnet-192.168.4.0/24


dhcp.log пуст. Слушаю трафик между биллингом и редбеком. Идут только радиус пакеты, DHCP запросов нет

кто нибудь может выложить конфиг редбека, для сравнения.

Автор:  rush [ 06 мар 2012, 11:37 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

debug dhcp-relay all
debug clips all
debug aaa all

Автор:  Alex-XXI [ 10 мар 2012, 14:30 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Отключили в редбеке авторизацию через радиус, стали приходить отрелееные DHCP-запросы, но в логах биллинга сыпят ошибки, IP-адрес не выдается:
Код:
dhcp 03-10/12:28:09  INFO [dhcpLstnr-p-8-t-1] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 2
xid: -373344361, secs: 11, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 192.168.4.254
Client MAC: {000C42823FD4}
  {61}={01000C42823FD4}
  Parameter request list{55}={1, 121, 3, 33, 6, 42}
  Host name{12}={test}
  Agent information{82}=
    sub{1}={000400030114}
    sub{2}={00060012CFF2A740}

dhcp 03-10/12:28:09  INFO [dhcpLstnr-p-8-t-1] InetAbstractDhcpProcessor - REQUEST_AFTER_PREPROCESS:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 2
xid: -373344361, secs: 11, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 192.168.4.254
Client MAC: {000C42823FD4}
  {61}={01000C42823FD4}
  Parameter request list{55}={1, 121, 3, 33, 6, 42}
  Host name{12}={test}
  Agent information{82}=
    sub{1}={14}
    sub{2}={0012CFF2A740}

dhcp 03-10/12:28:09 ERROR [dhcpLstnr-p-8-t-1] InetDhcpProcessor - 2
java.lang.ArrayIndexOutOfBoundsException: 2
        at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpDevice.searchServ(InetDhcpDevice.java:198)
        at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor.processRequestImpl(InetDhcpProcessor.java:128)
        at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:40)
        at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:1)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:52)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)


Автор:  Amir [ 10 мар 2012, 14:59 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Цитата:
Agent information{82}=
sub{1}={14}
sub{2}={0012CFF2A740}
По умолчанию из option82 извлекаются данные как для dlink'а
Код:
#код субопции
dhcp.82.vlanOptionCode=1
#положение значения vlan в субопции (из-за этого ошибка появляется, т.к. со второго байта пытается считать, к тому же длиной два байта)
dhcp.82.vlanPosition=2
dhcp.82.interfaceOptionCode=1
dhcp.82.interfacePosition=5
У вас, возможно, vlan находится в субопции 2. Или можно указать dhcp.82.vlanOptionCode=-1, чтобы значение vlan не извлекалось, если вдруг оно не нужно.

Но без Radius-Access по такой схеме работать вроде бы не будет, т.к. параметры доступа выдаются через Access-Accept, и ip, который выдастся определяется тогда же.

Автор:  Alex-XXI [ 10 мар 2012, 15:47 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Amir писал(а):
Цитата:
Agent information{82}=
sub{1}={14}
sub{2}={0012CFF2A740}
По умолчанию из option82 извлекаются данные как для dlink'а
Код:
#код субопции
dhcp.82.vlanOptionCode=1
#положение значения vlan в субопции (из-за этого ошибка появляется, т.к. со второго байта пытается считать, к тому же длиной два байта)
dhcp.82.vlanPosition=2
dhcp.82.interfaceOptionCode=1
dhcp.82.interfacePosition=5
У вас, возможно, vlan находится в субопции 2. Или можно указать dhcp.82.vlanOptionCode=-1, чтобы значение vlan не извлекалось, если вдруг оно не нужно.

Но без Radius-Access по такой схеме работать вроде бы не будет, т.к. параметры доступа выдаются через Access-Accept, и ip, который выдастся определяется тогда же.

Тогда может подскажите в чем проблема. Радиус отправляет access-accept, но редбек все равно не отрелеивает DHCP-запрос. В access-accept отправляем по минимуму:

Код:
radius 03-10/12:52:25  INFO [rdsLstnr-p-6-t-1] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Accept
Identifier: 40
Authenticator: {16 E9 84 C7 F6 3B 84 3C 52 6A AB 79 89 8F 19 EA}
Attributes:
  DHCP-Max-Leases=1
  IP-Interface-Name=clients

При получении этого пакета редбек в дебаге пишет
Код:
%AAA-7-EXCEPT: rad_process_received_pkt: Could not find rad_msg (227) from srv tbl

Конфиг редбека:
Код:
context local
!
 interface clients multibind
  ip address 192.168.4.254/24
  dhcp proxy 250
!
 interface vlan2
  ip address 192.168.12.247/25
   ip source-address radius dhcp-server
!
 interface vlan26
  ip address 192.168.10.3/24
!
 aaa authentication subscriber radius
 aaa hint ip-address
 radius coa server 192.168.12.221 encrypted-key .......... port 3799
!
 radius server 192.168.12.221 encrypted-key ..........
 radius attribute nas-ip-address interface vlan2
 radius attribute nas-port format session-info
 radius attribute nas-identifier RedBack
!
 subscriber default
   dhcp max-addrs 1
 subscriber profile clients
   dhcp max-addrs 1
   ip interface name clients
!
 ip route 192.168.4.0/24 192.168.10.11 connected tag 777
!
 dhcp relay option
 dhcp relay server 192.168.12.221
!
port ethernet 2/1
 no shutdown
 medium-type copper
 encapsulation dot1q
 dot1q pvc 2
  bind interface vlan2 local
!
port ethernet 2/3
 no shutdown
 bind interface vlan26 local
 service clips dhcp context local

Автор:  Alex-XXI [ 10 мар 2012, 15:51 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Amir писал(а):
Но без Radius-Access по такой схеме работать вроде бы не будет, т.к. параметры доступа выдаются через Access-Accept, и ip, который выдастся определяется тогда же.

Тогда может подскажите в чем проблема. Радиус отправляет access-accept, но редбек все равно не отрелеивает DHCP-запрос. В access-accept отправляем по минимуму:

Код:
radius 03-10/12:52:25  INFO [rdsLstnr-p-6-t-1] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Accept
Identifier: 40
Authenticator: {16 E9 84 C7 F6 3B 84 3C 52 6A AB 79 89 8F 19 EA}
Attributes:
  DHCP-Max-Leases=1
  IP-Interface-Name=clients

При получении этого пакета редбек в дебаге пишет
Код:
%AAA-7-EXCEPT: rad_process_received_pkt: Could not find rad_msg (227) from srv tbl

Конфиг редбека:
Код:
context local
!
 interface clients multibind
  ip address 192.168.4.254/24
  dhcp proxy 250
!
 interface vlan2
  ip address 192.168.12.247/25
   ip source-address radius dhcp-server
!
 interface vlan26
  ip address 192.168.10.3/24
!
 aaa authentication subscriber radius
 aaa hint ip-address
 radius coa server 192.168.12.221 encrypted-key .......... port 3799
!
 radius server 192.168.12.221 encrypted-key ..........
 radius attribute nas-ip-address interface vlan2
 radius attribute nas-port format session-info
 radius attribute nas-identifier RedBack
!
 subscriber default
   dhcp max-addrs 1
 subscriber profile clients
   dhcp max-addrs 1
   ip interface name clients
!
 ip route 192.168.4.0/24 192.168.10.11 connected tag 777
!
 dhcp relay option
 dhcp relay server 192.168.12.221
!
port ethernet 2/1
 no shutdown
 medium-type copper
 encapsulation dot1q
 dot1q pvc 2
  bind interface vlan2 local
!
port ethernet 2/3
 no shutdown
 bind interface vlan26 local
 service clips dhcp context local

Автор:  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 Start
    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 с авторизацией по порту коммутатор

Возможно что-то с привязкой трафика не так. Можно скриншот?

Автор:  Alex-XXI [ 17 мар 2012, 00:07 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Вот

Вложения:
traf2.gif
traf2.gif [ 46.67 КБ | Просмотров: 16767 ]
traf1.gif
traf1.gif [ 15.76 КБ | Просмотров: 16767 ]
traf.gif
traf.gif [ 15.53 КБ | Просмотров: 16767 ]

Автор:  Amir [ 17 мар 2012, 00:39 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Сервисная сессия создается? Имя сервиса в сервисном радиус пакете точно SE?

Автор:  Alex-XXI [ 17 мар 2012, 00:57 ]
Заголовок сообщения:  Re: Решение SmartEdge 100 с авторизацией по порту коммутатор

Amir писал(а):
Сервисная сессия создается? Имя сервиса в сервисном радиус пакете точно SE?

Предполагаю, что нет. В мониторе сессий сессия есть, но если выбрать у нее сервисные сессии, то там пусто. В договоре в отчете сессии есть, но сервисных сессий также нет. В приложении лог InetAccounting при старте сессии.

Вложения:
all.log [13.99 КБ]
Скачиваний: 534

Автор:  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.

Страница 3 из 7 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/