Перейти к содержимому
Калькуляторы
18 минут назад, NewUse сказал:

попробуйте теперь пересобрать радиус с новым perl

Ага. я и радиус вчера сразу пересобрал.

 

18 минут назад, NewUse сказал:

а в чём смысл?

 

да, ничего толкового не получилось. Пол часа назад попробовал.

 

20 минут назад, NewUse сказал:

а где Вы вычитали, что треды поддерживаются в rlm_perl

ну и проверяйте конфиг, если поддерживаются.

 

Да собственно на форуме разработчиков нашего биллинга и прочитал: http://abills.net.ua/forum/viewtopic.php?t=6982

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


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

29 минут назад, roma33rus сказал:

Да собственно на форуме разработчиков нашего биллинга и прочитал: http://abills.net.ua/forum/viewtopic.php?t=6982

тогда целесообразно, наверное там же спрашивать

 

при конфигурации freeradius точно подхватил нужный perl с нужными хедерами?

запустите freeradius в режиме дебага (-X), ничего дополнительно не даёт?

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


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

21 час назад, NewUse сказал:

тогда целесообразно, наверное там же спрашивать

Да я уже обратился к ним.

 

21 час назад, NewUse сказал:

при конфигурации freeradius точно подхватил нужный perl с нужными хедерами?

запустите freeradius в режиме дебага (-X), ничего дополнительно не даёт?

в дебаге ничего нового совсем.

 

Скрытый текст

