Size: a a a

2021 April 05

S

Sergey in Accel-PPP
Pavel Golovin
Доброго понедельника. Готовлюсь мигрировать с текущей реализации BRAS на FreeBSD на Accel-PPP. Подскажите пожалуйста возможно ли сейчас при схеме с ipoe по unclassified packet назначать один qdisk нескольким "сессиям" одного абонента? Кейс - единая скорость на услугу клиента по его нескольким IP адресам. И если нельзя из коробки, то на сколько реально это провернуть какими-то кастомными скриптами shaper-up/shaper-down. Спасибо.
через скрипты вы можете реализовать любую логику, которую имеет ядро. если честно, я с таким кейсом сталкивался последний раз лет 10 назад. такое актуально разве что для очень дорогих каналов типа спутника, в обычно ШПД оно не нужно ни в b2b, ни в b2c
источник

S

Sergey in Accel-PPP
Pavel Golovin
Благодарю за вариант. Пока разбирался с теоретической частью вопроса шейпинга в linux и сложил мнение, что если не использовать tc class для шейпинга с "заворотом" в них через hashkey tc filters то производительность фаерволла упадёт из-за количества правил. И в целом не хочется использовать ни iptables ни ipset - поднял отдельный NAT на nftables и выглядит что про все остальные фаерволлы лучше уже забыть в 2021 (могу ошибаться) и так же не инвестировать время в разбирательства с ними.

Пока есть вариант в голове - скриптом генерировать tc filters c hashkey для всех абонентов и направлять трафик в нужные qdisc (хоть каждого в свой, хоть нескольких в один). Либо использовать для той же цели "новомодный" nftables (по информации, которую собрал - он так же использует хеширование и как будто не должно быть разницы в производительности с tc hashkey filter) и так же иметь возможность направлять трафик в какие угодно qdisc.
фильтры можно делать иерархические, тогда производительность не сильно падает. например сначала матчите по сетям /24, а внутри уже правила для конкретных IP
источник

S

Sergey in Accel-PPP
но в целом, я бы не стал этим заниматься, т.к. у вас будут очень навороченные скрипты и ловить баги в них это будет сущий ад
источник

x

xroft in Accel-PPP
все верно. фряха должна умереть
источник

x

xroft in Accel-PPP
в 2к21 эта ось уже недоразумение
источник

S

Sergey in Accel-PPP
смысл accel в том что он является control-plane  и заливает различные правила в ядро, создает интерфейсы и т.п. скриптинг сложных шейперов это не очень правильно из-за локов, возможных конфликтов скриптов когда они правят правила для общей трубы и проче радсоти
источник

S

Sergey in Accel-PPP
если вам действительно нужна общая труба, а это не какая-то хрень “исторически сложившаяся” 15-20 лет назад и бесконечно поддерживаемся инженерами ISP, то я бы на вашем месте задумался о реализации этого юзкейса как фичи accel
источник

S

Sergey in Accel-PPP
когда я выпиливал такую фичу из одного купленного ISP, то просто дал на каждую точку столько сколько было по общей трубе, ни трафик, ни платежи, ничего не изменилось от этого, но за то не надо поддерживать столь сложную конструкцию ради пары абонентов и десятка-другого точек
источник

VG

Vladislav Grishenko in Accel-PPP
xroft
все верно. фряха должна умереть
как можно. туда только только wg запилили
источник

PG

Pavel Golovin in Accel-PPP
Полностью согласен, хочется перестать заниматься ловлей багов в кастоме и использовать проверенные технологичные решения.
Посмотрел по базе абонентов и действительно множественные IP адреса на абонентах имеются только в одном древнем legacy-сегменте, попробую подавить в сторону зачем нам это вобще надо и как от этого избавится, выглядит действительно как атавизм.
Благодарю за верное направление 👍
источник

x

xroft in Accel-PPP
Vladislav Grishenko
как можно. туда только только wg запилили
угу, не прошло и 10 лет
источник

VG

Vladislav Grishenko in Accel-PPP
xroft
угу, не прошло и 10 лет
почему 10? давно ли оно в линуксах то )
источник

VG

Vladislav Grishenko in Accel-PPP
tinc к слову намного ранее, чем 10 лет там был
источник

