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

accel pptpd accel pptpd

В 30.04.2018 в 19:15, trksergey сказал:

Как правильно контролировать длительность сессии?

Никак.

IPoE сессии не должны просто так умирать. Либо лиза кончится, либо принудительный сброс.

Хотите что б абоны хватали новые параметры - осильте CoA.

Share this post


Link to post
Share on other sites
В 05.05.2018 в 00:24, GrandPr1de сказал:

Никак.

IPoE сессии не должны просто так умирать. Либо лиза кончится, либо принудительный сброс.

Хотите что б абоны хватали новые параметры - осильте CoA.

Кстати, для [ipoe] есть понятие soft-terminate=1 когда по истечению времени(session-timeout) сессия не будет завершена мгновенно, а accel-ppp будет ждать от клиента продление lease и ответит NAK, тем самым инициирует DHCP DISCOVER от клиента.

Share this post


Link to post
Share on other sites

Что-то я запутался...

 

Вот раздел shaper конфига

mpu=0
r2q=10
quantum=1500
ifb=ifb0
up-limiter=police
down-limiter=htb
leaf-qdisc=sfq perturb 10
fwmark=48
verbose=1


Т.е. трафик, который "покрашен" при помощи fwmark, не должен шейпиться.

 

Вот правило файрвола, коорым трафик "красится":

iptables -t mangle -A PREROUTING -p tcp -m dscp ! --dscp 48 -j MARK --set-mark 48

 

На другом моём сервере весь "мировой" трафик помечается значением 48 в поле DSCP, а на сервере с Accel на весь трафик с DSCP, отличным от 48, навешивается fwmark 48. Т.е. весь "не мировой" трафик должен идти мимо шейпера.

То, что на правило MARK трафик попадает - видно по счётчику пакетов.

Но, очевидно, что-то я делаю не так, потому что у меня шейпится весь трафик - и "украинский", и "мировой".

 

Подскажите, пожалуйста, на что нужно обратить внимание, и что я мог сделать "не так".

 

Share this post


Link to post
Share on other sites

что там показывает 

tc filter show dev CLIENT_IFACE

и можете убрать из конфига  ifb=ifb0 если используете up-limiter=police

Share this post


Link to post
Share on other sites

Коллеги, подскажите. 

 

Настраиваю ипое, все работает.  А именно, по l2 уходит options 82.  

 

Далее, ассел выплевывает это радиусу. Все ок, сессия есть.  

 

Но работает, связка login mac + pass: mac

 

 

 

Очень хочется, чтобы авторизация была по login: ид коммутатора+порт

                                                                          и пароль: номер порта

 

Как это можно написать на lua? кто нибудь писал? 

 

 

 

 

 

 

[ipoe]
lease-time=86400
gw-ip-address=172.16.0.1/16
mode=L2
shared=1
start=dhcpv4
ifcfg=0
interface=eth2,range=192.168.49.0/24
lua-file=/etc/accel-ppp.lua
username=lua:username
attr-dhcp-client-ip=Framed-IP-Address
attr-dhcp-router-ip=DHCP-Router-IP-Address
attr-dhcp-mask=DHCP-Mask
attr-dhcp-opt82=DHCP-Option82
attr-dhcp-opt82-remote-id=AccelRemoteId
attr-dhcp-opt82-circuit-id=AccelCircuitId
 

 

cat accel-ppp.lua

 

function username(pkt)
        local interface = string.gsub(pkt:ifname(),'(eth%d+)%.(%d+)%.(%d+)$','%2-%3')
        local mac = string.gsub(pkt:hdr("chaddr"),':','')
        local username=mac..':'..string.gsub(interface,'-$','')
        print(username)
        return username
end
 

 

Share this post


Link to post
Share on other sites
On 23.08.2018 at 11:44 PM, Dimka88 said:

что там показывает 


tc filter show dev CLIENT_IFACE

и можете убрать из конфига  ifb=ifb0 если используете up-limiter=police

# tc filter show dev ipoe0
filter parent 1: protocol ip pref 90 fw
filter parent 1: protocol ip pref 90 fw handle 0x30 classid 1:

# tc filter show dev ipoe1
filter parent 1: protocol ip pref 90 fw
filter parent 1: protocol ip pref 90 fw handle 0x30 classid 1:

 

Share this post


Link to post
Share on other sites

Видел гдето что %l в ifname подставляется, но по факту не взлетело - говорит не могу распарстить ifname=pptp-%l-%d

Share this post


Link to post
Share on other sites

Видел гдето что %l в ifname подставляется, но по факту не взлетело - говорит не могу распарстить ifname=pptp-%l-%d

Share this post


Link to post
Share on other sites

Приветствую!

 

Коллеги, подскажите как можно иметь разные  gw-ip-address, в завимимости от вилана? 

 

 

Хочу одновременно с серыми ип, давать через тот же нас белые ип.  Как только меняю gw-ip-address, на адрес  из той же сети что белый все ок.

 

Но серые ип, уже при этом не работают. Включен  proxy-arp=1

 