FreeRADIUS Version 3.0.19
Copyright (C) 1999-2019 The FreeRADIUS server project and contributors
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License
For more information about these matters, see the file named COPYRIGHT
Starting - reading configuration files ...
including dictionary file /usr/local/share/freeradius/dictionary
including dictionary file /usr/local/share/freeradius/dictionary.dhcp
including dictionary file /usr/local/share/freeradius/dictionary.vqp
including dictionary file /usr/local/etc/raddb/dictionary
including configuration file /usr/local/etc/raddb/radiusd.conf
including files in directory /usr/local/etc/raddb/mods-enabled/
including configuration file /usr/local/etc/raddb/mods-enabled/always
including configuration file /usr/local/etc/raddb/mods-enabled/perl
including files in directory /usr/local/etc/raddb/policy.d/
including configuration file /usr/local/etc/raddb/policy.d/control
including configuration file /usr/local/etc/raddb/policy.d/dhcp
including configuration file /usr/local/etc/raddb/policy.d/eap
including configuration file /usr/local/etc/raddb/policy.d/cui
including configuration file /usr/local/etc/raddb/policy.d/debug
including configuration file /usr/local/etc/raddb/policy.d/accounting
including configuration file /usr/local/etc/raddb/policy.d/moonshot-targeted-ids
including configuration file /usr/local/etc/raddb/policy.d/abfab-tr
including configuration file /usr/local/etc/raddb/policy.d/rfc7542
including configuration file /usr/local/etc/raddb/policy.d/operator-name
including configuration file /usr/local/etc/raddb/policy.d/filter
including configuration file /usr/local/etc/raddb/policy.d/canonicalization
including files in directory /usr/local/etc/raddb/sites-enabled/
including configuration file /usr/local/etc/raddb/sites-enabled/dhcp
main {
 security {
        user = "radius"
        group = "radius"
        allow_core_dumps = yes
 }
        name = "radiusd"
        prefix = "/usr/local"
        localstatedir = "/usr/local/var"
        logdir = "/var/log/radius"
        run_dir = "/var/run/radiusd"
}
Cannot update core dump limit: Operation not permitted
Core dumps are enabled
main {
        name = "radiusd"
        prefix = "/usr/local"
        localstatedir = "/usr/local/var"
        sbindir = "/usr/local/sbin"
        logdir = "/var/log/radius"
        run_dir = "/var/run/radiusd"
        libdir = "/usr/local/lib"
        radacctdir = "/var/log/radius/radacct"
        hostname_lookups = no
        max_request_time = 30
        cleanup_delay = 5
        max_requests = 10240000
        pidfile = "/var/run/radiusd/radiusd.pid"
        checkrad = "/usr/local/sbin/checkrad"
        debug_level = 0
        proxy_requests = no
 log {
        stripped_names = no
        auth = no
        auth_badpass = no
        auth_goodpass = no
        colourise = yes
        msg_denied = "You are already logged in - access denied"
 }
 resources {
 }
 security {
        max_attributes = 200
        reject_delay = 2.000000
        status_server = no
        allow_vulnerable_openssl = "yes"
 }
}
radiusd: #### Loading Realms and Home Servers ####
radiusd: #### Loading Clients ####
Debugger not attached
radiusd: #### Instantiating modules ####
 modules {
  # Loaded module rlm_always
  # Loading module "reject" from file /usr/local/etc/raddb/mods-enabled/always
  always reject {
        rcode = "reject"
        simulcount = 0
        mpp = no
  }
  # Loading module "fail" from file /usr/local/etc/raddb/mods-enabled/always
  always fail {
        rcode = "fail"
        simulcount = 0
        mpp = no
  }
  # Loading module "ok" from file /usr/local/etc/raddb/mods-enabled/always
  always ok {
        rcode = "ok"
        simulcount = 0
        mpp = no
  }
  # Loading module "handled" from file /usr/local/etc/raddb/mods-enabled/always
  always handled {
        rcode = "handled"
        simulcount = 0
        mpp = no
  }
  # Loading module "invalid" from file /usr/local/etc/raddb/mods-enabled/always
  always invalid {
        rcode = "invalid"
        simulcount = 0
        mpp = no
  }
  # Loading module "userlock" from file /usr/local/etc/raddb/mods-enabled/always
  always userlock {
        rcode = "userlock"
        simulcount = 0
        mpp = no
  }
  # Loading module "notfound" from file /usr/local/etc/raddb/mods-enabled/always
  always notfound {
        rcode = "notfound"
        simulcount = 0
        mpp = no
  }
  # Loading module "noop" from file /usr/local/etc/raddb/mods-enabled/always
  always noop {
        rcode = "noop"
        simulcount = 0
        mpp = no
  }
  # Loading module "updated" from file /usr/local/etc/raddb/mods-enabled/always
  always updated {
        rcode = "updated"
        simulcount = 0
        mpp = no
  }
  # Loaded module rlm_perl
  # Loading module "perl" from file /usr/local/etc/raddb/mods-enabled/perl
  perl {
        filename = "/usr/abills/libexec/rlm_perl.pl"
        func_authorize = "authorize"
        func_authenticate = "authenticate"
        func_post_auth = "post_auth"
        func_accounting = "accounting"
        func_preacct = "preacct"
        func_checksimul = "checksimul"
        func_detach = "detach"
        func_xlat = "xlat"
        func_pre_proxy = "pre_proxy"
        func_post_proxy = "post_proxy"
        func_recv_coa = "recv_coa"
        func_send_coa = "send_coa"
  }
  instantiate {
  }
  # Instantiating module "reject" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "fail" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "ok" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "handled" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "invalid" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "userlock" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "notfound" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "noop" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "updated" from file /usr/local/etc/raddb/mods-enabled/always
  # Instantiating module "perl" from file /usr/local/etc/raddb/mods-enabled/perl
 } # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /usr/local/etc/raddb/radiusd.conf
} # server
server dhcp { # from file /usr/local/etc/raddb/sites-enabled/dhcp
 # Loading dhcp DHCP-Discover {...}
 # Loading dhcp DHCP-Request {...}
 # Loading dhcp DHCP-Inform {...}
 # Loading dhcp DHCP-Decline {...}
 # Loading dhcp {...}
} # server dhcp
radiusd: #### Opening IP addresses and Ports ####
listen {
        type = "dhcp"
        ipaddr = 10.33.33.10
        port = 67
No "interface" setting is defined.  Only unicast DHCP will work
}
Listening on dhcp address 10.33.33.10 port 67 bound to server dhcp
Ready to process requests

 

 

