Jump to content
Калькуляторы

Junos Subscribers Management Отсутствие live пакетов для гостевого профайла

Доброго времени суток!

Имею Juniper МХ80 c прошивкой 11.4X27.68 (новее поставить не могу по причине возможного отвала 10ж портов).

Настроена схема subscrider management для Q-in-Q и DHCP.

Вот кусок конфига :

dynamic-profiles {
   qinq-int {
       interfaces {
           "$junos-interface-ifd-name" {
               unit "$junos-interface-unit" {
                   demux-source inet;
                   proxy-arp;
                   vlan-tags outer "$junos-stacked-vlan-id" inner "$junos-vlan-id";
                   family inet {
                       unnumbered-address lo0.0;
                   }
               }
           }
       }
   }
   qinq-dhcp {
       interfaces {
           "$junos-interface-ifd-name" {
               inactive: unit "$junos-interface-unit" {
                   family inet {
                       unnumbered-address lo0.0;
                   }
               }
               unit "$junos-underlying-interface-unit" {
                   family inet {
                       unnumbered-address lo0.0;
                   }
               }
           }                           
       }
   }
   Subscriber {
       variables {
           SPEED_IN mandatory;
           SPEED_OUT mandatory;
       }
       interfaces {
           "$junos-interface-ifd-name" {
               unit "$junos-underlying-interface-unit" {
                   vlan-tags outer "$junos-stacked-vlan-id" inner "$junos-vlan-id";
                   family inet {
                       filter {
                           input "$SPEED_IN" precedence 10;
                           output "$SPEED_OUT" precedence 10;
                       }
                   }
               }
           }
       }
   }
   Parking {
       inactive: variables {
           SPEED_IN mandatory;
           SPEED_OUT mandatory;
       }
       interfaces {
           "$junos-interface-ifd-name" {
               unit "$junos-underlying-interface-unit" {
                   inactive: vlan-tags outer "$junos-stacked-vlan-id" inner "$junos-vlan-id";
                   family inet {
                       filter {
                           input parking_in precedence 10;
                           output parking_out precedence 10;
                       }
                   }
               }
           }
       }
   }
   svc-ipoe-guest {
       interfaces {
           "$junos-interface-ifd-name" {
               unit "$junos-underlying-interface-unit" {
                   family inet {
                       filter {
                           input parking_in precedence 10;
                           output parking_out precedence 10;
                       }
                   }
               }
           }
       }
   }
   svc-global-ipoe {
       variables {
           SPEED_IN mandatory;
           SPEED_OUT mandatory;
           INET_IN uid;
           INET_OUT uid;               
           POLICER_IN uid;
           POLICER_OUT uid;
       }
       interfaces {
           "$junos-interface-ifd-name" {
               unit "$junos-underlying-interface-unit" {
                   vlan-tags outer "$junos-stacked-vlan-id" inner "$junos-vlan-id";
                   family inet {
                       filter {
                           input "$INET_IN";
                           output "$INET_OUT";
                       }
                   }
               }
           }
       }
       firewall {
           family inet {
               filter "$INET_IN" {
                   interface-specific;
                   term 1 {
                       then {
                           policer "$POLICER_IN";
                           service-accounting;
                           accept;
                       }
                   }
               }
               filter "$INET_OUT" {
                   interface-specific; 
                   term 1 {
                       then {
                           policer "$POLICER_OUT";
                           service-accounting;
                           accept;
                       }
                   }
               }
           }
           policer "$POLICER_IN" {
               if-exceeding {
                   bandwidth-limit "$SPEED_IN";
                   burst-size-limit 512k;
               }
               then discard;
           }
           policer "$POLICER_OUT" {
               if-exceeding {
                   bandwidth-limit "$SPEED_OUT";
                   burst-size-limit 512k;
               }
               then discard;
           }
       }
   }
}

