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

Добрый день. Пытаюсь собрать accel-ppp. Что я делаю не так?

 

git clone git://accel-ppp.git.sourceforge.net/gitroot/accel-ppp/accel-ppp
cd accel-ppp
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/accel-ppp -DBUILD_IPOE_DRIVER=TRUE ..
make && make install

В результате ошибка:

 

[ 98%] Generating driver/ipoe.ko
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:169:46: error: macro "__kfree_rcu" requires 2 arguments, but only 1 given
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:170: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_process_queue’:
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:662: error: ‘__kfree_rcu’ undeclared (first use in this function)
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:662: error: (Each undeclared identifier is reported only once
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:662: error: for each function it appears in.)
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_nl_cmd_del_net’:
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:1550: error: ‘__kfree_rcu’ undeclared (first use in this function)
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_nl_cmd_del_interface’:
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:1599: error: ‘__kfree_rcu’ undeclared (first use in this function)
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c: In function ‘ipoe_nl_cmd_del_vlan_mon’:
/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.c:1738: error: ‘__kfree_rcu’ undeclared (first use in this function)
make[4]: *** [/tmp/accel-ppp/build/drivers/ipoe/driver/ipoe.o] Error 1
make[3]: *** [_module_/tmp/accel-ppp/build/drivers/ipoe/driver] Error 2
make[2]: *** [drivers/ipoe/driver/ipoe.ko] Error 2
make[1]: *** [drivers/ipoe/CMakeFiles/ipoe_drv.dir/all] Error 2
make: *** [all] Error 2

uname -a: CentOS release 6.5 (Final)

 

Linux IPoE 2.6.32-431.11.2.el6.i686 #1 SMP Tue Mar 25 17:17:46 UTC 2014 i686 i686 i386 GNU/Linux

ЗЫ: Стоит использовать архитектуру x86_64?

Share this post


Link to post
Share on other sites

git pull

и снова попробуй собрать

Share this post


Link to post
Share on other sites

git pull

и снова попробуй собрать

Всё собралось. Спасибо.

Share this post


Link to post
Share on other sites

Никто не наблюдал падение accel-ppp (vlan per user) при падении радиус сервера расположенного физически на другом сервере?

И такое падание, не пойму с чем связано.

[2014-04-12 01:13:10]:  info: bond0.2029.115: recv [RADIUS(1) Accounting-Response id=1]
[2014-04-12 01:13:10]:  info: bond0.2029.115: ipoe: session started
[2014-04-12 01:13:10]:  info: bond0.2029.115: pppd_compat: ip-up started (pid 47540)
[2014-04-12 01:13:10]:  info: bond0.2029.115: send [DHCPv4 Ack xid=f460430c yiaddr=178.*.*.222 chaddr=a0:f3:c1:3a:*:* <Message-Type Ack> <Server-ID 178.*.*.254> <Lease-Time 300> <Router 178.*.*.254> <Subnet 255.255.252.0> <DNS 10.0.0.120,91.*.*.254>]
[2014-04-12 01:13:10]:  info: bond0.2029.115: ipoe: session timed out
[2014-04-12 01:13:10]: debug: bond0.2029.115: terminate
[2014-04-12 01:13:10]:  info: bond0.2029.115: send [RADIUS(1) Accounting-Request id=1 <User-Name "bond0.2029.115"> <NAS-Identifier "IPoE"> <NAS-IP-Address 10.0.10.1> <NAS-Port 835> <NAS-Port-Type Ethernet> <Calling-Station-Id "a0:f3:c1:3a:*:*"> <Called-Station-Id "bond0.2029.115"> <Acct-Status-Type Stop> <Acct-Authentic RADIUS> <Acct-Session-Id "3e8181264dde2247"> <Acct-Session-Time 10> <Acct-Input-Octets 2880> <Acct-Output-Octets 1684> <Acct-Input-Packets 5> <Acct-Output-Packets 7> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 178.*.*.222> <Acct-Terminate-Cause Lost-Carrier>]
[2014-04-12 01:13:10]:  info: bond0.2029.115: recv [RADIUS(1) Accounting-Response id=1]
[2014-04-12 01:13:10]:  warn: bond0.2029.115: pppd_compat: ip-up is not yet finished, terminating it ...
[2014-04-12 01:13:10]:  info: bond0.2029.115: pppd_compat: ip-down started (pid 47544)
[2014-04-12 01:13:10]:  info: bond0.2029.115: pppd_compat: ip-up finished (0)
[2014-04-12 01:13:10]:  info: bond0.2029.115: pppd_compat: ip-down finished (0)
[2014-04-12 01:13:10]:  info: bond0.2029.115: ipoe: session finished

