Перейти к содержимому
Калькуляторы

Короче, беда была в firewalld, который рубил пакеты DHCP в сторону accel.

Всё вырубил, пакеты полетели, разбираюсь )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть Cent OS 7.1. Пытаюсь установить Accel-IPOE.

После этих команд:

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DKDIR=/usr/src/kernels/3.10.0-229.4.2.el7.x86_64 -DRADIUS=TRUE -DSHAPER=TRUE -DLOG_PGSQL=FALSE -DLUA=TRUE -DBUILD_IPOE_DRIVER=TRUE ../accel-ppp.git
# make

Вылезает следующее:

 

[100%] Generating driver/ipoe.ko
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c: В функции «ipoe_process_queue»:
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:664:53: ошибка: «struct genl_multicast_group» не содержит элемента с именем «id»
     header = genlmsg_put(report_skb, 0, ipoe_nl_mcg.id, &ipoe_nl_family, 0, IPOE_REP_PKT);
                                                    ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:691:50: ошибка: «struct genl_multicast_group» не содержит элемента с именем «id»
     genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
                                                 ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:691:6: предупреждение: в передаче аргумента 1 «genlmsg_multicast»: несовместимый тип указателя [по умолчанию включена]
     genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
     ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: expected «struct genl_family *» but argument is of type «struct sk_buff *»
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:691:6: ошибка: слишком мало аргументов в вызове функции «genlmsg_multicast»
     genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
     ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: declared here
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:731:47: ошибка: «struct genl_multicast_group» не содержит элемента с именем «id»
  genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
                                              ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:731:3: предупреждение: в передаче аргумента 1 «genlmsg_multicast»: несовместимый тип указателя [по умолчанию включена]
  genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
  ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: expected «struct genl_family *» but argument is of type «struct sk_buff *»
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:731:3: ошибка: слишком мало аргументов в вызове функции «genlmsg_multicast»
  genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
  ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: declared here
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c: В функции «vlan_do_notify»:
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1010:51: ошибка: «struct genl_multicast_group» не содержит элемента с именем «id»
   header = genlmsg_put(report_skb, 0, ipoe_nl_mcg.id, &ipoe_nl_family, 0, IPOE_VLAN_NOTIFY);
                                                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1039:48: ошибка: «struct genl_multicast_group» не содержит элемента с именем «id»
   genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
                                               ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1039:4: предупреждение: в передаче аргумента 1 «genlmsg_multicast»: несовместимый тип указателя [по умолчанию включена]
   genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
   ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: expected «struct genl_family *» but argument is of type «struct sk_buff *»
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1039:4: ошибка: слишком мало аргументов в вызове функции «genlmsg_multicast»
   genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
   ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: declared here
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1058:47: ошибка: «struct genl_multicast_group» не содержит элемента с именем «id»
  genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
                                              ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1058:3: предупреждение: в передаче аргумента 1 «genlmsg_multicast»: несовместимый тип указателя [по умолчанию включена]
  genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
  ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: expected «struct genl_family *» but argument is of type «struct sk_buff *»
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1058:3: ошибка: слишком мало аргументов в вызове функции «genlmsg_multicast»
  genlmsg_multicast(report_skb, 0, ipoe_nl_mcg.id, GFP_KERNEL);
  ^