S

Sergey in Accel-PPP
Pavel Golovin
Полностью согласен, хочется перестать заниматься ловлей багов в кастоме и использовать проверенные технологичные решения.
Посмотрел по базе абонентов и действительно множественные IP адреса на абонентах имеются только в одном древнем legacy-сегменте, попробую подавить в сторону зачем нам это вобще надо и как от этого избавится, выглядит действительно как атавизм.
Благодарю за верное направление 👍
возможно, половина точек уже отключены физически и/или за них давно не платят. я даже не смог найти договора на некоторые, забил хер и просто дал везде N мегабит на каждую
источник

s

shumbor in Accel-PPP
Vladislav Grishenko
как можно. туда только только wg запилили
уже выпили вроде, т.к. код говно оказался.
источник

VG

Vladislav Grishenko in Accel-PPP
shumbor
уже выпили вроде, т.к. код говно оказался.
говнокод выпилили и запилили нормально )
источник

s

shumbor in Accel-PPP
Pavel Golovin
Доброго понедельника. Готовлюсь мигрировать с текущей реализации BRAS на FreeBSD на Accel-PPP. Подскажите пожалуйста возможно ли сейчас при схеме с ipoe по unclassified packet назначать один qdisk нескольким "сессиям" одного абонента? Кейс - единая скорость на услугу клиента по его нескольким IP адресам. И если нельзя из коробки, то на сколько реально это провернуть какими-то кастомными скриптами shaper-up/shaper-down. Спасибо.
у нас такие в отдельном влане для юриков живут, его исторически не трогаем, там ограничение на порту конечной железки, остальное переделали на обычную схему. Но они и раньше не фряху у нас не заходили.
источник

s

shumbor in Accel-PPP
а так либо да менять схему, либо писать скриты под ipt_ratelimit/tc
источник

P

Pavel in Accel-PPP
Господа , добрый день. Подскажите пожалуйста. Юзаю accel-ipoe , случай следующий. Есть у меня один проблемнный клиент с плохим удлинителем электрическим. До него никак не достучаться что удлинитель поменять надо. Тестирую на столе аксель с такой же проблемой , т.е. врубаю вырубаю роутер.
После того как выключаю роутер сессия в акселе не обрывается , как шла так и идет , но роутер не получает IP адрес обратно, после включения.
Подскажите  какой параметр отвечает за повторную выдачу ip адреса ?
[ipoe]
verbose=1
username=lua:username
lua-file=/etc/accel-ppp.lua
check-mac-change=1
password=cisco
#lease-time=300
#max-lease-time=600
#renew-time=150
#idle-timeout=120
mode=L2
start=dhcpv4
ifcfg=0
shared=1
vlan_mon=vlan150
l4-redirect-ipset=disabled


#====================
# Портянка на вланы
#====================

interface=vlan150,range=100.64.0.0/20
#interface=vlan970,range=100.72.11.0/24

#=================
# Шлюзы на сетки
#=================

gw-ip-address=195.62.78.129/25
gw-ip-address=100.64.0.1/20
#gw-ip-address=100.72.11.254/24,name=len33

#==================
#RADIUS Атрибуты
#==================

attr-dhcp-client-ip=Framed-IP-Address
attr-dhcp-router-ip=DHCP-Router-IP-Address
attr-dhcp-mask=DHCP-Mask
attr-l4-redirect=L4-Redirect
attr-l4-redirect-ipset=L4-Redirect-Ipset



[radius]
dictionary=/usr/local/share/accel-ppp/radius/dictionary
nas-identifier=accel-ppp
server=100.64.0.254,cisco,auth-port=1812,acct-port=1813,req-limit=50,fail-timeout=0,max-fail=10,weight=1
dae-server=100.64.0.1:1700,cisco
nas-ip-address=100.64.0.1
verbose=1
interim-verbose=1
acct-interim-interval=60
acct-on=1
источник

P

Pavel in Accel-PPP
ipoe2  | ccb255219d40:1  | c0:4a:00:85:81:5d | 100.64.0.20 | 30000/30000 | ipoe |      | active | 00:12:49

Вот допустим сессия есть
источник