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

Привет всем!

Поскажите решение проблемы , сделал связку accel-ppp + биллинг. Авторизация проходит нормально ,но учета трафика нет , как я понимаю за это в ответе атрибут Acct-Input-Packets и Acct-Output-Packets.

Share this post


Link to post
Share on other sites
Возможно ли (без радиуса), чтобы для L2TP выдавались адреса из одного пула, а для PPTP - из другого?
нет, такая возможность не реализована, добавляйте фич реквест если нужно

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

Всем привет. Взяли на тесты роутеры dir-615 оказались глючные :) (HW K1)

пптп работает через раз, а вот л2тп не хочет.

тспдамп пока словил с сервера, выдает такое

 

 

server:~# tcpdump -i eth2 'src 10.10.5.233'

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes

19:13:12.354256 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:13.358851 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:14.358942 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:15.368812 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:16.368910 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:17.378845 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:18.378833 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:19.388816 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:20.388908 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:21.398836 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=0,Nr=0 *MSGTYPE(SCCRQ) *PROTO_VER(1.0) *FRAMING_CAP(AS) *BE ARER_CAP() *FIRM_VER(1680) *HOST_NAME(Dlink-Router) *VENDOR_NAME(xelerance.com) *ASSND_TUN_ID(25588) *RECV_WIN_SIZE(4)

19:13:22.419765 IP 10.10.5.233.l2f > billing.l2f: l2tp:[TLS](0/0)Ns=1,Nr=0 *MSGTYPE(StopCCN) *ASSND_TUN_ID(25588) *RESULT_CODE( 1/0 Goodbye!)

 

Share this post


Link to post
Share on other sites

в логах что то ничего не нашел...про пптп соединение есть от него, а вот л2тп нет...

Share this post


Link to post
Share on other sites

А какие есть способы сбросить соединение, зная имя интерфейса, например ppp10 ?

Кроме как через telnet консоль? Чтобы это можно было сделать из скрипта.Что такое dae-server, оно не для этого?

Share this post


Link to post
Share on other sites

А какие есть способы сбросить соединение, зная имя интерфейса, например ppp10 ?

из README:

...

7. Execute cli command:

snmpset -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::cli.0 = "shaper change all 1024 temp"

...

 

вместо shaper никто не запрещает воспользоваться "terminate if bla-bla"

Share this post


Link to post
Share on other sites

commit 0144238b8e364dac353797368fe45cda5426d88d
Author: Kozlov Dmitry <xeb@mail.ru>
Date:   Mon Feb 27 16:51:04 2012 +0400

shaper: move thread local variables to stack

commit 8a8680bfb817a25fdc04b6ce5e55605b1ac63d3d
Author: Kozlov Dmitry <xeb@mail.ru>
Date:   Mon Feb 27 16:50:21 2012 +0400

core: increase stack size

пробуйте

 

Несколько месяцев назад я писал о проблеме на Fedora 16 (ядро версии 3.2.7-1.fc16.i686) с периодическими segfault случайно, два три раза в сутки.

После этого уважаемый xeb в одной из следующих версий увеличил размер стека и это вроде-бы как помогло, с частотой падений - стало реже, но все-же осталось.

Сейчас на серваке крутится accel-ppp version 1.7.0, надежда на решение проблемы путем смены версий с прошлой 1.4.0 до 1.7.0 не оправдалась.

Как вариант хочу сменить основу - заменить fedora 16 на 17, как следствие сменится ядро на 3.4.x и версии либ посвежее станут - может поможет ...

Сейчас ситуация у меня следующая - каждую ночь в 3:00 я ребучу тестовый сервак, т.к. кроме проблемы с segfault, есть другая проблема, не связанная с accel (при постоянной работе на 2-3 сутки softirq съедает все время CPU и ничего кроме ребута не помогает, насколько я понял, это проблема железа и драйвера для него, сетевка Intel, но не шибко модная, здесь в других ветках когда-то обсуждалось ...)

В общем теперь, с учетом, что каждые сутки сервак стартует с нуля, за 24 часа segfault может не вылететь ни разу, и так может продолжаться и два и три дня подряд, и даже изредка до недели, а может каждый день вылет по segfault происходить.

