Jump to content

Cisco ASR1002X дружба з Ubilling.


Recommended Posts

Всім добра!

Намагаюсь подружити ASR1002X з Убілінгом.

На стенді з десятком клієнтів все чудово працює.

Авторизує,  пускає в інет шле на заглушку все чудесно.

На продакшені виникають проблеми.

----------------------------------------------------------------------------------------------------------------------------------------

Що ми маєм.

Є певна кількість вланів, по влану на OLT чи на глазок OLT Всі влани від OLT доставлені на ASR.

Білі і сірі IP адреси в перемішку по всіх вланах. 

Налаштований radius і купаген на стороні білінгу і ASR, абонент ідентифікується і йому призначається відповідний сервіс.

-----------------------------------------------------------------------------------------------------------------------------------------

Логіка роботи.

Абонент при підключенні до мережі запитує адрес від DHCP-сервера

Cisco ASR робить relay  DHCP запиту на білінг через ip helper-address

На стороні білінгу абонент ідентифікується по МАС  

На даному етапі маю верифіковану IP адресу по які однозначно можна ідентифікувати абонента тому ініціалізація сесії відбувається  по   unclassified ip-address

Влан який дивиться в сторону абонента

Скрытый текст

!
interface GigabitEthernet0/0/3.69
 encapsulation dot1Q 69
 ip unnumbered Loopback1
 ip helper-address 10.10.10.1
 ip nat inside
 service-policy type control ISG_POLICY
 ip subscriber routed
  initiator unclassified ip-address
!

На стороні білінгу через радіус користувач ідентифікується по IP, атрибути на скріні.

Для відомої IP адреси з білінга віддаю атрибутами швидкість і назву сервісу  залежно від стану рахунку
         AACEPT-INTERNET - активний абонент з оплаченим сервісом - ходимо в інет
         AOPEN-GARDEN - абонет неактивний - неоплачений/заморожений і тп. переадресація в кабінет користувача.
Якщо у користувача щось помінялось скриптами PoD+CoA - скидаю сесію щоб користувач підняв сесію з новими реаліями.

 

------------------------------------------------------------------------------------------------------------------------------------------------

Проблеми.

 

У частини абонентів ~ 10% перезвонило  до нас, не у всіх, з різних ОЛТ. Закономірності невиявив.
Перший раз DHCP сервер з білінга через relay видає абоненту IP адресу - тут у всіх все ок.

По закінченню lease-time  абонент продовжує оренду, в логах DHCP сервера я бачу відповіть,
але на ASR динамічний маршрут не створюється.
show ip dhcp binding | include IP_АБОНЕНТА - пусто
Відповідно звязку немає.
Через половину lease-time абонент знову запитує адрес від DHCP-сервера, отримує, 
 маршрут зявлявся і звязок появлявся. і так раз є раз немає.
Пробував ip unnumbered loopback 1 poll - ASR сильно лагав, швидко забрав.

 

