Старт по неклассифицированному пакету

IPoE related questions
Post Reply
Undefined User
Posts: 13
Joined: 30 Nov 2017, 14:23

Старт по неклассифицированному пакету

Post by Undefined User »

Есть необходимость иметь гибридный интерфейс, в котором сессии будут подниматься как по dhcpv4 так и по неклассифицированному пакету.
Дабы уберечь себя от хитрых пользователей, в биллинге реализована проверка на подмену адресов.

Так вот когда клиент пытается подменить ИП адрес, мы отдаем Access-acсept с серым адресом, чтобы Accel создал интерфейс, но с другим ИП, чтобы клиент за этим интерфейсом и не ломился на радиус и не напрягал аксель запросами.

Но получается такая картина, что Аксель создает интерфейс, но на каждый следующий пакет от абонента шлет еще один Access-request и каждый раз получает access-accept с фейковым адресом. По итогу получается очень много сессий с одним и тем же интерфейсом и одним и тем же адресом.

Code: Select all

 e4.1002.1010 | e4.1002.1010 | f8:1a:67:aa:53:ed | 10.254.254.225 | ipoe |      | active | 00:01:30
 e4.1002.1010 | e4.1002.1010 | f8:1a:67:aa:53:ed | 10.254.254.225 | ipoe |      | active | 00:01:06
 e4.1002.1010 | e4.1002.1010 | f8:1a:67:aa:53:ed | 10.254.254.225 | ipoe |      | active | 00:00:42
 e4.1002.1010 | e4.1002.1010 | f8:1a:67:aa:53:ed | 10.254.254.225 | ipoe |      | active | 00:00:18
Есть ли возможность ограничить кол-во создаваемых интерфейсов для одной пары QinQ вланов ?
Есть ли возможность игнорировать access-request от клиента который уже авторизирован?

Code: Select all

accel-ppp version 7bcac049264393cf06c8be7743d96c66a7ad701c

vlan-timeout=300
vlan-name=%I.%N
vlan-mon=e4.1002,1000-4042

interface=re:e4\.1002\.[1-4][0-9][0-9][0-9],start=up,start=dhcpv4,proxy-arp=0
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Старт по неклассифицированному пакету

Post by Dmitry »

логи надо
Undefined User
Posts: 13
Joined: 30 Nov 2017, 14:23

Re: Старт по неклассифицированному пакету

Post by Undefined User »

Логи в аттаче
Спойлер

Code: Select all