Может сделать еще раз 10 :) core: increase stack size - мне памяти не жалко, все равно ее основная часть курит на серваках ... Или сделать этот параметр настраиваемым в каких-то пределах через конфиг, что-бы подобрать этот объем стека опытным путем ?!? ...

Конечно, если память течет, то все равно рано или поздно segfault-нется, но в моем случае лучше позже ... :) Правда, доп. увеличение объема стека может не помочь, потому как я не знаю, сколько accel его хочет в эти моменты, а т.к. проблема проявляется не четко, сложно поймать зависимость, от чего это происходит ...

 

debug.log:Jul 21 00:13:16 nas2 kernel: [65563.522638] accel-pppd[32256]: segfault at ccb002 ip 00b85c09 sp b47fc180 error 4 in libcrypto.so.1.0.0g[b41000+173000]

http://dl.dropbox.com/u/9391376/core.5090.tgz

 

debug.log:Jul 27 14:03:36 nas2 kernel: [28983.057607] accel-pppd[25880]: segfault at 4ce008 ip 0025dc09 sp af3fd180 error 4 in libcrypto.so.1.0.0g[219000+173000]

http://dl.dropbox.com/u/9391376/core.5098.tgz

 

debug.log:Jul 29 06:02:04 nas2 kernel: [ 91.461150] accel-pppd[6679]: segfault at 3d9003 ip 00154c09 sp b05fe180 error 4 in libcrypto.so.1.0.0g[110000+173000]

http://dl.dropbox.com/u/9391376/core.5073.tgz

 

http://dl.dropbox.com/u/9391376/core.5069.tgz

http://dl.dropbox.com/u/9391376/core.5099.tgz

http://dl.dropbox.com/u/9391376/core.5091.tgz

Edited by vinnipux

Share this post


Link to post
Share on other sites

На свежеустановленном дебиане wheezy свежескачанный пакет не ставится:

 

 


#dpkg -i accel-ppp-1.7.1.deb 
Selecting previously unselected package accel-ppp.
(Reading database ... 31423 files and directories currently installed.)
Unpacking accel-ppp (from accel-ppp-1.7.1.deb) ...
dpkg: error processing accel-ppp-1.7.1.deb (--install):
unable to create `/usr/lib/accel-ppp/libipv6pool.so.dpkg-new' (while processing `./usr/lib/accel-ppp/libipv6pool.so'): No such file or directory
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
accel-ppp-1.7.1.deb

Share this post


Link to post
Share on other sites
На свежеустановленном дебиане wheezy свежескачанный пакет не ставится:
386 ?

кажется я криво пакет собрал, завтра перезалью ...

Share this post


Link to post
Share on other sites

686 :-)

 

Попробовал собрать сам - кажется,начинаются проблемы с OpenSSL, он в wheezy уже 1.0.

Завтра точнее скажу.

Share this post


Link to post
Share on other sites
Или сделать этот параметр настраиваемым в каких-то пределах через конфиг

commit 994905a05a6388cb9e832e09c05bb6a363c73ecc
Author: Kozlov Dmitry <xeb@mail.ru>
Date:   Mon Jul 30 23:19:36 2012 +0400

make worker stack size configurable

[core]

stack-size=1048576

по умолчанию 1048576

Share this post


Link to post
Share on other sites

Вобщем, таки да:

 

dpkg: dependency problems prevent configuration of accel-ppp:
accel-ppp depends on libssl0.9.8 (>= 0.9.8); however:
 Package libssl0.9.8 is not installed.

Share this post


Link to post
Share on other sites
Или сделать этот параметр настраиваемым в каких-то пределах через конфиг

commit 994905a05a6388cb9e832e09c05bb6a363c73ecc
Author: Kozlov Dmitry <xeb@mail.ru>
Date:   Mon Jul 30 23:19:36 2012 +0400

make worker stack size configurable

[core]

stack-size=1048576

по умолчанию 1048576

 

Спасибо!

Буду тестить - результат напишу!

Share this post


Link to post
Share on other sites
На свежеустановленном дебиане wheezy свежескачанный пакет не ставится:
386 ?

кажется я криво пакет собрал, завтра перезалью ...

 

