worky Posted April 19, 2017 Доброго времени суток! Имею 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 More sharing options...
orlik Posted April 19, 2017 Объясните , что такое лайв пакеты ? Если вы возвращаете клиенту session-timeout то этот атрибут работает только для ppp сессий , для dhcp - это этот параметр будет использоваться как dhcp lease time. И завершать клиентскую сессию по истечении этого времени никто не будет. Покажите какой способ редиректа у вас реализован , тогда можно будет говорить о том что у вас сделано не правильно. По идее , кроме как завернуть клиентский трафик (порт 80) к себе на сервер и отвечать редиректом , у вас вариантов нет, поэтому нужно разбираться что именно у вас не работает. Share this post Link to post Share on other sites More sharing options...
worky Posted April 19, 2017 Объясните , что такое лайв пакеты ? Имею ввиду 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 More sharing options...
orlik Posted April 20, 2017 Объясните , что такое лайв пакеты ? Имею ввиду 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 More sharing options...
worky Posted April 20, 2017 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 More sharing options...
worky Posted April 20, 2017 (edited) А вот процесс включения гостевого юзера со стороны радиуса: 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 April 20, 2017 by worky Share this post Link to post Share on other sites More sharing options...
orlik Posted April 20, 2017 Ну и чего вы хотите , у вас написано же Accounting interval: 36000 и в конфиге update-interval 600 т.е. кидать аккаунтинг раз в 10 часов. Первый пакет аккаунтинга прилетает вам немедленно, т.к. у вас сконфигурен immediate-update, следующий получите через 10 часов :) Share this post Link to post Share on other sites More sharing options...
worky Posted April 20, 2017 Откуда берется цифра 36000? в конфиге мх80 в секундах выставлено в настройках дхцп 600 сек. Share this post Link to post Share on other sites More sharing options...
worky Posted April 20, 2017 Откуда берется цифра 36000? в конфиге мх80 в секундах выставлено в настройках дхцп 600 сек. Да, нашел - update interval в минутах выставляется. Сейчас потестирую с другим параметром. А по поводу перенаправления гостевой сессии можете что-то подсказать? Share this post Link to post Share on other sites More sharing options...
h1vs2 Posted April 20, 2017 Передайте кроме : 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 More sharing options...
orlik Posted April 21, 2017 Передайте кроме : 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 More sharing options...
h1vs2 Posted April 21, 2017 На сколько я понял ТС ему и надо сервисный, нет ? Share this post Link to post Share on other sites More sharing options...
orlik Posted April 21, 2017 На сколько я понял ТС ему и надо сервисный, нет ? хз, ТС так изъясняется что вообще трудно что-то понять Share this post Link to post Share on other sites More sharing options...
worky Posted April 21, 2017 На сколько я понял ТС ему и надо сервисный, нет ? хз, ТС так изъясняется что вообще трудно что-то понять Об чем речь идет? Share this post Link to post Share on other sites More sharing options...
orlik Posted April 21, 2017 На сколько я понял ТС ему и надо сервисный, нет ? хз, ТС так изъясняется что вообще трудно что-то понять Об чем речь идет? о том, что ТС плохо объясняет что именно он хочет. Есть 2 вида аккаунтинга , клиентской сессии (та что поднимается через dhcp или pppoe ) или сервисная сессия (та сессия где вы ограничиваете скорость и..т.д.). У каждой из этих сессий есть свой аккаунтинг. Я конечно предположил что вам нужен аккаунтинг клиентской сессии и все что я писал касалось именно его, но возможно вам нужна информация по сервисным сессиям, как предположил h1vs2 (мы то хз что нужно вашему биллингу). Share this post Link to post Share on other sites More sharing options...