Edited by Dimka88

Share this post


Link to post
Share on other sites

А реализовать L3 режим со стартом по DHCP не планируете?

Я правильно понимаю что L3 режим со стартом по DHCP пока не реализован?

Share this post


Link to post
Share on other sites

Всем добрый день,

есть работающий accel-pppd 1.7.3

настроен как pppoe сервер, раздает клиентам серые айпи.

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

Теперь нужно каким то образом присвоить конктретный айпишник конкретному клиенту, остальные так и продолжат работать на серых.

Как то можно реализовать это на сабже?

Share this post


Link to post
Share on other sites

Всем добрый день,

есть работающий accel-pppd 1.7.3

настроен как pppoe сервер, раздает клиентам серые айпи.

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

Теперь нужно каким то образом присвоить конктретный айпишник конкретному клиенту, остальные так и продолжат работать на серых.

Как то можно реализовать это на сабже?

 

Радиусом выдавайте белые адреса кому нужно. Это не головная боль аццеля, это в биллинге реализовывается.

Share this post


Link to post
Share on other sites

да

 

Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ?

 

Скорее всего наверное можно и даже без изменений. Ну там всякие opt82 и всё такое. Т.е. хотелось бы установить вместо dhcpd, который сейчас используется как ip helper (цыска в него запросы перенаправляет).

 

Есть какие-то рекомендации, как это лучше сделать ? Желательно без ядерных модулей.

Share this post


Link to post
Share on other sites

Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ?

Там решите это прямо FreeRADIUS-ом как DHCP. Работы-то - на Perl-е либо Python-е на полтора-два часа.

Share this post


Link to post
Share on other sites

нет более менее простого решения для dhcp-сервера, который бы брал данные из sql

Есть. В этом разделе поищите, на перле писан. Я под абиллс допиливал, там же выкладывал.

Share this post


Link to post
Share on other sites

Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ?

Там решите это прямо FreeRADIUS-ом как DHCP. Работы-то - на Perl-е либо Python-е на полтора-два часа.

 

В accel-ppp как бы весь этот функционал уже написан, протестирован и должен работать, а на перле за 2 часа я такого могу понаписать, что потом никто не поймёт, включая меня :-). Т.е. в accel-ppp уже есть практически готовое решение работы с dhcp, вот я о чём хотел сказать.

Share this post


Link to post
Share on other sites
Я правильно понимаю что L3 режим со стартом по DHCP пока не реализован?
тут выше уже обсуждалось, но я так и не понял до конца как оно должно работать

клиенты находятся за каким-то маршрутизатором, который релеит дхцп запросы ?

в режиме L2 accel при старте сессии добавляет до клиента маршрут на интерфейс с которого пришел дхцп запрос

в случае L3 получается маршрут нужно добавлять через этот релейный маршрутизатор ? тогда нужно знать его ип, тогда нужны новые опции в конфиге ... или может быть его ип соотвествует giaddr

 

Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ?

 

Скорее всего наверное можно и даже без изменений. Ну там всякие opt82 и всё такое. Т.е. хотелось бы установить вместо dhcpd, который сейчас используется как ip helper (цыска в него запросы перенаправляет).

 

Есть какие-то рекомендации, как это лучше сделать ? Желательно без ядерных модулей.

без допила в текущей реализации думаю нет, т.к. реализован только базовый функционал дхцп сервера

он не может выдавать доп. атрибуты из радиуса

Share this post


Link to post
Share on other sites
Я правильно понимаю что L3 режим со стартом по DHCP пока не реализован?
тут выше уже обсуждалось, но я так и не понял до конца как оно должно работать

клиенты находятся за каким-то маршрутизатором, который релеит дхцп запросы ?

в режиме L2 accel при старте сессии добавляет до клиента маршрут на интерфейс с которого пришел дхцп запрос

в случае L3 получается маршрут нужно добавлять через этот релейный маршрутизатор ? тогда нужно знать его ип, тогда нужны новые опции в конфиге ... или может быть его ип соотвествует giaddr

 