access {
   radius-server {
       x.x.x.92 {
           port 1812;
           secret "**************************"; ## SECRET-DATA
       }                               
   }
   radius-disconnect {
       x.x.x.92 secret "**************************"; ## SECRET-DATA
   }
   profile ipoe {
       authentication-order [ radius none ];
       radius {
           authentication-server x.x.x.92;
           accounting-server x.x.x.92;
           options {
               accounting-session-id-format decimal;
           }
       }
       accounting {
           order radius;
           immediate-update;
           coa-immediate-update;
           update-interval 600;
           statistics volume-time;
       }
   }
   address-assignment {
       inactive: pool ipoe-10100 {
           family inet {
               network 10.100.0.0/16;
               range main {
                   low 10.100.0.2;
                   high 10.100.254.254;
               }
               dhcp-attributes {       
                   router {
                       10.100.0.1;
                   }
               }
           }
       }
       pool ipoe-pool1 {
           family inet {
               network y.y.y.y/27;
               range main {
                   low y.y.y.y;
                   high y.y.y.y;
               }
               dhcp-attributes {
                   maximum-lease-time 600;
                   router {
                       y.y.y.y;
                   }
               }
           }
       }
       pool real-ip-1 {
           family inet {
               network z.z.z.z/23;
               range main {
                   low z.z.z.z;
                   high z.z.z.z;
               }
               dhcp-attributes {
                   maximum-lease-time 600;
                   router {
                       z.z.z.z;
                   }
               }
           }
       }
       pool real-ip-3 {
           family inet {
               network n.n.n.n/18;
               range main {
                   low n.n.n.n;
                   high n.n.n.n;
               }
               dhcp-attributes {
                   maximum-lease-time 600;
                   name-server {
                       k.k.k.k;
                       l.l.l.l;
                   }
                   router {
                       k.k.k.k;
                   }
               }
           }
       }
   }
}


 

 

Так вот основная проблема в том, что при выдаче подписчику профайла svc-ipoe-guest, лайв пакеты МХ80 не отправляет биллингу и биллинг (Абиллс) по истечении времени гостевой "сессии" считает ее зависшей (помещает в ZAP) и затем удаляет. Но МХ80 продолжает выдавать лизы по запросам от клиента и держит интерфейс поднятым для этой гостевой "сессии".

Как говорит разработчик биллинга, МХ80 должен слать лайв пакеты и для гостевой сессии, а когда она закончится, должен дропнуть интерфейс на МХ80 и подписчик заново запросит айпи для гостевой сессии.

 

Почему МХ80 не шлет лайв пакеты для гостевого профайла svc-ipoe-guest? проблема в версии прошивки или настройке профайлов?

 

зы и второй небольшой вопрос: как лучше организовать перенаправление на страницу биллинга? чтобы при попытке открыть ya.ru МХ80 перенаправлял запрос на сервер биллинга? у меня имеется реализация, но она не всегда срабатывает, может быть есть лучший вариант?

Share this post


Link to post
Share on other sites

Объясните , что такое лайв пакеты ?

 

Если вы возвращаете клиенту session-timeout то этот атрибут работает только для ppp сессий , для dhcp - это этот параметр будет использоваться как dhcp lease time. И завершать клиентскую сессию по истечении этого времени никто не будет.

 

Покажите какой способ редиректа у вас реализован , тогда можно будет говорить о том что у вас сделано не правильно. По идее , кроме как завернуть клиентский трафик (порт 80) к себе на сервер и отвечать редиректом , у вас вариантов нет, поэтому нужно разбираться что именно у вас не работает.

Share this post


Link to post
Share on other sites

Объясните , что такое лайв пакеты ?

Имею ввиду Interim-Update, приходящие на сервер радиуса при при реализации IPoE.

Если вы возвращаете клиенту session-timeout то этот атрибут работает только для ppp сессий , для dhcp - это этот параметр будет использоваться как dhcp lease time. И завершать клиентскую сессию по истечении этого времени никто не будет.

Дело в том, что МХ80 гостю постоянно выдает заново лизу согласно настройке конфига. И этот процесс бесконечен. А хотелось бы, чтобы биллинг удалял интерфейс по окончании настроек гостевой сессии биллинга. А затем бы снова юзер запросил бы по DHCP айпи и снова поднялся бы интерфейс на МХ80.

Билинг может дропнуть "сессию" рабочую - в смысле удалить интерфейс на МХ80, но для этого он по Interim-Update понимает, что есть такой интерфейс нап МХ80. В гостевой же сессии этих пакетов нет.