Единственное, что это почему-то у меня perl 5.28.1 не собрался с threads, а 5.28.2 собрался и теперь на нем радиус крашится. Сейчас попробую 5.28.2 без threads собрать. Заметил, кстати, что радиус с perl threads стал кушать немного меньше памяти.

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


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

30 минут назад, roma33rus сказал:

в дебаге ничего нового совсем.

ну так креша надо дождаться...

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


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

6 минут назад, NewUse сказал:

ну так креша надо дождаться...

А. Вы про это. Нет, так не пробовал. надо будет сделать.

 

Запустил radiusd -X -xxx и увидел инфу, что радиус работает с thread. Сейчас оставлю его в дебаге и посмотрю чего скажет при креше

radiusd -X -xxx
Fri Jun 21 10:09:52 2019 : Debug: Server was built with:
Fri Jun 21 10:09:52 2019 : Debug:   accounting               : yes
Fri Jun 21 10:09:52 2019 : Debug:   authentication           : yes
Fri Jun 21 10:09:52 2019 : Debug:   ascend-binary-attributes : yes
Fri Jun 21 10:09:52 2019 : Debug:   coa                      : yes
Fri Jun 21 10:09:52 2019 : Debug:   control-socket           : yes
Fri Jun 21 10:09:52 2019 : Debug:   detail                   : yes
Fri Jun 21 10:09:52 2019 : Debug:   dhcp                     : yes
Fri Jun 21 10:09:52 2019 : Debug:   dynamic-clients          : yes
Fri Jun 21 10:09:52 2019 : Debug:   osfc2                    : no
Fri Jun 21 10:09:52 2019 : Debug:   proxy                    : yes
Fri Jun 21 10:09:52 2019 : Debug:   regex-pcre               : no
Fri Jun 21 10:09:52 2019 : Debug:   regex-posix              : yes
Fri Jun 21 10:09:52 2019 : Debug:   regex-posix-extended     : yes
Fri Jun 21 10:09:52 2019 : Debug:   session-management       : yes
Fri Jun 21 10:09:52 2019 : Debug:   stats                    : yes
Fri Jun 21 10:09:52 2019 : Debug:   tcp                      : yes
Fri Jun 21 10:09:52 2019 : Debug:   threads                  : yes
Fri Jun 21 10:09:52 2019 : Debug:   tls                      : yes
Fri Jun 21 10:09:52 2019 : Debug:   unlang                   : yes
Fri Jun 21 10:09:52 2019 : Debug:   vmps                     : yes
Fri Jun 21 10:09:52 2019 : Debug:   developer                : no
Fri Jun 21 10:09:52 2019 : Debug: Server core libs:
Fri Jun 21 10:09:52 2019 : Debug:   freeradius-server        : 3.0.19
Fri Jun 21 10:09:52 2019 : Debug:   talloc                   : 2.0.*
Fri Jun 21 10:09:52 2019 : Debug:   ssl                      : 1.0.1e release
Fri Jun 21 10:09:52 2019 : Debug: Endianness:
Fri Jun 21 10:09:52 2019 : Debug:   little

 

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

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


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

Добрый день всем. Прям забавно получается. В дебаг режиме у меня радиус работает уже несколько дней. никаких ошибок и крешей.

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


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

Хочу поделиться результатами.

 

1. Изначально значит было взято Freeradius 3.0.19 из исходников и perl 5.28.1, тоже из исходников. При такой связке я получал ошибки как в первом моем сообщении и память кушал он изрядно:

Скрытый текст