Тут проблема была и всё ещё остаётся: нет более менее простого решения для dhcp-сервера, который бы брал данные из sql, везде есть свои заморочки. Можно ли accel-ppp использовать в качестве dhcp-сервера, который бы формировал запрос к радиусу, а радиус в свою очередь смотрел бы в sql ?

 

Скорее всего наверное можно и даже без изменений. Ну там всякие opt82 и всё такое. Т.е. хотелось бы установить вместо dhcpd, который сейчас используется как ip helper (цыска в него запросы перенаправляет).

 

Есть какие-то рекомендации, как это лучше сделать ? Желательно без ядерных модулей.

без допила в текущей реализации думаю нет, т.к. реализован только базовый функционал дхцп сервера

он не может выдавать доп. атрибуты из радиуса

 

Я очень поверхностно ознакомился с возможностями accel-ppp, но я думал, что ipoe реализовано примерно как написано тут: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/15-s/dhcp-15-s-book/dhcp-serv-rad-proxy.html#GUID-52C214DF-54D1-4BDB-95C5-7282CAA90400

 

(сеть доступа)==[L3 sqitch]==[accel-ppp]--[freeradius+sql/billing]

 

В данной схеме, по-моему, не принципиально, будет ли accel-ppp шейпить или нет, главное, чтобы он выдавал адреса по dhcp. Вроде же какая-то поддержка быть dhcp-сервером у него есть или это только на L2 реализовано ? Какие дополнительные атрибуты нужны ? opt82 вроде бы реализовано или как ?

Share this post


Link to post
Share on other sites

L3 без драйвера ядра точно шейпить не будет

Share this post


Link to post
Share on other sites

Дык помоему L3 будет работать точно так же как и shared режим, с драйвером. Разве что старт сессии только по any packet вместо dhcp.

Share this post


Link to post
Share on other sites

xeb

 

подскажите где в исходниках выпилить per-mac padi-limit 1/s (нужно для тестов)

Share this post


Link to post
Share on other sites

pppoe.c - закоментировать строчки 798-808

Share this post


Link to post
Share on other sites

Здравсвтуйте!

 

Есть работающий accel-pppd версий 1.7.3 установленный на alt linux 7 centaurus 3.10.30-std-def-alt1 #1 SMP Fri Feb 14 10:33:49 UTC 2014 x86_64 GNU/Linux

Клиенты подключаются как по pptp так и по l2tp примерно 1500 пользователей

 

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

 

post-120217-097391900 1398428804_thumb.png

Share this post


Link to post
Share on other sites

попробовать git -b 1.7 или мастер, скорее всего уже исправлено

Share this post


Link to post
Share on other sites

попробовать git -b 1.7 или мастер, скорее всего уже исправлено

 

сегодня решил немного затюнить конфиг да попробовать ваш совет и заметил что память уходит на cache ложная тревога )) за совет спасибо!

Share this post


Link to post
Share on other sites

попробовать git -b 1.7 или мастер, скорее всего уже исправлено

 

сегодня решил немного затюнить конфиг да попробовать ваш совет и заметил что память уходит на cache ложная тревога )) за совет спасибо!

 

Наверное что-то типа этого надо сделать:

 

sync; echo 3 > /proc/sys/vm/drop_caches ; sleep 1 ; sync; echo 0 > /proc/sys/vm/drop_caches

 

Хотя вроде бы в современных ядрах последнюю команду делать не надо, там автоматически 0 появляется. В любом случае, пробуйте, читайте документацию про drop_caches

Share this post


Link to post
Share on other sites

кэш сбрасывать особого смысла нет, когда системе понадобится физическая память, она сама возьмёт сколько надо из кэша

Share this post


Link to post
Share on other sites

вечером дело было :) не обратил внимания что память на кэш ушла.

но кстати.. связанно это или нет не знаю но после того как в [modules] и дальше по конфигу закомментировал то что не используется кэш с 5gb упал до 271mb

#shaper

#tbf

#chap-secrets

#net-snmp

#connlomit

 

#ipv6_nd

#ipv6_dhcp

#ipv6pool

 

Спасибо всем, кто откликнулся.

Share this post


Link to post
Share on other sites

Скажите, не планируется ли возможность задавать опцию username отдельно для интерфейсов?

Например:

interface=eth1.20,shared=1,username=lua:username

interface=re:eth1/.[1-9][0-9][0-9], shared=0, username=ifname

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