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

Т.е. он его не удалил и теперь пытается создать?

Мысль верная.

Как быть?

В секции ipoe параметр unit-cache=1 или 0 попробуйте указать.

 

Позавчера была эта же ошибка, я нагуглил что как вариант нужно сделать unit-cache=0, до этого было unit-cache=10000, я закоментировал строку. И сделал релоад accel. Но сегодня вот насыпало ошибок. Возможно что конфиг не перечитался?

Сейчас просто само по себе перестало сыпать эту ошибку.

Еще слышал что лучше делать restart accel с перезагрузкой сервера, это правда?

uname -a

Linux gw-ibm 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux

Share this post


Link to post
Share on other sites

А этот параметр разве по reload подхватывается?

Share this post


Link to post
Share on other sites

Еще слышал что лучше делать restart accel с перезагрузкой сервера, это правда?

Не всегда. reload работает вполне корректно, вот только функционал задокументировать нужно =)

Еще есть моменты где с помощью reload невозможно изменить некоторые параметры, и тогда уж спасет только рестарт.

ps:// Если с unit-cache=0 будет продолжать сыпать ошибку, поставьте 1, а вообще нужно как-то выловить этого жука на стенде, у меня пока не получалось воспроизвести.

Share this post


Link to post
Share on other sites

У кого старт сессии по start=dhcpv4, как вы решаете проблему с тем если сессия по каким то причинам сбросилась на accel у юзера на заработает пока не отошлёт dhcp discover? ну или физическое отключение линка.

lease-time в 5 минут.

 

Спасибо. Вроде не критично, пусть подождут. А еще столкнулся с проблемой реализации доступа при блокировках, слишком много вариантов как можно сделать.

 

Пробую через Framed-Pool, радиус при блокировке отправляет acces-accept но с атрибутом Framed-Pool который привязан к коду ответа acces-reject, авторизация при этом приходит, НО прилетает два атрибута и выдаётся адрес из Framed-IP-Address т.к. тут писали - у него выше приоритет.

 

[2017-03-30 21:04:49]:  info: eth.1001.1001: recv [RADIUS(1) Access-Accept id=1 <Session-Timeout 0> <Service-Type Framed-User> <Framed-Protocol PPP> <Framed-IP-Address 10.10.144.126> <Framed-IP-Netmask 255.255.255.255> <Class> <Acct-Interim-Interval 60> <Framed-Pool "blocked">]

 

Вот с вики:

 

Таки образом для клиентов которым нужно организовать перенаправление радиус должен прислать атрибут Framed-Pool=l4-redirect, либо Framed-IP-Address с адресом из этой сети.

Так-же, в случае DHCP, имеет смысл установить небольшое время жизни сессии с помощью атрибута Session-Timeout=300 чтобы обеспечить переавторизацию.

Если DHCP не используется, то адрес можно изменить с помощью CoA.

 

Как можно сделать по другому покрасивей или правильней ?

Edited by hsvt

Share this post


Link to post
Share on other sites

А не вариант отдавать IP адрес из гостевой подсети со стороны биллинга, без Framed-Pool? И например когда баланс стал положительный слать Radius PoD.

Share this post


Link to post
Share on other sites

А не вариант отдавать IP адрес из гостевой подсети со стороны биллинга, без Framed-Pool? И например когда баланс стал положительный слать Radius PoD.

 

Буду пробовать, просто не хочу юзать функционал биллинга (LB) можно поймать какие нибудь глюки с IP адресами и прочим.

 

Или использовать L4-Redirect+ipset\table, это и будут все возможные варианты?

Edited by hsvt

Share this post


Link to post
Share on other sites

Еще слышал что лучше делать restart accel с перезагрузкой сервера, это правда?

Не всегда. reload работает вполне корректно, вот только функционал задокументировать нужно =)

Еще есть моменты где с помощью reload невозможно изменить некоторые параметры, и тогда уж спасет только рестарт.

ps:// Если с unit-cache=0 будет продолжать сыпать ошибку, поставьте 1, а вообще нужно как-то выловить этого жука на стенде, у меня пока не получалось воспроизвести.

 

[2017-04-01 22:12:35]: error: ipoe31: ipoe: nl_create: error talking to kernel

[2017-04-01 22:12:39]: error: ipoe31: ipoe: nl_create: error talking to kernel