Покажите какой способ редиректа у вас реализован , тогда можно будет говорить о том что у вас сделано не правильно. По идее , кроме как завернуть клиентский трафик (порт 80) к себе на сервер и отвечать редиректом , у вас вариантов нет, поэтому нужно разбираться что именно у вас не работает.

На данный момент реализовано через фильтр и routing instances

filter parking_in {
           interface-specific;
           term 0 {
               from {
                   destination-port 67;
               }
               then accept;
           }
           term 1 {                    
               then {
                   routing-instance SM_Parking;
               }
           }
           term 2 {
               then accept;
           }
       }
filter parking_out {
           interface-specific;
           term 1 {
               from {
                   ttl [ 62-64 126-128 ];
               }
               then accept;
           }
           term 2 {
               then {
                   reject;
               }
           }


routing-instances {
   SM_PARKING {
       instance-type forwarding;
       routing-options {
           static {
               route 0.0.0.0/0 next-hop х.х.х.92;
           }
       }
   }



Share this post


Link to post
Share on other sites

Объясните , что такое лайв пакеты ?

Имею ввиду Interim-Update, приходящие на сервер радиуса при при реализации IPoE.

 

Interim-update не зависит от примененного dynamic-profile, единственный вариант это что вы при авторизации абонента (он же у вас авторизируется ?) с радиуса возвращаете update-interval - какой-нибудь очень большой или равный нулю. И как следствие не видите аккаунтинга

 

Если вы возвращаете клиенту session-timeout то этот атрибут работает только для ppp сессий , для dhcp - это этот параметр будет использоваться как dhcp lease time. И завершать клиентскую сессию по истечении этого времени никто не будет.

Дело в том, что МХ80 гостю постоянно выдает заново лизу согласно настройке конфига. И этот процесс бесконечен. А хотелось бы, чтобы биллинг удалял интерфейс по окончании настроек гостевой сессии биллинга. А затем бы снова юзер запросил бы по DHCP айпи и снова поднялся бы интерфейс на МХ80.

Билинг может дропнуть "сессию" рабочую - в смысле удалить интерфейс на МХ80, но для этого он по Interim-Update понимает, что есть такой интерфейс нап МХ80. В гостевой же сессии этих пакетов нет.

Тут уже обсудили все работает как и должно работать . Смотри что у вас билинг возвращает при авторизации этого абонента и почему так происходит.

Покажите вывод команды show dynamic-configuration session information session-id ХХХХХ, вместо ХХХХХ подставьте Session id из вывода show subscribers detail, для этого абонента.

 

Покажите какой способ редиректа у вас реализован , тогда можно будет говорить о том что у вас сделано не правильно. По идее , кроме как завернуть клиентский трафик (порт 80) к себе на сервер и отвечать редиректом , у вас вариантов нет, поэтому нужно разбираться что именно у вас не работает.

На данный момент реализовано через фильтр и routing instances

filter parking_in {
           interface-specific;
           term 0 {
               from {
                   destination-port 67;
               }
               then accept;
           }
           term 1 {                    
               then {
                   routing-instance SM_Parking;
               }
           }
           term 2 {
               then accept;
           }
       }
filter parking_out {
           interface-specific;
           term 1 {
               from {
                   ttl [ 62-64 126-128 ];
               }
               then accept;
           }
           term 2 {
               then {
                   reject;
               }
           }


routing-instances {
   SM_PARKING {
       instance-type forwarding;
       routing-options {
           static {
               route 0.0.0.0/0 next-hop х.х.х.92;
           }
       }
   }



 

Это какое-то безумие заворачивать в ri SM_PARKING, что-то кроме tcp port 80. В этом нет никакого смысла. Обратный трафик с src-port 80 лучше разрешить полностью , а не по ttl

Share this post


Link to post
Share on other sites

Interim-update не зависит от примененного dynamic-profile, единственный вариант это что вы при авторизации абонента (он же у вас авторизируется ?) с радиуса возвращаете update-interval - какой-нибудь очень большой или равный нулю. И как следствие не видите аккаунтинга

В том то и дело, что это гостевая сессия, то есть еще не авторизовался юзер, а только получил по дхцп айпи и, соотвественно, поднят интерфейс и выдана лиза на мх80.

Тут уже обсудили все работает как и должно работать . Смотри что у вас билинг возвращает при авторизации этого абонента и почему так происходит.

Покажите вывод команды show dynamic-configuration session information session-id ХХХХХ, вместо ХХХХХ подставьте Session id из вывода show subscribers detail, для этого абонента.

 

Вот для гостя вывод:

worky@gw> show dynamic-configuration session information session-id 419 
Session info:
 Accounting session ID: 419
 IP address: y.y.y.152
 IP netmask: 255.255.224.0
 Logical system name: default
 Profile name: qinq-dhcp
 Session version: 1
 Physical IFD name of the interface: ae0
 MAC address: 1c:af:f7:2a:10:43
 NAS port type: 15
 Routing instance: default
 Access Profile: ipoe
 User name: 1caf.f72a.1043
 Interface name: ae0.1073741957
 Dynamic-configuration state: 2
 Client session type: 1
 IFL type: 1
 Framed Ipv4 Pool: real-ip-3
 Accounting type: 2
 Accounting interval: 36000
 Multi-client logical-interface: 2
 Underlying logical-interface: ae0.1073741957
 Client login time: 2017-04-20 13:04:20 EEST
 DHCP option: 35:01:01:3d:07:01
 VLAN tag: 153
 SVLAN tag: 2000
 Service Type: 2
 Primary DNS address: x.x.x.2
 Configuration bits: 0x80003 0 0 0 0 
Dynamic configuration: 
 junos-framed-route-ip-address-prefix: 0.0.0.0/8
     junos-framed-route-nexthop: 0.0.0.0
         junos-framed-route-cost: 1
     junos-subscriber-demux-ip-address: y.y.y.152/32
     junos-subscriber-demux-ip-address: 0.0.0.0/8
 junos-underlying-interface: ae0.1073741957
Service session IDs:
 420

 

Это какое-то безумие заворачивать в ri SM_PARKING, что-то кроме tcp port 80. В этом нет никакого смысла. Обратный трафик с src-port 80 лучше разрешить полностью , а не по ttl

У нас биллинг на 443 порту, на 80м висит заворот на 443. Нужно чтобы гостевой юзер мог только нашу 24х битную сеть видеть - в ней днс, сайт, биллинг.

Как это лучше реализовать? если можно - пример.

Share this post


Link to post
Share on other sites

А вот процесс включения гостевого юзера со стороны радиуса:

rad_recv: Access-Request packet from host x.x.x.1 port 55099, id=226, length=190
User-Name = "1caf.f72a.1043"
Service-Type = Framed-User
Chargeable-User-Identity = ""
Acct-Session-Id = "392"
ERX-Dhcp-Options = 0x3501013d07011caff72a10430c074449522d3330303204c3e193fd37090103060f212c2e2f79
ERX-Dhcp-Mac-Addr = "1caf.f72a.1043"
NAS-Identifier = "gw"
NAS-Port = 153
NAS-Port-Id = "ae0.1073741948:2000-153"
NAS-Port-Type = Ethernet
ERX-Pppoe-Description = "pppoe 1c:af:f7:2a:10:43"
Thu Apr 13 19:43:32 2017 : Info: # Executing section authorize from file /usr/local/freeradius/etc/raddb/sites-enabled/abills_default
Thu Apr 13 19:43:32 2017 : Info: +group authorize {
Thu Apr 13 19:43:32 2017 : Info: ++[preprocess] = ok
Thu Apr 13 19:43:32 2017 : Info: ++[mschap] = noop
Thu Apr 13 19:43:32 2017 : Info: [files] users: Matched entry DEFAULT at line 38
Thu Apr 13 19:43:32 2017 : Info: ++[files] = ok
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Session-Id = 392
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port = 153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Chargeable-User-Identity = 
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Service-Type = Framed-User
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Type = Ethernet
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Options = 0x3501013d07011caff72a10430c074449522d3330303204c3e193fd37090103060f212c2e2f79
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Pppoe-Description = pppoe 1c:af:f7:2a:10:43
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair User-Name = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Identifier = gw
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-IP-Address = x.x.x.1
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Id = ae0.1073741948:2000-153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Mac-Addr = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Auth-Type = Perl
Thu Apr 13 19:43:32 2017 : Info: ++[perl] = ok
Thu Apr 13 19:43:32 2017 : Info: +} # group authorize = ok
Thu Apr 13 19:43:32 2017 : Info: Found Auth-Type = Perl
Thu Apr 13 19:43:32 2017 : Info: # Executing group from file /usr/local/freeradius/etc/raddb/sites-enabled/abills_default
Thu Apr 13 19:43:32 2017 : Info: +group Perl {
aaaaaaaaaaaaaaaaaaaaaaaa/// if (ae0.1073741948:2000-153 =~ /:(d+)-(d+)
) { //

sssssssssssss<pre><code>
SELECT INET_NTOA(framed_ip_address) AS ip FROM dv_calls 
      WHERE user_name='' 
        AND status=11 
        AND nas_id='15'
        AND framed_ip_address > 0;
</code></pre>
<pre><code>
SELECT ippools.ip, ippools.counts, ippools.id, ippools.next_pool_id,
     IF(ippools.gateway > 0, INET_NTOA(ippools.gateway), 0),
     IF(ippools.netmask > 0, INET_NTOA(ippools.netmask), ''), dns, ntp
   FROM ippools
    WHERE ippools.id='20'
    ORDER BY ippools.priority;
</code></pre>
<pre><code>
SELECT c.framed_ip_address
   FROM dv_calls c
   INNER JOIN nas_ippools np ON (c.nas_id=np.nas_id)
   WHERE np.pool_id in ( 20 )
   GROUP BY c.framed_ip_address;
</code></pre>
<pre><code>
INSERT INTO dv_calls SET started=NOW(),
      lupdated        = UNIX_TIMESTAMP(),
      status          = '11',
      acct_session_id = 'IP',
      nas_ip_address  = INET_ATON('x.x.x.1'), guest='1', CONNECT_INFO='ae0.1073741948:2000-153', nas_id='15', framed_ip_address=3169797986, CID='1caf.f72a.1043'
</code></pre>
<pre><code>
DELETE FROM dhcphosts_leases WHERE (ip=INET_ATON( ? ) AND nas_id= ? )
   OR (uid= ?  AND flag<> ? );
</code></pre>
<pre><code>
INSERT INTO dhcphosts_leases
     (start, ends, state, next_state, hardware, uid,
      circuit_id, remote_id, hostname,
      nas_id, ip, port, vlan, server_vlan, switch_mac, flag,
      dhcp_id)
   VALUES (NOW(),
     NOW() + INTERVAL ? SECOND, 2, 1,
     ?, ?, ?, ?, ?, ?, INET_ATON( ? ), ?, ?, ?, ?, ?, ?)
</code></pre>
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Session-Id = 392
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port = 153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Chargeable-User-Identity = 
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Service-Type = Framed-User
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Options = 0x3501013d07011caff72a10430c074449522d3330303204c3e193fd37090103060f212c2e2f79
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Type = Ethernet
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Pppoe-Description = pppoe 1c:af:f7:2a:10:43
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair User-Name = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Identifier = gw
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-IP-Address = x.x.x..1
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Id = ae0.1073741948:2000-153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Mac-Addr = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Reply-Message = USER_NOT_EXIST q2q: 2000-153 MAC: 1c:af:f7:2a:10:43
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair   MS-Primary-DNS-Server = x.x.x.2
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-Route = 0.0.0.0 0.0.0.0 x.x.x.1
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Session-Timeout = 900
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-IP-Netmask = 255.255.224.0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-IP-Address = x.x.x.y
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Service-Type = Framed
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Primary-Dns = x.x.x.2
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair   MS-Secondary-DNS-Server = x.x.x.8
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Service-Activate:1 = svc-ipoe-guest
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Auth-Type = Perl
Thu Apr 13 19:43:32 2017 : Info: ++[perl] = ok
Thu Apr 13 19:43:32 2017 : Info: +} # group Perl = ok
Thu Apr 13 19:43:32 2017 : Info: # Executing section post-auth from file /usr/local/freeradius/etc/raddb/sites-enabled/abills_default
Thu Apr 13 19:43:32 2017 : Info: +group post-auth {
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Session-Id = 392
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port = 153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Chargeable-User-Identity = 
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Service-Type = Framed-User
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Type = Ethernet
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Options = 0x3501013d07011caff72a10430c074449522d3330303204c3e193fd37090103060f212c2e2f79
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Pppoe-Description = pppoe 1c:af:f7:2a:10:43
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair User-Name = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Identifier = gw
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-IP-Address = x.x.x.1
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Id = ae0.1073741948:2000-153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Mac-Addr = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Reply-Message = USER_NOT_EXIST q2q: 2000-153 MAC: 1c:af:f7:2a:10:43
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-Route = 0.0.0.0 0.0.0.0 x.x.x.y
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Session-Timeout = 900
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-IP-Netmask = 255.255.224.0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-IP-Address = x.x.x.98
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Service-Type = Framed
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Primary-Dns = x.x.x.2
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Service-Activate:1 = svc-ipoe-guest
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Auth-Type = Perl
Thu Apr 13 19:43:32 2017 : Info: ++[perl] = ok
Thu Apr 13 19:43:32 2017 : Info: +} # group post-auth = ok
Sending Access-Accept of id 226 to x.x.x.1 port 55099
Reply-Message = "USER_NOT_EXIST q2q: 2000-153 MAC: 1c:af:f7:2a:10:43"
Framed-Route = "0.0.0.0 0.0.0.0 x.x.x.1"
Session-Timeout = 900
Framed-IP-Netmask = 255.255.224.0
Framed-IP-Address = x.x.x..98
Service-Type = Framed-User
ERX-Primary-Dns = x.x.x.2
ERX-Service-Activate:1 = "svc-ipoe-guest"
Thu Apr 13 19:43:32 2017 : Info: Finished request 15.
Thu Apr 13 19:43:32 2017 : Debug: Going to the next request
Thu Apr 13 19:43:32 2017 : Debug: Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host x.x.x.1 port 55099, id=227, length=245
User-Name = "1caf.f72a.1043"
Acct-Status-Type = Start
Acct-Session-Id = "392"
Service-Type = Framed-User
Framed-Route = "0.0.0.0/8 0.0.0.0  1"
Acct-Authentic = RADIUS
Acct-Delay-Time = 0
ERX-Dhcp-Options = 0x3501013d07011caff72a10430c074449522d3330303204c3e193fd37090103060f212c2e2f79
ERX-Dhcp-Mac-Addr = "1caf.f72a.1043"
Event-Timestamp = "\u0410\u043f\u0440 13 2017 19:45:53 EEST"
Framed-IP-Address = x.x.x.98
Framed-IP-Netmask = 255.255.224.0
NAS-Identifier = "gw"
NAS-Port = 153
NAS-Port-Id = "ae0.1073741948:2000-153"
NAS-Port-Type = Ethernet
ERX-Pppoe-Description = "pppoe 1c:af:f7:2a:10:43"
Thu Apr 13 19:43:32 2017 : Info: # Executing section preacct from file /usr/local/freeradius/etc/raddb/sites-enabled/abills_default
Thu Apr 13 19:43:32 2017 : Info: +group preacct {
Thu Apr 13 19:43:32 2017 : Info: ++[preprocess] = ok
Thu Apr 13 19:43:32 2017 : Info: +} # group preacct = ok
Thu Apr 13 19:43:32 2017 : Info: # Executing section accounting from file /usr/local/freeradius/etc/raddb/sites-enabled/abills_default
Thu Apr 13 19:43:32 2017 : Info: +group accounting {
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port = 153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Output-Gigawords = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-IP-Address = x.x.x.98
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair OUTBYTE2 = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair INTERIUM_OUTBYTE = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Options = 0x3501013d07011caff72a10430c074449522d3330303204c3e193fd37090103060f212c2e2f79
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Authentic = RADIUS
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Calling-Station-Id = 
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Identifier = gw
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair INTERIUM_INBYTE = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Id = ae0.1073741948:2000-153
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Delay-Time = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair INTERIUM_OUTBYTE2 = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair INTERIUM_INBYTE2 = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Status-Type = Start
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair OUTBYTE = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Session-Id = 392
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-Route = 0.0.0.0/8 0.0.0.0  1
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Framed-IP-Netmask = 255.255.224.0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Service-Type = Framed-User
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair INBYTE2 = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-Port-Type = Ethernet
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Pppoe-Description = pppoe 1c:af:f7:2a:10:43
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair User-Name = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair NAS-IP-Address = x.x.x.1
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair Event-Timestamp = \ufffd?\u043f\ufffd? 13 2017 19:45:53 EEST
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: ERROR: Failed to create pair INBYTE = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Acct-Input-Gigawords = 0
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair Connect-Info = 
Thu Apr 13 19:43:32 2017 : Debug: rlm_perl: Added pair ERX-Dhcp-Mac-Addr = 1caf.f72a.1043
Thu Apr 13 19:43:32 2017 : Info: ++[perl] = ok
Thu Apr 13 19:43:32 2017 : Info: +} # group accounting = ok
Sending Accounting-Response of id 227 to x.x.x.1 port 55099
Thu Apr 13 19:43:32 2017 : Info: Finished request 16.
Thu Apr 13 19:43:32 2017 : Info: Cleaning up request 16 ID 227 with timestamp +1665
Thu Apr 13 19:43:32 2017 : Debug: Going to the next request
Thu Apr 13 19:43:32 2017 : Debug: Waking up in 4.8 seconds.


Edited by worky

Share this post


Link to post
Share on other sites

Ну и чего вы хотите ,

у вас написано же

 Accounting interval: 36000

 

и в конфиге

 update-interval 600

 

т.е. кидать аккаунтинг раз в 10 часов. Первый пакет аккаунтинга прилетает вам немедленно, т.к. у вас сконфигурен immediate-update, следующий получите через 10 часов :)

Share this post


Link to post
Share on other sites

Откуда берется цифра 36000? в конфиге мх80 в секундах выставлено в настройках дхцп 600 сек.

Share this post


Link to post
Share on other sites

Откуда берется цифра 36000? в конфиге мх80 в секундах выставлено в настройках дхцп 600 сек.

Да, нашел - update interval в минутах выставляется.

Сейчас потестирую с другим параметром.

 

А по поводу перенаправления гостевой сессии можете что-то подсказать?

Share this post


Link to post
Share on other sites

Передайте кроме :

 

ERX-Service-Activate:1 = "svc-ipoe-guest"

Еще :

ERX-Service-Statistics:1 = time-volume

ERX-Service-Interim-Acct-Interval:1 = 600

Share this post


Link to post
Share on other sites

Передайте кроме :

 

ERX-Service-Activate:1 = "svc-ipoe-guest"

Еще :

ERX-Service-Statistics:1 = time-volume

ERX-Service-Interim-Acct-Interval:1 = 600

Так это будет только сервисный аккаунтинг.

Share this post


Link to post
Share on other sites

На сколько я понял ТС ему и надо сервисный, нет ?

Share this post


Link to post
Share on other sites

На сколько я понял ТС ему и надо сервисный, нет ?

 

хз, ТС так изъясняется что вообще трудно что-то понять

Share this post


Link to post
Share on other sites

На сколько я понял ТС ему и надо сервисный, нет ?

 

хз, ТС так изъясняется что вообще трудно что-то понять

Об чем речь идет?

Share this post


Link to post
Share on other sites

На сколько я понял ТС ему и надо сервисный, нет ?

 

хз, ТС так изъясняется что вообще трудно что-то понять

Об чем речь идет?

 

о том, что ТС плохо объясняет что именно он хочет.

 

Есть 2 вида аккаунтинга , клиентской сессии (та что поднимается через dhcp или pppoe ) или сервисная сессия (та сессия где вы ограничиваете скорость и..т.д.). У каждой из этих сессий есть свой аккаунтинг. Я конечно предположил что вам нужен аккаунтинг клиентской сессии и все что я писал касалось именно его, но возможно вам нужна информация по сервисным сессиям, как предположил h1vs2 (мы то хз что нужно вашему биллингу).

Share this post


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
Sign in to follow this