Скажите, какой версией gcc вы собираете пакет ? У меня по-прежнему ошибка при сборке:

 

[ 18%] Building C object accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_lcp.c.o
/home/AUR/accel-ppp/src/accel-ppp-1.7.1/accel-pppd/ppp/ppp_lcp.c: In function 'send_echo_request':
/home/AUR/accel-ppp/src/accel-ppp-1.7.1/accel-pppd/ppp/ppp_lcp.c:641:23: error: storage size of 'ifreq' isn't known
/home/AUR/accel-ppp/src/accel-ppp-1.7.1/accel-pppd/ppp/ppp_lcp.c:641:23: warning: unused variable 'ifreq' [-Wunused-variable]
make[2]: *** [accel-pppd/CMakeFiles/accel-pppd.dir/ppp/ppp_lcp.c.o] Error 1
make[1]: *** [accel-pppd/CMakeFiles/accel-pppd.dir/all] Error 2
make: *** [all] Error 2

Share this post


Link to post
Share on other sites

wtyd - ядро/дистрибутив у вас какой версии?

 

Archlinux, 3.4.6-1-ARCH. Весной или даже летом ещё собиралось, но потом после каких-то обновлений перестало. предполагаю, что этоиз-за gcc, т.к. это вроде он размер неиспользуемой переменной определить не может :-). Хотя я в этом плохо разбираюсь.

Edited by wtyd

Share this post


Link to post
Share on other sites

Ну реально в хедерах ядра больше нет такой структуры :-). Точнее такого типа структуры. Есть пару таких вот определений в исходниках accel-ppp: "struct ifpppstatsreq ifreq;" Т.е. где-тов подключаемых хедерах долно быть определение структуры типа ifpppstatsreq. Раньше это опредление было в файле /usr/include/linux/if_ppp.h и выглядело так (посмотрел хедеры от 2.6.15.4):

 

struct ifpppstatsreq {
       struct ifreq     b;
       struct ppp_stats stats;                 /* statistic information */
};

 

 

Сейчас в файле if_ppp.h всего одна строка "#include <linux/ppp-ioctl.h>" , а в ppp-ioctl.h ничего нет про ifpppstatsreq.

 

Ну и ещё компилер говроит, что переменная ifreq не используется. Как быть ? Что можно сделать ? :-).

Share this post


Link to post
Share on other sites
Ну и ещё компилер говроит, что переменная ifreq не используется. Как быть ? Что можно сделать ? :-).

commit bc071ac4349a96ec757ee418c08ffac509e6b6e4
Author: Kozlov Dmitry <xeb@mail.ru>
Date:   Fri Aug 3 14:32:32 2012 +0400

fixed complilation for 3.4 kernel

пока только для ветки master

Share this post


Link to post
Share on other sites

Решил тут проапгрейдить accel-ppp version e63e5ac245edcbf43902dd1d248e15231c6c9191 на свежую версию из гита (e4472e7ee5a2d493266800931593dbaa6ac0d56d), вроде всё настроил, но RADIUS-агент Lanbilling 1.8 выдаёт странные сообщения:

Tue Aug 7 10:01:14 2012, Error: USER_PASSWORD or CHAP_PASSWORD or MSCHAP/MSCHAPv2 attributes absent. Confused.

Tue Aug 7 10:01:14 2012, Info: Access-Reject

 

Может я что-то пропустил?

 

P.S. Ещё почему-то пропали все vlan-интерфейсы. Они были вида vlanXXX, исправил на ethY.XXXX, остались на месте.

P.P.S. откатился обратно, пока логи не включал. попробую попозже на тестовом сервере и сообщу как следует, что именно происходит.

P.P.P.S. Собираю на тестовом сервере. Сломана сборка модуля ядра для Debian6:

 

 

diff --git a/cmake/debian/debian.cmake b/cmake/debian/debian.cmake
index 0fcc2d5..00a56ae 100644
--- a/cmake/debian/debian.cmake
+++ b/cmake/debian/debian.cmake
@@ -11,7 +11,7 @@ if (BUILD_DRIVER_ONLY)
       SET(CPACK_DEBIAN_PACKAGE_DEPENDS "")
       SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian-kmod/postinst")
       #INSTALL(DIRECTORY lib/modules/${DEBIAN_KDIR}/extra)