[ipoe]
lease-time=60
renew-time=30
max-lease-time=3600
#gw-ip-address=172.16.0.1/16
gw-ip-address=1.1.1.1/24 - (белый ип)
mode=L2
shared=1
start=dhcpv4
ifcfg=0
#interface=eth1,range=172.16.0.0/16
interface=eth1
lua-file=/etc/accel-pppd.lua
username=lua:username
attr-dhcp-client-ip=Framed-IP-Address
attr-dhcp-router-ip=DHCP-Router-IP-Address
attr-dhcp-mask=DHCP-Mask
attr-dhcp-opt82=DHCP-Option82
attr-dhcp-opt82-remote-id=AccelRemoteId
attr-dhcp-opt82-circuit-id=AccelCircuitId
proxy-arp=1
 

 

Подскажите, как можно одновременно давать клиентам адреса из сети 172.16.0.1/16 и 1.1.1.1/24 

 

Либо иметь разные gw-ip-address в зависимости от виалана

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

можно указать несколько gw-ip-address

gw-ip-address=172.16.0.1/16
gw-ip-address=1.1.1.1/24

Share this post


Link to post
Share on other sites
21 час назад, casper.w00t сказал:

можно указать несколько gw-ip-address

gw-ip-address=172.16.0.1/16
gw-ip-address=1.1.1.1/24

 

Спасибо, помогло! 

Share this post


Link to post
Share on other sites

От скуки обновился с версии 1.9.0(да еще и нефинальной, сборка из git) до релизной 1.11.2

Вылезли проблемы с IPoE vlan-per-user.

 

На старой версии при втыкании клиентом устройства с другим маком происходило мгновенное убивание старой сессии и старт с новым маком.

Сейчас - ничего не происходит, новое устройство IP не получает, старая сессия не рвется и висит под старым маком бесконечно(пока новый девайс шлет DHCP-запросы, старая сессия по таймауту не протухает).

Опцию check-mac-change менял, разницы никакой. 

48:8d:36:ac:d3:26 старый мак, активная сессия с ним. Клиент меняет девайс на 44:8a:5b:83:47:12

[root@IPoE2 ~]# accel-cmd show sessions | grep xx.xx.68.56
 bond1.2090.1120 | 2090.1120 | 48:8d:36:ac:d3:26 | xx.xx.68.56   | ipoe |      | active | 00:54:50

14:26:28.520600 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 291
14:26:28.520933 IP xx.xx.64.2.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 284
14:26:28.536824 IP xx.xx.64.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 358
14:26:28.537632 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 303
14:26:32.537174 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 303
14:26:39.537098 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 303

[root@IPoE2 etc]# accel-cmd show sessions | grep xx.xx.68.56
 bond1.2090.1120 | 2090.1120 | 44:8a:5b:83:47:12 | xx.xx.68.56   | ipoe |      | active | 00:02:40

И ничего не происходит, accel не отвечает на dhcp запросы. Точнее на дискавери отвечает, а вот дальше реквесты игнорирует, ack не шлет.

Или сессию нужно убивать, или просить клиента "выключить на полчасика роутер".

Как можно поменять поведение на старое?

Share this post


Link to post
Share on other sites
27 minutes ago, kayot said:

От скуки обновился с версии 1.9.0(да еще и нефинальной, сборка из git) до релизной 1.11.2

Вылезли проблемы с IPoE vlan-per-user.

 

На старой версии при втыкании клиентом устройства с другим маком происходило мгновенное убивание старой сессии и старт с новым маком.

Сейчас - ничего не происходит, новое устройство IP не получает, старая сессия не рвется и висит под старым маком бесконечно(пока новый девайс шлет DHCP-запросы, старая сессия по таймауту не протухает).

Опцию check-mac-change менял, разницы никакой. 

48:8d:36:ac:d3:26 старый мак, активная сессия с ним. Клиент меняет девайс на 44:8a:5b:83:47:12


[root@IPoE2 ~]# accel-cmd show sessions | grep xx.xx.68.56
 bond1.2090.1120 | 2090.1120 | 48:8d:36:ac:d3:26 | xx.xx.68.56   | ipoe |      | active | 00:54:50

14:26:28.520600 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 291
14:26:28.520933 IP xx.xx.64.2.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 284
14:26:28.536824 IP xx.xx.64.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length 358
14:26:28.537632 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 303
14:26:32.537174 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 303
14:26:39.537098 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 44:8a:5b:83:47:12, length 303

[root@IPoE2 etc]# accel-cmd show sessions | grep xx.xx.68.56
 bond1.2090.1120 | 2090.1120 | 44:8a:5b:83:47:12 | xx.xx.68.56   | ipoe |      | active | 00:02:40

И ничего не происходит, accel не отвечает на dhcp запросы. Точнее на дискавери отвечает, а вот дальше реквесты игнорирует, ack не шлет.

Или сессию нужно убивать, или просить клиента "выключить на полчасика роутер".

Как можно поменять поведение на старое?

 

А это стоит?