1ght пропонував DHCP Radius Proxy 
Але це не в дусі Убілінга, пропаде лог DHCP(  - один з інструментів  діагностики роботи абонента.

Поки не пробував.

 

Прблема №2

На білих адресах непрацював PPTP з світу. Забрав з вілану до абонента ip nat inside - PPTP запрацювало.
Але тут мені повезло, тут був один абонент у влані, що робити там де їх багато?
 

У кого які ідеї як спіймати проблему з релей?

Може у мене мережа якось криво зроблена, чи я не зтого боку засовую залізяку в мережу?

Може атрибути не ті і не в ті послідовності?

Перший раз ASR в руках тримаю, все працює на NAS-rscript.

 

Конфігурацію збирав поглядаячи в документації:

http://wiki.ubilling.net.ua/doku.php?id=multigen

https://ntwrk.today/2019/06/17/cisco-isg.html звідси копіпастив пів конфіга ISG
https://wiki.mikbill.pro/billing/nas_access_server/cisco_asr1k
https://www.lanbilling.ru/lanbilling-cisco-isg

 

Конфіг ASR

Скрытый текст

show running-config
Building configuration...

Current configuration : 18016 bytes
!
!!
version 16.3
service timestamps debug datetime msec
service timestamps log datetime msec
no platform punt-keepalive disable-kernel-core
!
hostname ASR-1002x
!
boot-start-marker
boot system bootflash:/asr1002x-universalk9.16.03.09.SPA.bin
boot-end-marker
!
!
vrf definition Mgmt-intf
 !
 address-family ipv4
 exit-address-family
 !
 address-family ipv6
 exit-address-family
!
enable password 7 MY_PASSWORD
!
aaa new-model
!
!
aaa group server radius ISG-RADIUS
 server name MAIN
 ip radius source-interface Port-channel1
!
aaa authentication login ISG-AUTH-LIST group ISG-RADIUS
aaa authorization network ISG-AUTH-LIST group ISG-RADIUS
aaa authorization subscriber-service default local group ISG-RADIUS
aaa accounting update newinfo periodic 5
aaa accounting network ISG-ACT-LIST start-stop group ISG-RADIUS
!
!
!
!
!
aaa server radius dynamic-author
 client IP_BILLING server-key NESKAZHU!
 auth-type any
!
aaa session-id common
clock timezone Kiev 2 0
clock summer-time Kiev recurring last Sun Mar 3:00 last Sun Oct 4:00
!
!
!
!
!
!
!
!
!
no ip domain lookup
ip domain name MY_DOMEN.if.ua
ip dhcp relay information option
no ip dhcp relay information check
ip dhcp relay information trust-all
!
!
!
!
!
!
!
!
!
!
subscriber templating
subscriber authorization enable
!
!
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
!
license udi pid ASR1002-X sn SNiourgh324
license boot level advipservices
!
spanning-tree extend system-id
diagnostic bootup level minimal
!
!
username SUPER_ADMIN privilege 15 secret NESKAZHU!
!
redundancy
 mode none
redirect server-group PORTAL_MONEY
 server ip IP_KABINETA_KORYSTYVACHA
!
!
!
!
!
!
cdp run
!
class-map type traffic match-any OPEN-CLASS
 match access-group input name OPENGARDEN_ACL_IN
!
class-map type traffic match-any CLASS-INET
 match access-group input name ALL_IN
 match access-group output name ALL_OUT
!
class-map type traffic match-any RDR-CLASS
 match access-group input name ACL_RDR_IN
!
class-map type control match-all IP_UNAUTH_COND
 match authen-status unauthenticated
 match timer IP_UNAUTH_TIMER
!
policy-map type service RDR-SRV
 100 class type traffic RDR-CLASS
  redirect to group PORTAL_MONEY
 !
 class type traffic default input
  drop
 !
!
policy-map type service OPEN-GARDEN
 10 class type traffic OPEN-CLASS
 !
!
policy-map type service ACEPT-INTERNET
 50 class type traffic CLASS-INET
 !
!
policy-map type control ISG_POLICY
 class type control IP_UNAUTH_COND event timed-policy-expiry
  10 service disconnect
 !
 class type control always event session-start
  10 service-policy type service name RDR-SRV
  20 authorize aaa list ISG-AUTH-LIST password ISG identifier source-ip-address
 !
 class type control always event access-reject
  10 service-policy type service name RDR-SRV
  20 service-policy type service name OPEN-GARDEN
  40 set-timer IP_UNAUTH_TIMER 2
 !
 class type control always event radius-timeout
  10 service-policy type service name ALL-SRV
  40 set-timer IP_UNAUTH_TIMER 30
 !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback1
 ip address 172.16.4.1 255.255.255.0 secondary
 ip address 172.16.14.1 255.255.255.0 secondary
 ip address 172.16.16.1 255.255.255.0 secondary
 ip address 172.16.21.1 255.255.255.0 secondary
 ip address 172.16.22.1 255.255.255.0 secondary
 ip address 172.16.23.1 255.255.255.0 secondary
 ip address 172.16.24.1 255.255.255.0 secondary
 ip address 172.16.32.1 255.255.252.0 secondary
 ip address 172.32.0.1 255.255.255.0 secondary
 ip address ТУТ_БІЛИЙ_САБНЕТ 255.255.255.0 secondary
 ip address 172.16.1.1 255.255.255.0
 no ip redirects
 no ip unreachables
 no ip proxy-arp
!
interface Port-channel1
 ip address IP_ADRESS_ASR 255.255.255.192
 no ip redirects
 ip nat outside
 no negotiation auto
 history BPS
!
interface GigabitEthernet0/0/0
 no ip address
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 negotiation auto
 channel-group 1 mode active
!
interface GigabitEthernet0/0/1
 no ip address
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 negotiation auto
 channel-group 1 mode active
!
interface GigabitEthernet0/0/2
 no ip address
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 negotiation auto
 channel-group 1 mode active
!
interface GigabitEthernet0/0/3
 no ip address
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 negotiation auto
!
interface GigabitEthernet0/0/3.4
 encapsulation dot1Q 4
 ip unnumbered Loopback1
 ip helper-address 10.10.10.1
 ip nat inside
 service-policy type control ISG_POLICY
 ip subscriber routed
  initiator unclassified ip-address
!
interface GigabitEthernet0/0/3.5
 encapsulation dot1Q 5
 ip unnumbered Loopback1
 ip helper-address 10.10.10.1
 ip nat inside
 service-policy type control ISG_POLICY
 ip subscriber routed
  initiator unclassified ip-address
!
!ТУТ ДОФІГА ВЛАНІВ З АБОНЕНТАМИ ~ 100 ШТ
! НА ПОРТАХ GigabitEthernet0/0/3, GigabitEthernet0/0/4, GigabitEthernet0/0/5

!АНАЛОГІЧНО НАСТРОЇНО  ЯК GigabitEthernet0/0/3.5
!
interface GigabitEthernet0/0/5.500
 description VLAN_TO_BILLING
 encapsulation dot1Q 500
 ip address 10.10.10.20 255.255.255.0
 no ip redirects
 no ip unreachables
 no ip proxy-arp
!
interface GigabitEthernet0/0/5.501
 description TEST-OFFISE
 encapsulation dot1Q 501
 ip unnumbered Loopback1
 ip helper-address 10.10.10.1
 ip nat inside
 service-policy type control ISG_POLICY
 ip subscriber routed
  initiator unclassified ip-address
!
interface GigabitEthernet0
 vrf forwarding Mgmt-intf
 no ip address
 negotiation auto
!
ip default-gateway MY_GETEWAY!
ip nat settings mode cgn
no ip nat settings support mapping outside
ip nat settings pap
ip nat translation timeout 300
ip nat translation tcp-timeout 1800
ip nat translation pptp-timeout 1800
ip nat translation udp-timeout 60
ip nat translation finrst-timeout 10
ip nat translation syn-timeout 10
ip nat translation dns-timeout 10
ip nat translation icmp-timeout 10
ip nat translation port-timeout tcp 80 360
ip nat translation port-timeout tcp 8080 360
ip nat translation port-timeout tcp 1600 180
ip nat translation port-timeout tcp 110 180
ip nat translation port-timeout tcp 25 180
ip nat translation max-entries all-host 3000
no ip nat service all-algs
ip nat pool bili-nat MY_PREFIX.32 MY_PREFIX.63 prefix-length 27
ip nat inside source list nat pool bili-nat overload
ip forward-protocol nd
!
no ip http server
no ip http secure-server
ip tftp source-interface GigabitEthernet0
ip route 0.0.0.0 0.0.0.0 MY_GETEWAY
ip route MY_SANTET 255.255.255.0 10.10.10.1
ip route IP_KABINETU 255.255.255.255 10.10.10.1
ip route 172.16.0.1 255.255.255.255 10.10.10.1
ip ssh rsa keypair-name router-key
ip ssh version 2
!
ip access-list standard nat
 permit 172.16.4.0 0.0.0.255
 permit 172.16.14.0 0.0.0.255
 permit 172.16.16.0 0.0.0.255
 permit 172.16.21.0 0.0.0.255
 permit 172.16.22.0 0.0.0.255
 permit 172.16.23.0 0.0.0.255
 permit 172.16.24.0 0.0.0.255
 permit 172.16.32.0 0.0.3.255
 permit 172.16.100.0 0.0.0.255
 permit 172.16.1.0 0.0.0.255
 deny   BILI_SABNET 0.0.0.64
 permit 172.32.0.0 0.0.0.255
 !
ip access-list extended ACL_RDR_IN
 permit tcp any any eq www
 permit tcp any any eq 8000
 permit tcp any any eq 8080
 permit tcp any any eq 443
ip access-list extended ALL_IN
 permit ip any any
ip access-list extended ALL_OUT
 permit ip any any
ip access-list extended OPENGARDEN_ACL_IN
 permit ip any host IP_KABINETY
 permit ip any host IP_SAITU
 permit udp any host IP_DNS eq domain
 permit ip any host 172.16.0.1
 permit ip any host 172.32.0.1
!
logging trap debugging
logging source-interface GigabitEthernet0/0/5.500
logging host 10.10.10.1
!
!
!
!
radius-server attribute 44 include-in-access-req all
radius-server attribute 44 extend-with-addr
radius-server attribute 31 mac format unformatted
radius-server attribute 31 send nas-port-detail mac-only
radius-server attribute nas-port-id include circuit-id plus remote-id
radius-server dead-criteria time 10 tries 1
radius-server retransmit 2
radius-server timeout 30
radius-server deadtime 5
radius-server vsa send cisco-nas-port
!
radius server MAIN
 address ipv4 IP_BILLING auth-port 1812 acct-port 1813
 key NE_SKAZHU!
!
!
control-plane
!
 !
 !
 !
 !
!
!
!
!
!
line con 0
 stopbits 1
line aux 0
 stopbits 1
line vty 0
 exec-timeout 30 0
 logging synchronous
 transport input ssh
!
ntp server 91.236.251.24
ntp server 91.236.251.11
!
!
!
!
!
!
end

 

Screenshot_3.jpg

Edited by mgo
Link to post
Share on other sites

Нужно искать рабочий конфиг IPOE и ставить такую же версию прошивки.

Затем подвязывать с Radius

 

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

Если таких нет, то я бы задался вопросом "а почему ASR редко используют?"

Link to post
Share on other sites
41 минуту назад, Чучундра сказал:

Потому что продают соточку за чирик, поэтому и не используют ASR

Вже давно гиг за чирик продають;)

