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

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

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

Как быть?

В секции 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

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


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

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

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

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

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

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


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

У кого старт сессии по 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.

 

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

Изменено пользователем hsvt

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


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

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

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


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

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

 

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

 

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

Изменено пользователем hsvt

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


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

Еще слышал что лучше делать 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.

Изменено пользователем ivanmfan

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


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

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

Изменено пользователем hsvt

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


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

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

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

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


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

На сервере кроме 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

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


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

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

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


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

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

 

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

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


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

+ увеличить 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?

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


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

+ увеличить 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

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


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

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

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

 

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

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

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


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

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

 

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

 

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

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


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

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

 

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

 

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

Да

 

[auth]
any-login=1

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


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

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

 

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

 

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

Да

 

[auth]
any-login=1

 

Спасибо! )

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


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

Как защититься от кражи 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»

Изменено пользователем hsvt

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


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

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

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


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

Подскажите кто нибудь. Сколько надо выставить 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)

Изменено пользователем roysbike

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


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

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

 

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

Изменено пользователем arhead

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


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

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

 

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

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

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


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

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

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

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

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


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

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

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

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


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

Join the conversation

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

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

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

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

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

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

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