[2017-11-30 16:22:03]:  info: e4.1002.1010: send [RADIUS(1) Access-Request id=1 <User-Name "e4.1002.1010"> <NAS-IP-Address xx.xx.xx.xx> <NAS-Port 978> <NAS-Port-Id "e4.1002.1010"> <NAS-Port-Type Ethernet> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Called-Station-Id "e4.1002.1010"> <NAS-Identifier "ipoe"> <Framed-IP-Address yy.yy.yy.yy> <User-Password>]
[2017-11-30 16:22:03]: debug: e4.1002.1010: radius(1): req_exit 0
[2017-11-30 16:22:03]:  info: e4.1002.1010: recv [RADIUS(1) Access-Accept id=1 <NAS-Port-Id "e4.1002.1010"> <NAS-Port 978> <NAS-IP-Address xx.xx.xx.xx> <NAS-Identifier "ipoe"> <User-Name "e4.1002.1010"> <NAS-Port-Type Ethernet> <Called-Station-Id "e4.1002.1010"> <Filter-Id "IPOE_LOGIN_NOT_EXIST"> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Session-Timeout 604800> <Acct-Interim-Interval 300> <Framed-IP-Address 10.254.254.225> <Framed-IP-Netmask 255.255.255.0>]
[2017-11-30 16:22:03]:  info: e4.1002.1010: e4.1002.1010: authentication succeeded
[2017-11-30 16:22:03]: debug: e4.1002.1010: ipoe: activate session
[2017-11-30 16:22:03]: debug: libnetlink: RTNETLINK answers: File exists
[2017-11-30 16:22:03]:  info: e4.1002.1010: rename interface to 'e4.1002.1010'
[2017-11-30 16:22:03]: debug: e4.1002.1010: radius(1): req_enter 1
[2017-11-30 16:22:03]:  info: e4.1002.1010: send [RADIUS(1) Accounting-Request id=1 <User-Name "e4.1002.1010"> <NAS-IP-Address xx.xx.xx.xx> <NAS-Port 978> <NAS-Port-Id "e4.1002.1010"> <NAS-Port-Type Ethernet> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Called-Station-Id "e4.1002.1010"> <NAS-Identifier "ipoe"> <Acct-Status-Type Start> <Acct-Authentic RADIUS> <Acct-Session-Id "44dd1a11e0533c4c"> <Acct-Session-Time 0> <Acct-Input-Octets 0> <Acct-Output-Octets 0> <Acct-Input-Packets 0> <Acct-Output-Packets 0> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 10.254.254.225>]
[2017-11-30 16:22:03]: debug: e4.1002.1010: radius(1): req_exit 0
[2017-11-30 16:22:03]:  info: e4.1002.1010: recv [RADIUS(1) Accounting-Response id=1]
[2017-11-30 16:22:03]:  info: e4.1002.1010: ipoe: session started
[2017-11-30 16:22:03]:  info: e4.1002.1010: pppd_compat: ip-up started (pid 9325)
[2017-11-30 16:22:03]:  info: e4.1002.1010: pppd_compat: ip-up finished (0)
[2017-11-30 16:22:08]:  info: e4.1002.1010: recv [ARP Request who-has zz.zz.zz.zz tell yy.yy.yy.yy]
[2017-11-30 16:22:08]: debug: e4.1002.1010: radius(1): req_enter 1
[2017-11-30 16:22:08]:  info: e4.1002.1010: send [RADIUS(1) Access-Request id=1 <User-Name "e4.1002.1010"> <NAS-IP-Address xx.xx.xx.xx> <NAS-Port 978> <NAS-Port-Id "e4.1002.1010"> <NAS-Port-Type Ethernet> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Called-Station-Id "e4.1002.1010"> <NAS-Identifier "ipoe"> <Framed-IP-Address yy.yy.yy.yy> <User-Password>]
[2017-11-30 16:22:09]: debug: e4.1002.1010: radius(1): req_exit 0
[2017-11-30 16:22:09]:  info: e4.1002.1010: recv [RADIUS(1) Access-Accept id=1 <NAS-Port-Id "e4.1002.1010"> <NAS-Port 978> <NAS-IP-Address xx.xx.xx.xx> <NAS-Identifier "ipoe"> <User-Name "e4.1002.1010"> <NAS-Port-Type Ethernet> <Called-Station-Id "e4.1002.1010"> <Filter-Id "IPOE_LOGIN_NOT_EXIST"> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Session-Timeout 604800> <Acct-Interim-Interval 300> <Framed-IP-Address 10.254.254.225> <Framed-IP-Netmask 255.255.255.0>]
[2017-11-30 16:22:09]:  info: e4.1002.1010: e4.1002.1010: authentication succeeded
[2017-11-30 16:22:09]:  info: e4.1002.1010: send [ARP Reply zz.zz.zz.zz is-at 90:e2:ba:0e:f7:95]
[2017-11-30 16:22:17]: debug: e4.1002.1010: radius(1): req_enter 1
[2017-11-30 16:22:17]: debug: e4.1002.1010: radius(1): req_exit 0
[2017-11-30 16:22:19]:  info: e4.1002.1010: ipoe: session timed out
[2017-11-30 16:22:19]: debug: e4.1002.1010: terminate
[2017-11-30 16:22:19]:  info: e4.1002.1010: ipoe: session finished
[2017-11-30 16:22:27]: debug: e4.1002.1010: radius(1): req_enter 1
[2017-11-30 16:22:27]:  info: e4.1002.1010: send [RADIUS(1) Access-Request id=1 <User-Name "e4.1002.1010"> <NAS-IP-Address xx.xx.xx.xx> <NAS-Port 978> <NAS-Port-Id "e4.1002.1010"> <NAS-Port-Type Ethernet> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Called-Station-Id "e4.1002.1010"> <NAS-Identifier "ipoe"> <Framed-IP-Address yy.yy.yy.yy> <User-Password>]
[2017-11-30 16:22:27]: debug: e4.1002.1010: radius(1): req_exit 0
[2017-11-30 16:22:27]:  info: e4.1002.1010: recv [RADIUS(1) Access-Accept id=1 <NAS-Port-Id "e4.1002.1010"> <NAS-Port 978> <NAS-IP-Address xx.xx.xx.xx> <NAS-Identifier "ipoe"> <User-Name "e4.1002.1010"> <NAS-Port-Type Ethernet> <Called-Station-Id "e4.1002.1010"> <Filter-Id "IPOE_LOGIN_NOT_EXIST"> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Session-Timeout 604800> <Acct-Interim-Interval 300> <Framed-IP-Address 10.254.254.225> <Framed-IP-Netmask 255.255.255.0>]
[2017-11-30 16:22:27]:  info: e4.1002.1010: e4.1002.1010: authentication succeeded
[2017-11-30 16:22:27]: debug: e4.1002.1010: ipoe: activate session
[2017-11-30 16:22:27]: debug: libnetlink: RTNETLINK answers: File exists
[2017-11-30 16:22:27]:  info: e4.1002.1010: rename interface to 'e4.1002.1010'
[2017-11-30 16:22:27]: debug: e4.1002.1010: radius(1): req_enter 1
[2017-11-30 16:22:27]:  info: e4.1002.1010: send [RADIUS(1) Accounting-Request id=1 <User-Name "e4.1002.1010"> <NAS-IP-Address xx.xx.xx.xx> <NAS-Port 978> <NAS-Port-Id "e4.1002.1010"> <NAS-Port-Type Ethernet> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Called-Station-Id "e4.1002.1010"> <NAS-Identifier "ipoe"> <Acct-Status-Type Start> <Acct-Authentic RADIUS> <Acct-Session-Id "44dd1a11e0533c4e"> <Acct-Session-Time 0> <Acct-Input-Octets 0> <Acct-Output-Octets 0> <Acct-Input-Packets 0> <Acct-Output-Packets 0> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 10.254.254.225>]
[2017-11-30 16:22:27]: debug: e4.1002.1010: radius(1): req_exit 0
[2017-11-30 16:22:27]:  info: e4.1002.1010: recv [RADIUS(1) Accounting-Response id=1]
[2017-11-30 16:22:27]:  info: e4.1002.1010: ipoe: session started
[2017-11-30 16:22:27]:  info: e4.1002.1010: pppd_compat: ip-up started (pid 9326)
[2017-11-30 16:22:27]:  info: e4.1002.1010: pppd_compat: ip-up finished (0)
[2017-11-30 16:22:29]: debug: recv [RADIUS Disconnect-Request id=dd <User-Name "e4.1002.1010"> <Acct-Session-Id "44dd1a11e0533c36">]
[2017-11-30 16:22:29]:  info: e4.1002.1010: recv [RADIUS Disconnect-Request id=dd <User-Name "e4.1002.1010"> <Acct-Session-Id "44dd1a11e0533c36">]
[2017-11-30 16:22:29]:  info: e4.1002.1010: send [RADIUS Disconnect-ACK id=dd]
[2017-11-30 16:22:29]: debug: e4.1002.1010: terminate
[2017-11-30 16:22:29]: debug: e4.1002.1010: radius(1): req_enter 1
[2017-11-30 16:22:29]:  info: e4.1002.1010: send [RADIUS(1) Accounting-Request id=1 <User-Name "e4.1002.1010"> <NAS-IP-Address xx.xx.xx.xx> <NAS-Port 978> <NAS-Port-Id "e4.1002.1010"> <NAS-Port-Type Ethernet> <Calling-Station-Id "f8:1a:67:aa:53:ed"> <Called-Station-Id "e4.1002.1010"> <NAS-Identifier "ipoe"> <Acct-Status-Type Stop> <Acct-Authentic RADIUS> <Acct-Session-Id "44dd1a11e0533c36"> <Acct-Session-Time 289> <Acct-Input-Octets 4428> <Acct-Output-Octets 8788> <Acct-Input-Packets 63> <Acct-Output-Packets 114> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 10.254.254.225> <Acct-Terminate-Cause Admin-Reset>]
[2017-11-30 16:22:29]:  info: e4.1002.1010: pppd_compat: ip-down started (pid 9329)
[2017-11-30 16:22:29]:  info: e4.1002.1010: pppd_compat: ip-down finished (0)
[2017-11-30 16:22:29]: debug: e4.1002.1010: radius(1): req_exit 0
[2017-11-30 16:22:29]:  info: e4.1002.1010: ipoe: session finished
[2017-11-30 16:22:29]:  info: recv [RADIUS(1) Accounting-Response id=1]
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Старт по неклассифицированному пакету

Post by Dmitry »

вобщем это не вариант, так работать не будет, я имею в виду выдавать левый Framed-IP-Address
такие сессии не надо авторизовывать, пусть радиус шлёт как положено Access-Reject
и используйте connlimit для сокращения долбёжки
Undefined User
Posts: 13
Joined: 30 Nov 2017, 14:23

Re: Старт по неклассифицированному пакету

Post by Undefined User »

Спасибо за быстрый ответ.
Будем пробовать, по результату отпишусь, возможно для комьюнити такой опыт будет интересен.
saskuu
Posts: 9
Joined: 01 Jul 2016, 11:55

Re: Старт по неклассифицированному пакету

Post by saskuu »

>используйте connlimit для сокращения долбёжки
а можно поподробнее ?
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Старт по неклассифицированному пакету

Post by dimka88 »

saskuu wrote: 30 Mar 2018, 17:43 >используйте connlimit для сокращения долбёжки
а можно поподробнее ?
[connlimit]
This module limits connection rate from single source.

limit=count/time
Specifies acceptable rate of connections, for example limit=1/s or limit=10/3m.
burst=count
timeout=n
Specifies timeout in seconds after which module doesn't check rate until burst number of connections will be arrived.
Post Reply