In file included from /usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:23:0:
include/net/genetlink.h:295:19: замечание: declared here
static inline int genlmsg_multicast(struct genl_family *family,
                  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c: На верхнем уровне:
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2094:3: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .hook = ipt_out_hook,
  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2094:3: предупреждение: (где-то рядом с инициализацией для «ipt_ops[0].hook») [по умолчанию включена]
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2101:3: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .hook = ipt_out_hook,
  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2101:3: предупреждение: (где-то рядом с инициализацией для «ipt_ops[1].hook») [по умолчанию включена]
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2108:3: предупреждение: несовместимый тип указателя в инициализации [по умолчанию включена]
  .hook = ipt_in_hook,
  ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2108:3: предупреждение: (где-то рядом с инициализацией для «ipt_ops[2].hook») [по умолчанию включена]
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c: В функции «ipoe_init»:
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2176:91: ошибка: в макрос «genl_register_family_with_ops» передано 3 аргументов, но используется только 2
 err = genl_register_family_with_ops(&ipoe_nl_family, ipoe_nl_ops, ARRAY_SIZE(ipoe_nl_ops));
                                                                                          ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2176:8: ошибка: «genl_register_family_with_ops» undeclared (first use in this function)
 err = genl_register_family_with_ops(&ipoe_nl_family, ipoe_nl_ops, ARRAY_SIZE(ipoe_nl_ops));
       ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2176:8: замечание: each undeclared identifier is reported only once for each function it appears in
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2187:2: ошибка: неявная декларация функции «genl_register_mc_group» [-Werror=implicit-function-declaration]
 err = genl_register_mc_group(&ipoe_nl_family, &ipoe_nl_mcg);
 ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c: В функции «ipoe_fini»:
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:2224:2: ошибка: неявная декларация функции «genl_unregister_mc_group» [-Werror=implicit-function-declaration]
 genl_unregister_mc_group(&ipoe_nl_family, &ipoe_nl_mcg);
 ^
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c: На верхнем уровне:
/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.c:1988:24: предупреждение: «ipoe_nl_ops» определена, но нигде не используется [-Wunused-variable]
static struct genl_ops ipoe_nl_ops[] = {
                       ^
cc1: some warnings being treated as errors
make[4]: *** [/usr/src/accel-ppp-build/drivers/ipoe/driver/ipoe.o] Ошибка 1
make[3]: *** [_module_/usr/src/accel-ppp-build/drivers/ipoe/driver] Ошибка 2
make[2]: *** [drivers/ipoe/driver/ipoe.ko] Ошибка 2
make[1]: *** [drivers/ipoe/CMakeFiles/ipoe_drv.dir/all] Ошибка 2
make: *** [all] Ошибка 2

Может кто знает в чем проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Варианты:

1) не собирайте ipoe драйвер

2) обновите ядро

3) попробуйте патчти для убунты с офф форума http://accel-ppp.org

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 xeb - А можно ли добавить опцию , при включении которой после RENEW запроса радиус тоже будет дергаться ?

То есть - пришел RENEW запрос от абона => шлем запрос на радиус => радиус проверяет чтото в мускуле (или где угодно) => отвечаем "ИП адрес абона" - в таком случае продолжаем дальше работать. А если отвечаем любым другим левым "ИП"- абону шлется NAK, потому как ДХЦП клиент абона ждет свой ИП с которого отправлен RENEW запрос и если он получает не свой ИП - он сразу посылает REQUEST запрос

Смысл в чем - если нужно абону сменить ИП или сделать реинит сессии - все делается быстро и прозрачно, RENEW происходит на 25, 50 и 75% времени лизы вроде

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как из вида версии:

accel-cmd 904bc0f9eefffff153282277ea21729f46c1489d

узнать какая она 1.8 или 1.9

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

забрать из гита именно эту версию и посмотреть историю коммитов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите что за валидация ?

 

[2015-06-29 14:06:43]:  warn: radius:dm_coa: RA validation failed

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как из вида версии:

accel-cmd 904bc0f9eefffff153282277ea21729f46c1489d

узнать какая она 1.8 или 1.9

В sourceforge довольно удобно сделано sourceforge.net, подставляйте в uri версию и смотрите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К слову, в последнем срезе при указанном в конфиге service name абоны с пустым service name игнорятся - неплохо было бы это сделать опциональным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Установил accel-ppp version 87ddec14232bec6d533a0bd337468a7e56de0b80 на 3.19.0-15-generic #15-Ubuntu.

Компилил так :cmake -DKDIR=/usr/src/linux-headers-`uname -r`/ -DBUILD_IPOE_DRIVER=TRUE /home/usename/git/accel-ppp-code/

Установилось без ошибок. Но в логах сыпет ошибку "error: : ccp: failed to get flags: Bad file descriptor" при включенном модуле pppoe. В интернете не нашел что-бы кто-то еще сталкивался с такой проблемой. Может кто-то в курсе или сталкивался с таким? Заранее всем спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо всем откликнувшимся :)

