Jump to content
Local
masters

Abills, не получается подружить с RIP

Recommended Posts

Стоит Abills (0.59) на Centos 6, и несколько НАСов на FreeBSD 11, mpd5.

Белые IP распределяются динамически по протоколу RIP (на фре - quagga).

 

Проблема в том, что когда у пользователя некорректно завершается PPPoE сессия (обрыв, роутер перегрузили), маршрут по RIP не подымается, соответственно интернета нет.

 

Есть подозрение - что это происходит из-за того, что биллинг разрешает клиенту вторую сессию параллельно. Когда пользователь поднимает 2ю сессию, первая рубится - и соответственно, с ней Quagga дропает и маршрут. Если потом завершить сессию корректно, то маршрут подымается и работает нормально.

 

Есть ли возможность запретить поднимать вторую сессию? Пусть например пользователь ждет пока не выйдет таймаут, и первая не дропнется.

Share this post


Link to post
Share on other sites

может лучше выделить по подсети на каждый НАС?

Share this post


Link to post
Share on other sites
1 час назад, masters сказал:

Есть ли возможность запретить поднимать вторую сессию?

В конфиге мпд5. И радист дело говорит.

Edited by sanyadnepr

Share this post


Link to post
Share on other sites
6 часов назад, sanyadnepr сказал:

В конфиге мпд5. И радист дело говорит.

У меня в биллинге и стоит одновременно - 1. Но вторая сессия подымается, при этом рубит первую.

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

А по мпд - подробней?

7 часов назад, Dimkers сказал:

может лучше выделить по подсети на каждый НАС?

Сильный перекос по белым IP. На одном НАСе может быть 3, а на другом - 50. Не выгодно получается столько IP держать.

И есть НАСы которые работают параллельно. Клиент может подключиться на один или на второй рандомно.

Edited by masters

Share this post


Link to post
Share on other sites

чтоб не плодить темы...

abills 0.75. + НАТ mikrotik CCR

онлайн <400 абон. Периодически биллинг перестает принимать сессии.

CCR пишет "user xxx authentecatuin failed - radius timeout"

клиентский МТ пишет: "failed to authenticate ourselves to peer "

 

помогает "service freeradius restart" не сервере - все мгновенно поднимается. 

Раньше такое бывало при перезагрузке МТ, сервера, обрыве линка,... Когда "очередь" большая, приходится несколько раз делать "service freeradius restart"

 

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

 

Где копать?

Edited by АНТИдемпинг

Share this post


Link to post
Share on other sites

Тюнить базу под фрирудиусом на предмет одновременных коннектов.

Share this post


Link to post
Share on other sites
7 часов назад, АНТИдемпинг сказал:

чтоб не плодить темы...

abills 0.75. + НАТ mikrotik CCR

онлайн <400 абон. Периодически биллинг перестает принимать сессии.

CCR пишет "user xxx authentecatuin failed - radius timeout"

клиентский МТ пишет: "failed to authenticate ourselves to peer "

 

помогает "service freeradius restart" не сервере - все мгновенно поднимается. 

Раньше такое бывало при перезагрузке МТ, сервера, обрыве линка,... Когда "очередь" большая, приходится несколько раз делать "service freeradius restart"

 

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

 

Где копать?

Смотреть при этом логи радиуса, мускуля

Share this post


Link to post
Share on other sites
8 часов назад, АНТИдемпинг сказал:

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

Тюнить MySQL. Нам пришлось вынести БД на ССД, правда сессий в десятки раз больше чем у Вас.

Увеличить таймаут запроса к БД.

Share this post


Link to post
Share on other sites
18 часов назад, masters сказал:

Стоит Abills (0.59) на Centos 6, и несколько НАСов на FreeBSD 11, mpd5.

Белые IP распределяются динамически по протоколу RIP (на фре - quagga).

 

Проблема в том, что когда у пользователя некорректно завершается PPPoE сессия (обрыв, роутер перегрузили), маршрут по RIP не подымается, соответственно интернета нет.

 

Есть подозрение - что это происходит из-за того, что биллинг разрешает клиенту вторую сессию параллельно. Когда пользователь поднимает 2ю сессию, первая рубится - и соответственно, с ней Quagga дропает и маршрут. Если потом завершить сессию корректно, то маршрут подымается и работает нормально.

 

Есть ли возможность запретить поднимать вторую сессию? Пусть например пользователь ждет пока не выйдет таймаут, и первая не дропнется.

 

 

попробуйте это в mpd

 

set iface idle 1800

8 часов назад, АНТИдемпинг сказал:

чтоб не плодить темы...

abills 0.75. + НАТ mikrotik CCR

онлайн <400 абон. Периодически биллинг перестает принимать сессии.

CCR пишет "user xxx authentecatuin failed - radius timeout"