[common]
sid-source=urandom
#seq-file=/var/lib/accel-ppp/seq
#seq-file=/var/run/accel-ppp/seq
single-session=replace
 

 

Share this post


Link to post
Share on other sites
3 minutes ago, kayot said:

@nik247 

Нет, не стоит. Поможет?

single-session=replace было вынесено в новый блок давно....

[common]
single-session=replace

Edited by nik247

Share this post


Link to post
Share on other sites

@nik247 

Добавил, сделал reload. Или не помогло, или опция при reload не подхватывается.. Завтра с утра проверю рестартом.

Share this post


Link to post
Share on other sites
16 hours ago, kayot said:

@nik247 

Добавил, сделал reload. Или не помогло, или опция при reload не подхватывается.. Завтра с утра проверю рестартом.

вот у себя в логах сейчас нарыл такой блок - смена происходит мгновенно (shared vlan, op82)

[2018-11-07 08:42:32]:  info: ipoe-g0224a-33: recv [DHCPv4 Discover xid=56e9ea47 chaddr=00:11:22:33:55:b3 <Message-Type Discover> <Client-ID 0100e04c8d55b3>
[2018-11-07 08:42:32]:  warn: ipoe-g0224a-33: mac change detected
[2018-11-07 08:42:32]:  info: ipoe0: create interface ipoe0 parent v0224
[2018-11-07 08:42:32]:  info: ipoe0: send [RADIUS(1) Access-Request id=1 <User-Name "g0224a-33"> <NAS-Identifier "accel-ppp"> <NAS-IP-Address 
[2018-11-07 08:42:32]:  info: ipoe-g0224a-33: send [RADIUS(2) Accounting-Request id=3 <User-Name "g0224a-33"> <NAS-Identifier "accel-ppp"> <NAS-IP-Address
[2018-11-07 08:42:32]:  info: ipoe-g0224a-33: pppd_compat: ip-down started (pid 11650)
[2018-11-07 08:42:32]:  info: ipoe-g0224a-33: pppd_compat: ip-down finished (0)
[2018-11-07 08:42:32]:  info: ipoe-g0224a-33: ipoe: session finished
[2018-11-07 08:42:32]:  info: ipoe0: recv [RADIUS(1) Access-Accept id=1 <Acct-Interim-Interval 300> <NAS-Port-Id "ipoe-g0224a-33"> <Reply-Message "11"> 
[2018-11-07 08:42:32]:  info: ipoe0: g0224a-33: authentication succeeded
[2018-11-07 08:42:32]:  info: ipoe0: send [DHCPv4 Offer xid=56e9ea47 yiaddr=10.10.4.71 chaddr=11:22:33:44:55:b3 <Message-Type Offer> <Server-ID 10.10.4.1>
[2018-11-07 08:42:32]:  info: recv [RADIUS(2) Accounting-Response id=3]
[2018-11-07 08:42:32]:  info: ipoe0: recv [DHCPv4 Request xid=56e9ea47 chaddr=11:22:33:44:55:b3 <Message-Type Request> <Client-ID 0100e04c8d55b3>
[2018-11-07 08:42:32]:  info: ipoe0: rename interface to 'ipoe-g0224a-33'

accel-cmd -V
accel-cmd f5313ce5dc5192f4539eceacd621bfe193a0eb97
1.11.2 от 03.08.2018

Edited by nik247

Share this post


Link to post
Share on other sites
18 часов назад, kayot сказал:

или опция при reload не подхватывается.. Завтра с утра проверю рестартом.

Не помогло. При смене мака клиента старая сессия не убивается, устройство не получает IP - accel тупо не отвечает на DHCP REQ.

Причем сессия со старым маком может висеть бесконечно долго - dhcp запросы от страдальца поддерживают её и не дают помереть по таймауту.

В конфиге

[common]
single-session=replace
sid-source=urandom

[ipoe]
shared=0
ifcfg=0
mode=L2
## check-mac-change=0
## soft-terminate=0

По логике должна старая сессия умирать и стартовать новая, как было в 1.9. Может я еще что-то упустил?

Share this post


Link to post
Share on other sites

Добавил тему на форуме accel.

 

P.S. проблема решена обновлением на текущую версию из git, в релизе 1.11.2 баг.

Share this post


Link to post
Share on other sites

 

Коллеги приветствую!

 

Подскажите, у кого нибудь реализована авторизация по dhvp4(options 82 discovery) в режиме l3 ? 

 

Как указывать шлюз клиенту, при получении аренды? (Из биллинга можно задавать только клиентский ип).

 

 

Share this post


Link to post
Share on other sites

@zlolotus 

В 25.10.2018 в 14:20, casper.w00t сказал:

можно указать несколько gw-ip-address

gw-ip-address=172.16.0.1/16
gw-ip-address=1.1.1.1/24

Добавьте все ваши подсети со шлюзом.

Share this post


Link to post
Share on other sites
39 минут назад, kayot сказал:

@zlolotus 

Добавьте все ваши подсети со шлюзом.

зачем это адресовано мне?

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