Проблему решил переустановкой accel на версию 1.90 которая доступна на http://sourceforge.net/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У SF лег сторедж, GIT не работает.

Поделитесь пожалуйста зеркалом :)

Изменено пользователем mr.Scamp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

знаю, что хочется странного, но подключения к радиусу через v6 адрес не работает, и приложения падает

 

пробовал два варианта

 

server=2a01:d0:8a12:1::ffe:107,testing123,auth-port=1812,acct-port=1813,req-limit=50,fail-timeout=0,max-fail=10,weight=1

server=[2a01:d0:8a12:1::ffe:107],testing123,auth-port=1812,acct-port=1813,req-limit=50,fail-timeout=0,max-fail=10,weight=1

 

и ни один не сработал...

 

в логе пишет "Permission denied", хотя на пути нет никаких ограничений...

 

сам лог:

[2015-07-23 16:27:14]: error: eth0.131.214: radius:connect: Permission denied

[2015-07-23 16:27:14]: warn: eth0.131.214: radius: no available servers

[2015-07-23 16:27:15]: msg: accel-ppp version 87ddec14232bec6d533a0bd337468a7e56de0b80

[2015-07-23 16:27:15]: error: eth0.131.214: radius:connect: Permission denied

[2015-07-23 16:27:15]: warn: eth0.131.214: radius: no available servers

[2015-07-23 16:27:16]: msg: accel-ppp version 87ddec14232bec6d533a0bd337468a7e56de0b80

[2015-07-23 16:27:17]: error: eth0.131.214: radius:connect: Permission denied

[2015-07-23 16:27:18]: msg: accel-ppp version 87ddec14232bec6d533a0bd337468a7e56de0b80

[2015-07-23 16:27:19]: error: eth0.131.214: radius:connect: Permission denied

[2015-07-23 16:27:19]: msg: accel-ppp version 87ddec14232bec6d533a0bd337468a7e56de0b80

[2015-07-23 16:27:25]: error: eth0.131.191: radius:connect: Permission denied

[2015-07-23 16:27:25]: warn: eth0.131.191: radius: no available servers

[2015-07-23 16:27:25]: msg: accel-ppp version 87ddec14232bec6d533a0bd337468a7e56de0b80

 

[Thu Jul 23 16:27:25 EEST 2015] Starting

[Thu Jul 23 16:27:25 EEST 2015] Started

accel-pppd: /usr/src/accel-ppp/accel-pppd/radius/req.c:233: rad_req_free: Assertion `!req->active' failed.

[Thu Jul 23 16:27:33 EEST 2015] Stopped

[Thu Jul 23 16:27:33 EEST 2015] Deleting qinq interfaces

Removed VLAN -:eth0.131.100:-

Removed VLAN -:eth0.131.214:-

Removed VLAN -:eth0.131.226:-

Removed VLAN -:eth0.131.236:-

Removed VLAN -:eth0.131.237:-

Removed VLAN -:eth0.131.240:-

Removed VLAN -:eth0.131.278:-

Removed VLAN -:eth0.131.383:-

[Thu Jul 23 16:27:33 EEST 2015] Done

[Thu Jul 23 16:27:33 EEST 2015] Starting

[Thu Jul 23 16:27:33 EEST 2015] Started

accel-pppd: /usr/src/accel-ppp/accel-pppd/radius/req.c:233: rad_req_free: Assertion `!req->active' failed.

[Thu Jul 23 16:27:36 EEST 2015] Stopped

[Thu Jul 23 16:27:36 EEST 2015] Deleting qinq interfaces

Removed VLAN -:eth0.131.214:-

Removed VLAN -:eth0.131.236:-

Removed VLAN -:eth0.131.237:-

Removed VLAN -:eth0.131.344:-

[Thu Jul 23 16:27:36 EEST 2015] Done

[Thu Jul 23 16:27:36 EEST 2015] Starting

[Thu Jul 23 16:27:36 EEST 2015] Started

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Acct-Termination-Cause = NAS-Error - в каких случаях он может появляться для PPPoE сессии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожайлуста, сколько интерфейсов я могу указать для модуля pppoe?