клиентский МТ пишет: "failed to authenticate ourselves to peer "

 

помогает "service freeradius restart" не сервере - все мгновенно поднимается. 

Раньше такое бывало при перезагрузке МТ, сервера, обрыве линка,... Когда "очередь" большая, приходится несколько раз делать "service freeradius restart"

 

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

 

Где копать?

 

 

radius set timeout=5000

Share this post


Link to post
Share on other sites
2 часа назад, АНТИдемпинг сказал:

может freeradius set timeout?

 

radius set timeout=5000

 

это команда для mikrotik

Share this post


Link to post
Share on other sites
2 часа назад, ~AsmodeuS~ сказал:

radius set timeout=5000

 

это команда для mikrotik

В любом случае это ненужный костыль. Лечить нужно базу что б принимала больше соединений, а не клиента чтоб дольше ждал ответа..

  • Like 1

Share this post


Link to post
Share on other sites

mysql> set global max_connections = 500;

 

ставить количество по вкусу и количества озу в серваке :)

Share this post


Link to post
Share on other sites
16 минут назад, zulu_Radist сказал:

mysql> set global max_connections = 500;

 

ставить количество по вкусу и количества озу в серваке :)

Это правильно, но недостаточно. Изначальный затык в самом freeradius который не умеет создавать больше 5(!!) дефолтных соединений.

/etc/raddb/sql.conf

      # number of sql connections to make to server
      num_sql_socks = 30
 

  • Thanks 1

Share this post


Link to post
Share on other sites
10 часов назад, KaYot сказал:

Это правильно, но недостаточно. Изначальный затык в самом freeradius который не умеет создавать больше 5(!!) дефолтных соединений.

/etc/raddb/sql.conf

      # number of sql connections to make to server
      num_sql_socks = 30
 


давным давно уже 
 

        # number of sql connections to make to server
        #
        # Setting this to LESS than the number of threads means
        # that some threads may starve, and you will see errors
        # like "No connections available and at max connection limit"
        #
        # Setting this to MORE than the number of threads means
        # that there are more connections than necessary.
        #
        num_sql_socks = ${thread[pool].max_servers}


 

 

Share this post


Link to post
Share on other sites
12 часов назад, KaYot сказал:

Это правильно, но недостаточно. Изначальный затык в самом freeradius который не умеет создавать больше 5(!!) дефолтных соединений.

/etc/raddb/sql.conf

      # number of sql connections to make to server
      num_sql_socks = 30
 

 

не очень понятно зачем это, если модуль используется только для читки NAS  при старте радиус

 

13 часов назад, KaYot сказал:

В любом случае это ненужный костыль. Лечить нужно базу что б принимала больше соединений, а не клиента чтоб дольше ждал ответа..

 