-       INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/driver/driver/pptp.ko DESTINATION lib/modules/${DEBIAN_KDIR}/extra)
+       INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/drivers/pptp/driver/pptp.ko DESTINATION lib/modules/${DEBIAN_KDIR}/extra)
       #SET(CPACK_DEBIAN_PACKAGE_DEPENDS "linux-image (= ${LINUX_IMAGE})")
else (BUILD_DRIVER_ONLY)
       #SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.7), libssl0.9.8 (>= 0.9.8), libpcre3 (>= 7.6)")

 

 

А вот и долгожданные логи. Со стороны accel-я:

 

[2012-08-08 17:22:20]:  info: ppp0: connect: ppp0 <--> pptp(10.0.x.x)
[2012-08-08 17:22:20]:  info: ppp0: send [RADIUS(1) Access-Request id=1 <User-Name "XXXX"> <NAS-Identifier "y.y.y.y"> <NAS-IP-Address z.z.z.z> <NAS-Port 0> <NAS-Port-Type Virtual>
<Service-Type Framed-User> <Framed-Protocol PPP> <Calling-Station-Id "10.0.x.x"> <Called-Station-Id "10.0.y.y"><Microsoft MS-CHAP-Challenge ><Microsoft MS-CHAP2-Response >]
[2012-08-08 17:22:20]:  info: ppp0: recv [RADIUS(1) Access-Accept id=1 <Session-Timeout 86400> <Service-Type Framed-User> <Framed-Protocol PPP> <Framed-IP-Address 192.168.x.x>
<Framed-IP-Netmask 255.255.255.255> <Class ><Microsoft MS-CHAP2-Success ><Microsoft MS-MPPE-Encryption-Policy 1><Microsoft MS-MPPE-Encryption-Type 6><Microsoft MS-MPPE-Send-Key >
<Microsoft MS-MPPE-Recv-Key> <Acct-Interim-Interval 60>
<Cisco Cisco-AVPair "lcp:interface-config#1=rate-limit output 5120000 640000 640000 conform-action transmit exceed-action drop ">
<Cisco Cisco-AVPair "lcp:interface-config#1=rate-limit input 5120000 640000 640000 conform-action transmit exceed-action drop ">]
[2012-08-08 17:22:20]:  info: ppp0: send [RADIUS(1) Access-Request id=1 <User-Name "XXXX"> <NAS-Identifier "y.y.y.y"> <NAS-IP-Address z.z.z.z> <NAS-Port 0> <NAS-Port-Type Virtual>
<Service-Type Framed-User> <Framed-Protocol PPP> <Calling-Station-Id "10.0.x.x"> <Called-Station-Id "10.0.y.y"> <Class >]
[2012-08-08 17:22:20]:  info: ppp0: recv [RADIUS(1) Access-Reject id=1]
[2012-08-08 17:22:20]:  info: ppp0: XXXX: authentication failed
[2012-08-08 17:22:20]:  info: XXXX: authentication failed
[2012-08-08 17:22:20]:  info: ppp0: disconnected

 

10.0.x.x - адрес клиента

XXXX - имя пользователя

10.0.y.y - адрес NAS-а

y.y.y.y и z.z.z.z - идентификатор и IP-адрес NAS-а

192.168.x.x - адрес, который выдаётся клиенту

Со стороны RADIUS-агента:

 

Wed Aug  8 17:22:20 2012, Info: ANI '10.0.x.x' (User 'XXXX') is clean
Wed Aug  8 17:22:20 2012, Info: Client IP/Netmask: 192.168.x.x/255.255.255.255
Wed Aug  8 17:22:20 2012, Info: Blocked user XXXX accepted within guest network
Wed Aug  8 17:22:20 2012, Info: Access-Accept
Wed Aug  8 17:22:20 2012, Info: ANI '10.0.x.x' (User 'XXXX') is clean
Wed Aug  8 17:22:20 2012, Error: USER_PASSWORD or CHAP_PASSWORD or MSCHAP/MSCHAPv2 attributes absent. Confused.
Wed Aug  8 17:22:20 2012, Info: Access-Reject

 

Edited by DrakoN

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