[2017-04-01 22:12:43]: error: ipoe31: ipoe: nl_create: error talking to kernel

[2017-04-01 22:12:47]: error: ipoe31: ipoe: nl_create: error talking to kernel

 

c unit-cache=0, ошибка продолжает сыпать но ifconfig ipoe31 говорит что интерфейса нет. Я заметил что ошибка возникает в то время когда онлайн по количеству стоит на месте, т.е не растет и не падает по количеству. Один уходит - другой приходит.

Очень бы хотелось побороть проблему+)

Попробую еще с unit-cache=1.

Edited by ivanmfan

Share this post


Link to post
Share on other sites

Кто как делает изменение IP на "лету"? Пробовал играться с lease-time\renew-time\max-lease-time, но сейчас получается такая ситуация — IP в биллинге изменили, например, с серого на белый, клиент продолжает отсылать Request и получает старый IP пока не сбросишь сессию ему. Только тогда проходит полный цикл DHCP пакетов. (Discover-offer etc). PoD слать радиусом нет возможности на такое событие, прикручивать костыли не хотелось бы. У кого как реализовано в такой схеме?

Edited by hsvt

Share this post


Link to post
Share on other sites

клиент продолжает отсылать Request и получает старый IP пока не сбросишь сессию ему

Искать возможность, или запилить самому посыл nak на реквест невалидного адреса.

Share this post


Link to post
Share on other sites

На сервере кроме accel-ppp только snmpd, nat и ipt_netflow

Клиетны - PPPoE до 2500

 

Что значат эти ошибки?

 