но с этим параметром лучше очередь формируется, и замедляет постоянную долбежку на сервер

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

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By vector_zuriel
      Абиллс выпустили андроид приложение для клиентского кабинета. Достаточно удобное приложение. Тестирую уже вторую неделю его и хочу сказать, что когда нужен моментальный доступ к клиенськой информации клиенський кабинет всегда под рукой.
      На данный момент есть следующие функции:
      Просмотр личной информации, Просмотр информации по тарифным планам, Возможность распечатать договор клиента, Просмотр личных сообщений (Help Desk), Пуш уведомления. Приложение насколько мне известно планируют развивать и в будущем есть планы выпустить данный продукт под платформу iOS Вот несколько скриншотов этого приложения (Скриншты взяты из Play Market)
      Вот сылка на приложения - https://play.google.com/store/apps/details?id=com.abillsmobile.abillsclient (Советую. Буду тестировать новые функции и буду рассказывать о них)






    • By MorS
      Здравствуйте! 1-го числа каждого месяца, видимо, из-за процесса закрытия учетного периода "падает" радиус сервер:
       
      May  1 00:00:15 billing kernel: [466821.810836] freeradius[15947]: segfault at 2012 ip 00007f7a9586f5da sp 00007f7a427fac60 error 4
      May  1 00:00:15 billing kernel: [466821.810849] freeradius[15991]: segfault at 2012 ip 00007f7a9586f5da sp 00007f7a1a7f2c60 error 4 in rlm_perl-2.2.6.so[7f7a9586c000+6000]
      May  1 00:00:15 billing kernel: [466821.811111]  in rlm_perl-2.2.6.so[7f7a9586c000+6000]
      May  1 00:00:15 billing kernel: [466821.812848]  in rlm_perl-2.2.6.so[7f7a9586c000+6000] in rlm_perl-2.2.6.so[7f7a9586c000+6000]
       
      Информация о системе:
      -  OC Debian-7.11.0 Linux  2.6.32-3-amd64
      - Версия биллинга ABillS 0.56b/20140807
      - freeradius: FreeRADIUS Version 2.2.6
      - mysqld  Ver 5.1.47-1
      - сервера доступа Mikrotik (12 шт.)
      - абонентов on-line на 1.05.2019 00:00:00 - 5570
      Большинство тарифных планов с помесячной абонентской платой, с распределением абонплаты, макс. время сессии - 65535 сек.
       
      Перезапуск радиуса вручную толку дает мало,система "приходит в себя" через несколько часов. Помогут ли следующее варианты решения проблемы:
      1 вариант 
      - выставить в параметрах сервера доступа !Session-Timeout=0,  макс. время сессии - 0 сек, отключить  в crontab (1    0  *  *  *  root   /usr/abills/libexec/periodic daily
      1    1  *  *  *  root   /usr/abills/libexec/periodic monthly)
      - 1-го числа каждого месяца (или каждые сутки?) воспользоваться программой autozh.pl и по очереди по одному насу переинициализировать сессии для сбора статистики.
       
      2 вариант
      В дополнении к первому пересобрать радиус на более свежий из второй ветки - 2.2.10. Возможно. проблема в нем. Плюс доработать скрипт, что следит за состоянием радиус-сервера (типа if [ -z "$(ps x | grep free[rad])" ]; then date >> /root/die.log;rm -f /var/run/freeradius/freeradius.pid;/etc/init.d/freeradius stop;/etc/init.d/freeradius start; fi)
       
      3 вариант
      В тарифных планах отказаться от месячной абонплаты  и настроить дневную абонентскую плату. В crontab оставить только periodic daily. Возможно это сделает нагрузку на биллинг более равномерной.
       
      4 вариант 
      Апгрейд биллинга до последней версии  - возможно модуль rlm_perl будет работать стабильнее. Интересует целесообразность и цена обновления.
       
      Возможно, у есть другие варианты, с удовольствием с ними ознакомлюсь.
      P.S. Может у кого есть autozh.pl для 0.5x версии биллинга? Скиньте, пожалуйста!
    • By ~AsmodeuS~
      Релиз ABillS Infinity 0.80
       
      ABillS Infinity
       
      Долгожданная open source версия биллинга ABillS 0.80! 
      Новые возможности, дополнения, исправления и улучшения выполнены в частности в  модулях:
       
      Internet+
      Поддержка Huawei ME60 Поддержка ZTE M6000 Добавлена фильтрация по меткам в Internet мониторинге Переход на следующий тарифный план со статусом “Недостаточно средств” Параметр игнорирования MAC-авторизации Поиск сессий по CPE_MAC  
      Equipment
      Поиск дублирующихся серийных номеров ONU Просмотр количества свободных и занятых ONU Сбор прошивок с оборудования Интеграция с GPON Eltex и OLT V-Solution Графики скорости пользователя в реальном времени Быстрый отчет по оборудованию Paysys
      Новые платежные системы E-Pul, Payme, Concord  
      Iptv
      Новые модули Microimpuls, Omega TV  
      Msgs
      Добавлен чат, нотификация сообщений в чате, глобальные оповещения Добавлены новые отчеты по сообщениям  
      Crm
      Автоматизированный расчет выплаты зарплат Добавлены нормы рабочего времени Работа с лидами — визуальное отображение воронки продаж  
      Storage
      Добавлена возможность перемещения товара со склада на склад Добавлены печатные формы Приходной накладной, Расходной накладной Добавлен фильтр по партии на складе  
      Добавлен docker контейнер с базовой конфигурацией Abills, v.0.80
      Скачать: https://sourceforge.net/projects/abills/files/abills/0.8/
      Автоустановка: http://abills.net.ua:8090/pages/viewpage.action?pageId=1278106
       
    • By Sweduk
      Здравствуйте.
      Возможно кто то испытывал такие же проблемы как у меня на сервере. 
      Каждые пол часа у всех абонентов пропадает интернет, при этом в роутерах значение IP адреса вместо назначенного DHCP сервером становится 0.0.0.0
      Если статически задать IP адрес абоненту,интернет работает стабильно.
      На сколько я знаю (настраивал не я) у нас стоит такая связка - ISC DHCP для ABillS.
      По какой причине могут отваливаться IP адреса у абонентов а затем через 3-5 минут они снова их получают и интернет возобнавляется и так циклично?
      В настройках сервера срок аренды адреса указан был изначально 300 сек,поменял на 600,ничего не дало.
    • By inspire_871
      Здравствуйте. Столкнулись с проблемой создания списка  улиц по районам города. Имеется 4 района в городе, в каждом районе около 300 улиц. Может кто подскажет какой сервис или как вытянуть из гугл, яндекс карт улицы конкретного района. Уж больно не хочется каждую улицу прописывать ручками
×