Дело в том, что на сервер стягивается порядка 240 вланов. В такой схема rp-pppoe нормально работает, а accel запускается тоже, но клиенты вылетают в случайные промежутки времени. Как мне показалось (на тестовом ноутбуке), вылетает именно тогда когда начинается трафик, но не факт. Сессия буквально секунду-другую держится. В логах вижу, что разрыв по инициативе клиента. Затем, оставляю только один интерфейс с вланом - вуаля, все нормально.

Что я сделал временно - стянул все вланы в бридж, запретив форвардинг между членами бриджа и на этом бридже запустил accel. Итог - 2500 онлайна, трафик 1.5 Gbit держится железно. Но! В биллинг надо передавать влан юзера, а в Called Station Id фигурирует ествественно только br0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Очень странно. Достаточно запуститься на двух интерфейсах и всё - гайки, соединение рвется без видимых причин. Даже в дебаге нет причины. Может быть дело в 64 битной системе (Centos 6.6)? Завтра попробую запуститься на 32 битной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может быть, дело в старом перепатчеванном ядре...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[kayot@ipoe1 ~]$ uptime
01:04:23 up 117 days, 19:45,  1 user,  load average: 1.05, 1.03, 1.03
[kayot@ipoe1 ~]$ accel-cmd show stat | grep uptime
uptime: 117.19:44:10
[kayot@ipoe1 ~]$

Мои комплименты xeb'у - 1.9.0 работает(по крайней мере для QinQ vlan-per-user IPOE режима) абсолютно стабильно и безглючно. 4 мес назад обновлял ядро, до этого аптапйм тоже измерялся сотнями дней и связан был сугубо с обслуживанием сервера.

Машина работает на убой, 6х1Gb сетевки(broadcom), bonding, развесистый HTB, в час пик загрузка 60%.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На разных концах туннеля заметил разное MTU - это почему так случилось?

 

Сервер:

2925: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc htb state UNKNOWN group default qlen 3
   link/ppp 
   inet 172.20.255.65 peer 91.202.135.159/32 scope global ppp1
      valid_lft forever preferred_lft forever

 

Клиент:

13: ppp0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast qlen 3
   link/ppp 
   inet 91.202.135.159 peer 172.20.255.65/32 scope global ppp0

 

Конфиг секции PPP:

[ppp]
verbose=1
min-mtu=1280
mtu=1400
mru=1400
#accomp=deny
#pcomp=deny
ccp=0
#check-ip=0
#mppe=require
ipv4=require
ipv6=deny
ipv6-intf-id=0:0:0:1
ipv6-peer-intf-id=0:0:0:2
ipv6-accept-peer-intf-id=1
lcp-echo-interval=5
lcp-echo-failure=3
lcp-echo-timeout=2
unit-cache=10

 

К слову, не рекомендую 3.14 ядро. Во время массовых дисконнектов иногда были непонятные редкие глюки с сетевой подсистемой (похоже race condition при удалении шейперов и интерфейсов из-за чего отсыхали любые операции по созданию-удалению-получению списка интерфейсов). На 4.1 вроде полет нормальный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может быть, дело в старом перепатчеванном ядре...

Отчасти ты оказался прав.

Запустился на 32 битном системе и увидел те же проблемы. Но, перейдя с последнего дитрибутивного ядра на самосборное с kernel.org (3.х.х), обнаружил, что все работает нормально. Где редхатовцы запороли бок - хз. Буду ковырять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

из проверенных LTS ядер - 3.2 (аптайм пару лет был) и 4.1 (пока аптайм 2-3 недели но непоняток вроде нет). На 4.1 шустрее работает (меньше загрузка проца при той же нагрузке)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На разных концах туннеля заметил разное MTU - это почему так случилось?

 

Особого криминала тут нет, mtu назначает локальная сторона как своей душе угодно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему на стороне сервера MTU 1492 если в конфиге указано MTU/MRU 1400? Ну и да, без --set-mss в iptables ничего в итоге не работает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.