Sun Jun  9 22:41:16 2019 : Error: 297 requests have been waiting in the processing queue for 38 seconds.  Check that all databases are running properly!
Sun Jun  9 22:41:16 2019 : Error: Unresponsive child for request 107175, in component post-auth module perl
Sun Jun  9 22:41:16 2019 : WARNING: (106763) WARNING: Module rlm_perl became unblocked
Sun Jun  9 22:41:16 2019 : Error: Unresponsive child for request 107183, in component post-auth module perl
Sun Jun  9 22:41:17 2019 : WARNING: (106767) WARNING: Module rlm_perl became unblocked
Sun Jun  9 22:41:17 2019 : Error: 299 requests have been waiting in the processing queue for 38 seconds.  Check that all databases are running properly!
Sun Jun  9 22:41:17 2019 : Error: Unresponsive child for request 107188, in component post-auth module perl
Sun Jun  9 22:41:17 2019 : WARNING: (106774) WARNING: Module rlm_perl became unblocked
Sun Jun  9 22:41:17 2019 : Error: Unresponsive child for request 107196, in component post-auth module perl
Sun Jun  9 22:41:18 2019 : WARNING: (106779) WARNING: Module rlm_perl became unblocked
Sun Jun  9 22:41:18 2019 : Error: 301 requests have been waiting in the processing queue for 38 seconds.  Check that all databases are running properly!
Sun Jun  9 22:41:18 2019 : Error: Unresponsive child for request 107202, in component post-auth module perl
Sun Jun  9 22:41:19 2019 : WARNING: (106790) WARNING: Module rlm_perl became unblocked

mem.thumb.png.24f6a951b7208499d2b1bdd73e91b26c.png

 

2. Пересобираю Perl версии 5.28.2 с -Dusethreads. Тут ничего интересного не получилось, радиус начал падать с ошибкой:

Скрытый текст

radiusd[43025]: segfault at 7ff9ac917140 ip 00007ff9ac917140 sp 00007ff9af933638 error 14 in libfreeradius-dhcp.so[7ff9acd25000+7000]

 

 

Далее путем чтения разных ресурсов в интернет было выяснено, что в радиусе была проблема утечки памяти. При этом советовали поставить радиус из репозитория, он там был пропатчен. При этом я не нашел никакого информации о том, сохранилась ли эта проблема до версии 3.0.19.

 

3. Идем дальше. Собираю perl 5.28.2 без поддержки threads и тут ситуация становится много лучше. Ошибок нет. Памяти кушает по божески. Работает стабильно несколько дней:

Скрытый текст

screenshot-monitoring.tvinnet.ru-2019_06.27-09-53-33.thumb.png.a47417a896908ffcade88419127888b8.png

 

4. Дальше ради эксперимента решил пересобрать радиус, отключив пару опций: ./configure --without-vmps --without-openssl. памяти стал кушать еще меньше. Тут я долго не стал смотреть как он работает:

Скрытый текст

screenshot-monitoring.tvinnet.ru-2019_06.27-10-13-00.thumb.png.2c7e170a8d304deadf0fd21bbf2abb42.png

 

5. Ну и напоследок поставил я радиус версии 3.0.19 из репозитория по этой ссылки https://networkradius.com/freeradius-packages/. У меня кстати Centos 6. В этой ситуации опять же работает стабильно, ошибок нет, памяти кушает нормально:

Скрытый текст

screenshot-monitoring.tvinnet.ru-2019_06.27-10-16-15.thumb.png.ee3cb7a047323a033e21279d82445e9d.png

 

При всех этих тестах через радиус работало 44 пользователя.

Вопрос, на какую память обращать внимание стоит? Virtual Memory или Private Memory RSS?

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

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


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

4 часа назад, roma33rus сказал:

Вопрос, на какую память обращать внимание стоит? Virtual Memory или Private Memory RSS?

RSS.

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


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

1 час назад, jffulcrum сказал:

RSS.

Спасибо. Буду наблюдать тогда еще.

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


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

14 часов назад, roma33rus сказал:

1. Изначально значит было взято Freeradius 3.0.19 из исходников и perl 5.28.1, тоже из исходников. При такой связке я получал ошибки как в первом моем сообщении и память кушал он изрядно:

МАЗАХИСТ!

http://netlab.dhis.org/wiki/ru:software:perl:dhcp_server

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


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

Join the conversation

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

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

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

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

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

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

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