$ tail -F /var/log/accel-ppp/*.log
==> /var/log/accel-ppp/accel-ppp.log <==
[2017-04-03 10:23:47]: error: cli: write: Connection reset by peer
[2017-04-03 10:35:21]: error: cli: write: Connection reset by peer
[2017-04-03 10:39:43]: error: cli: write: Connection reset by peer
[2017-04-03 10:57:37]: error: cli: write: Connection reset by peer
[2017-04-03 11:09:06]: error: cli: write: Connection reset by peer
[2017-04-03 11:10:39]: error: cli: write: Connection reset by peer
[2017-04-03 11:11:31]: error: cli: write: Connection reset by peer
[2017-04-03 11:37:45]: error: cli: write: Connection reset by peer
[2017-04-03 11:50:39]: error: cli: write: Connection reset by peer
[2017-04-03 12:00:07]: error: cli: write: Connection reset by peer

==> /var/log/accel-ppp/core.log <==
[2017-04-02 13:31:29.299]timer:timerfd_settime: Invalid argument
[2017-04-02 16:47:47.20]timer:timerfd_settime: Invalid argument
[2017-04-02 18:23:32.46]timer:timerfd_settime: Invalid argument
[2017-04-02 18:56:31.677]timer:timerfd_settime: Invalid argument
[2017-04-02 20:37:04.260]timer:timerfd_settime: Invalid argument
[2017-04-02 20:58:32.829]timer:timerfd_settime: Invalid argument
[2017-04-03 06:06:02.941]timer:timerfd_settime: Invalid argument
[2017-04-03 06:23:13.905]timer:timerfd_settime: Invalid argument
[2017-04-03 06:42:26.242]timer:timerfd_settime: Invalid argument
[2017-04-03 06:52:50.634]timer:timerfd_settime: Invalid argument

==> /var/log/accel-ppp/emerg.log <==
radius: out of memory
radius: out of memory
radius: out of memory
radius: out of memory
radius: out of memory
radius: out of memory
radius: out of memory
radius: out of memory
radius: out of memory
radius: out of memory

 

Память - 24 гига:

$ free -h
             total        used        free      shared  buff/cache   available
Mem:            23G        1,5G        618M         13M         21G         21G
Swap:           23G          0B         23G

Share this post


Link to post
Share on other sites

Попробуйте убрать snmpd. Очень ему плохо при большом количестве интерфейсов.

Share this post


Link to post
Share on other sites

+ увеличить shared memory...

 

а snmpd - да, у меня уходил в ступор при 1к ифейсов, + порядка 30% процессорного времени отжирал...

Share this post


Link to post
Share on other sites
+ увеличить shared memory...

подскажите, пожалуйста, как это сделать?

в гугле предлагают увеличить kernel.shmall и kernel.shmmax

а у меня они вот такие:

 

$ sysctl kernel.shmall
kernel.shmall = 18446744073692774399

$ sysctl kernel.shmmax
kernel.shmmax = 18446744073692774399

$ ipcs -lm

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 18014398509465599
max total shared memory (kbytes) = 18014398442373116
min seg size (bytes) = 1

$ uname -a
Linux accel-nat 4.10.0-13-generic #15-Ubuntu SMP Thu Mar 9 20:28:34 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

 

а snmpd - да, у меня уходил в ступор при 1к ифейсов, + порядка 30% процессорного времени отжирал...

частично удалось снизить нагрузку через LD_PRELOAD=noprocnetdevppp.so, но на графиках всё равно есть пропуски(((

есть ли альтернативный способ получения данных по SNMP без snmpd?

Share this post


Link to post
Share on other sites
+ увеличить shared memory...

подскажите, пожалуйста, как это сделать?

в гугле предлагают увеличить kernel.shmall и kernel.shmmax

а у меня они вот такие:

 

$ sysctl kernel.shmall
kernel.shmall = 18446744073692774399

$ sysctl kernel.shmmax
kernel.shmmax = 18446744073692774399

$ ipcs -lm

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 18014398509465599
max total shared memory (kbytes) = 18014398442373116
min seg size (bytes) = 1

$ uname -a
Linux accel-nat 4.10.0-13-generic #15-Ubuntu SMP Thu Mar 9 20:28:34 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

 

а snmpd - да, у меня уходил в ступор при 1к ифейсов, + порядка 30% процессорного времени отжирал...

частично удалось снизить нагрузку через LD_PRELOAD=noprocnetdevppp.so, но на графиках всё равно есть пропуски(((

есть ли альтернативный способ получения данных по SNMP без snmpd?

 

Я забираю через zabbix-agent , настриваю LLD + скрипт для получения bps и pps

 

Пример для PPS

 

#!/bin/bash


if [ -z "$1" ]; then
       echo
       echo usage: $0 network-interface
       echo
       echo e.g. $0 eth0
       echo
       echo shows packets-per-second
       exit
fi

IF=$1

while true
do
       R1=`cat /sys/class/net/$1/statistics/rx_packets`
       T1=`cat /sys/class/net/$1/statistics/tx_packets`
       Re1=`cat /sys/class/net/$1/statistics/rx_errors`
       Te1=`cat /sys/class/net/$1/statistics/tx_errors`
   sleep 1
       R2=`cat /sys/class/net/$1/statistics/rx_packets`
       T2=`cat /sys/class/net/$1/statistics/tx_packets`
   Re2=`cat /sys/class/net/$1/statistics/rx_errors`
       Te2=`cat /sys/class/net/$1/statistics/tx_errors`

   TXPPS=`expr $T2 - $T1`
       RXPPS=`expr $R2 - $R1`
   RX_error=`expr $Re1 - $Re2`
   TX_error=`expr $Te1 - $Te2`
     if [ "$2" = "txpps" ]
then
echo "$TXPPS"
   elif [ "$2" = "rxpps" ]
then
echo "$RXPPS"
   elif [ "$2" = "rxcrc" ]
then
echo "$RX_error"
   elif [ "$2" = "txcrc" ]
then
echo "$TX_error"



fi


#        $TXPPS rx=$RXPPS "|" "tx=$TXPPS rx=$RXPPS tx_error=$TX_error rx_error=$RX_error "
#        echo OK: PPS eth tx=$TXPPS rx=$RXPPS "|" "tx=$TXPPS rx=$RXPPS tx_error=$TX_error rx_error=$RX_error "

exit 0
done

Share this post


Link to post
Share on other sites

есть ли альтернативный способ получения данных по SNMP без snmpd?

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

 

Я забираю через zabbix-agent , настриваю LLD + скрипт для получения bps и pps

а скрипты зачем? агент и так нормально bps/pps показывает.

Share this post


Link to post
Share on other sites

Приветствую, коллеги.

 

Подскажите может ли аксель делать авторегистрацию абонов?

 

Т.е абон при любом раскладе авторизуется, даже при не верном пароле.

Share this post


Link to post
Share on other sites

Приветствую, коллеги.

 

Подскажите может ли аксель делать авторегистрацию абонов?

 

Т.е абон при любом раскладе авторизуется, даже при не верном пароле.

Да

 

[auth]
any-login=1

Share this post


Link to post
Share on other sites

Приветствую, коллеги.

 

Подскажите может ли аксель делать авторегистрацию абонов?

 

Т.е абон при любом раскладе авторизуется, даже при не верном пароле.

Да

 

[auth]
any-login=1

 

Спасибо! )

Share this post


Link to post
Share on other sites

Как защититься от кражи IP\MAC при условии авторизации по IP\MAC, при этом используется QinQ vlan-per-user и start=up для старта сессии по первому IP пакету и некоторым юр.лицам принципиально нужная белая статика с ручным прописыванием IP на своём оборудовании.

 

Авторизация по паре svlan\cvlan которые приходят от accel на LANBilling в данный момент не поддерживается, т.к. их радиус это видит как

Attribute "NAS-Port-Id", value: "1651469924"

 

Понимает только в таком виде для SE:

 

Если агент «RADIUS» обнаруживает

в запросе авторизации атрибут «NAS-Port-Id», в специальном формате вида «2/1

vlan-id 1005:1414 clips 185879»

Edited by hsvt

Share this post


Link to post
Share on other sites

Подскажите кто нибудь. Сколько надо выставить MTU на bond. На стенде пользователь подключается. Пинги идут например до 8.8.8.8 или ya.ru а сайты не открывает. Находил в теме bond0 1508 bond0.51 1504 но что то не сраслось. Схема Тазик с акцелем DLink DGS-3100 DLink DGS-3627 (на нем настроен qinq)

Share this post


Link to post
Share on other sites

Подскажите кто нибудь. Сколько надо выставить MTU на bond. На стенде пользователь подключается. Пинги идут например до 8.8.8.8 или ya.ru а сайты не открывает. Находил в теме bond0 1508 bond0.51 1504 но что то не сраслось. Схема Тазик с акцелем DLink DGS-3100 DLink DGS-3627 (на нем настроен qinq)

на DGS-3100 включили jumbo frame? .MTU 1504 достаточно , нужно выставлять именно на родительском интерфейсе, (eth0,eth1) , если классический qinq (vlan в vlan)

Edited by roysbike

Share this post


Link to post
Share on other sites

на DGS-3100 включили jumbo frame? .MTU 1504 достаточно

 

Спасибо) Именно это помогло. Т.е. это надо включать только на том коммутаторе куда bond подключен? А если вместо DGS3100 будет Cisco?

Edited by arhead

Share this post


Link to post
Share on other sites

на DGS-3100 включили jumbo frame? .MTU 1504 достаточно

 

Спасибо) Именно это помогло. Т.е. это надо включать только на том коммутаторе куда bond подключен? А если вместо DGS3100 будет Cisco?

На всей линии до accel . . Просто по умолчанию не все свичи могут протащить больше 1500 . Поэтому нужно утонять у железа.

Share this post


Link to post
Share on other sites

на DGS-3100 включили jumbo frame? .MTU 1504 достаточно

Спасибо) Именно это помогло. Т.е. это надо включать только на том коммутаторе куда bond подключен? А если вместо DGS3100 будет Cisco?

Настраивать MTU(включение jumbo тупо увеличивает MTU) нужно на всех свичах между qinq-агрегацией и сервером с accel. Включая агрегацию и сам сервер.

Share this post


Link to post
Share on other sites

Не поднимается маршрут со своим номером протокола

cat /etc/iproute2/rt_protos
#
# Reserved protocols.
#
0       unspec
1       redirect
2       kernel
3       boot
4       static
8       gated
9       ra
10      mrt
11      zebra
12      bird
13      dnrouted
14      xorp
15      ntk
16      dhcp

#
#       Used by me for gated
#
254     gated/aggr
253     gated/bgp
252     gated/ospf
251     gated/ospfase
250     gated/rip
249     gated/static
248     gated/conn
247     gated/inet
246     gated/default

# accel ipoe
100   accel/ipoe

 

proto=100

 

В списке ip route идёт всё равно как proto kernel.

 

954b4dd6a27b6a11d809ad2fc4239a5558db10f8

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