Edited by ntp
  • Haha 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By nightfly
      Ubilling 1.5.2 rev 9302 Book of Endings
       
      Зміни в структурі БД. alter.ini: нова опція FASTPROFITCALC_ENABLED, що вмикає швидкий підрахунок прибутку. alter.ini: нова необов'язкова опція KARMA_IN_PROFILE що вмикає показ карми в профілі користувача. alter.ini: нова опція SWITCHES_AUTH_ENABLED, що вмикає довідник даних авторизації пристроїв. alter.ini: нова опція PON_SCRIPTS_ENABLED, що вмикає підтримку скриптів OLT в ПОНізаторі. alter.ini: нова опція PON_ONU_FDB_SELFFILTER, що вмикає фільтр MAC-ів при відображенні FDB за ONU. alter.ini: нова опція USERBYIP_ENABLED, що вмикає виклик userbyip в RemoteAPI. alter.ini: пачка нових опцій PB_FASTURL_*, що керують поведінкою модулю відсилання коротких посилань на оплату. Модуль PONizer: виправлена помилка зникнення PON інтерфейсів при опиті BDCOM GP3600 Модуль “Профіль користувача”: для опису плагінів профілю та оверлеїв на кшталт “чорної магії” тепер опційно можливо вказувати link_target. Модуль “Панель задач”: для опису елементів панелі задач, тепер опційно можна вказувати LINK_TARGET. Модуль Записи телефонних розмов: вирішено проблеми швидкодії, при перегляді списку записів дзвінків. Модуль “Записи телефонних розмов”: більше не призводить до вичерпання пам'яті процесу, при перегляді великих архівів дзвінків. Модуль “Записи телефонних розмов”: новий аудіо-плеєр для прослуховування записів з візуалізацією аудіо-хвилі. Модуль “Пошук оплат”: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модуль УКВ: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модулі Мапа обладнання та користувачів: трішки вичищено код. Ліпше не стало. Модуль “Мапа будинків”: поле пошуку при розташуванні будинку, тепер попередньо заповнено локацією, при переході за посиланням “розташувати на мапі”. Модуль “Панель задач”: опція TB_QUICKSEARCH_INLINE змінила свою поведінку, та може тепер приймати значення 0|1|2. Модуль “Звіт по трафіку”: виправлено проблему відображення графіків OphanimFlow для NAS на роздільних здатностях менше ніж FullHD. Кабінет користувача: в модулі “Відеоспостереження” відображення попереднього перегляду каналів користувача, стало трішки притомнішим. Сховище зображень: трішки покращено поведінку форми завантаження. RemoteAPI: новий виклик onusigcompressor, що радикально стискає розпухаючі дані історії сигналів ONU. RemoteAPI: новий виклик pbxmonrefill, що оновлює кеш записів телефонних розмов. RemoteAPI: новий виклик userbyip, що повертає дані про користувача за його IP. OpenPayz: в бекенді та фронтенді platon виправлено проблему диких заокруглень, при вказанні зовнішньої комісії.  
      Повний чейнджлог
      Оновлена демка
       

    • By ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.
    • By mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

    • By Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • By ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
×
×
  • Create New...