Это старая версия документа!
Полный список параметров
Опции командной строки fastPCRF:
-c <conf_file_name>- задает имя файла конфигурации;-d– запускать fastPCRF как демон;-h– вызов справки (help);-v– печать версии.
Настроечные параметры берутся из файла fastpcrf.conf, который по умолчанию находится там же, где и fastdpi.conf — в каталоге /etc/dpi.
Общие параметры конфигурационного файла:
daemon— булевый параметр, задающий режим запуска: еслиdaemon=1— запускать fastPCRF в режиме демона, иначе — как обычную программу. Значение по умолчанию — 0 (запускать как обычную программу). Данный параметр может быть переопределен опцией командной строки–d.verbose— булевый параметр, задает подробный уровень логирования: еслиverbose=1— программа будет подробно логировать свои действия, входящие запросы и исходящие данные; степень подробности задается параметромtrace(см. далее). Значение по умолчанию — 0.trace— битовая маска трассировки; задает, какие компоненты требуют подробного логирования. Значение по умолчанию — 0. Значения флагов см. в разделе Журналы fastPCRFrlimit_fsize— максимальный размер файла при записи, байт. Значение по умолчанию — 1G (1073741824 байт).print_stat_period— период вывода внутренней статистики в файлfastpcrf_stat.log. Задается в секундах, значение по умолчанию — 300 (статистика выводится раз в 5 минут).work_thread_count— количество рабочих потоков, значение по умолчанию — 5. Задавать значение больше 5 не имеет смысла, так как количество рабочих потоков не может быть больше, чем количество внутренних компонентfastpcrf.async_queue_size— размер внутренней очереди передачи асинхронных сообщений; значение по умолчанию — 524288 (512K). Этот параметр лучше не трогать и тем более не уменьшать, так как при задании слишком маленького размера возможна потеря внутренних вызовов между компонентами, что равносильно потере работоспособности и/или утечке памяти.
Параметры связи с fastDPI:
fdpi_server
auth_server_port— номер порта, на котором слушаем входящие соединения. Значение по умолчанию — 29002.auth_server_max_connection— максимальное число входящих соединений, значение по умолчанию — 16, максимальное значение — 16. Фактически, это число fastDPI-серверов, которые обслуживаются данным fastPCRF сервером.
Задание fastDPI-серверов:
fdpi_server— задание одного fastDPI-сервера.
Формат:fdpi_server=ip%dev:port[;name=value]*, гдеip— IP-адрес сервера fastDPI;dev— интерфейс, с которого идет соединение;port— порт обратной связи fastPCRF → fastDPI (обычно 29000 — стандартный портfdpi_ctrl);name=value— дополнительные параметры сервера:attr_nas_ip— IPv4-адрес для атрибута NAS-IP-Address; если не задан — применяется IP-адрес fastDPI (ip);attr_nas_ipv6— значение атрибута NAS-IPv6-Address для данного fastDPI;attr_nas_id— значение атрибута NAS-Identifier для данного fastDPI.
В config-файле можно включать множество параметров fdpi_server — каждый fastDPI-сервер описывается отдельным параметром. Максимальное количество fastDPI-серверов равно 16.
fdpi_server=127.0.0.1%lo:29000;attr_nas_ip=5.5.5.5 fdpi_server=10.20.30.40%eth1:29000;attr_nas_is=DPI2
Настройки взаимодействия с Radius-серверами:
default_reject_policing— имя профиля полисинга по умолчанию для неавторизованных пользователей.default_reject_whitelist— имя профиля услуги 5 (Белый список) по умолчанию для неавторизованных пользователей.radius_revive_period— периодичность (в секундах) задачи оживления подключения к главному Radius-серверу. Значение по умолчанию – 120 секунд. Radius-сервера в спискеradius_serverнеравнозначны: первый считается главным Radius-сервером, остальные – резервными. Если fastPCRF обнаруживает, что главный Radius-сервер слишком долго не отвечает, соединение с ним сбрасывается и fastPCRF подключается к следующему Radius-серверу из списка. При этом производятся периодические попытки подключения к главному Radius-серверу до тех пор, пока главный Radius-сервер не станет доступным (с версии 12.3 удален за ненадобностью).radius_max_pending_requests— максимальное число ожидающих выполнения запросов от fastDPI-серверов. Значение по умолчанию – 1 000 000. При превышении этого порога входящие запросы от fastDPI-серверов молча отбрасываются.coa_max_pending_requests— максимальное число ожидающих выполнения CoA-запросов от Radius-серверов. Значение по умолчанию – 100 000. Это значение не должно быть выше, чем значение параметраasync_queue_size, рекомендуемое значение – не большеasync_queue_size / 2.
radius_server — задает адрес Radius-сервера и его конфигурационные параметры. Каждый Radius-сервер в конфигурационном файле описывается отдельным параметром radius_server. Обычно задается как минимум 2 Radius-сервера — основной и резервный, соответственно, в conf-файле должно быть как минимум 2 строки с параметром radius_server — для основного и резервного серверов.
Максимальное число Radius-серверов — 16. Radius-сервера не равнозначны: главным считается тот Radius-сервер, который описан в conf-файле первым, остальные считаются резервными.
Резервные сервера используются при недоступности главного и именно в том порядке, как задано в conf-файле.
В каждый момент времени активным является только один Radius-сервер.
Формат задания radius_server следующий:
radius_server=secret@ip%dev:port{;param=value}*
где:
secret— секрет Radius-сервера;ip— IP-адрес Radius-сервераdev(необязательный) — имя интерфейса, на котором создавать соединение; если не задан — интерфейс выбирается операционной системой;port— портparam=value— перечень (через точку с запятой) конфигурационных параметров для данного Radius-сервера.
Конфигурационные параметры Radius-сервера могут быть заданы тремя способами:
- Значения, одинаковые для всех Radius-серверов, задаются как обычные параметры в файле
fastpcrf.conf(все такие параметры перечислены ниже). Основное условие — они должны быть заданы перед параметрамиradius_server, — только в этом случае они применяются ко всем Radius-серверам. - Для каждого Radius-сервера может быть создан свой конфигурационный файл, имя которого задается параметром
confв строкеradius_server, например:radius_server=secret@10.10.3.5:1812;conf=radius-main.conf
значения из
radius-main.confперекрывают default-значения параметров. - Параметры, уникальные для конкретного Radius-сервера, могут быть заданы прямо в строке
radius_server, например:radius_server=secret@10.10.3.5:1812;conf=radius-main.conf;msg_auth_attr=1
Здесь параметр
msg_auth_attrзадан для конкретного сервера 10.10.3.5 и перекрывает задание соответствующего параметра в файле конфигурацииradius-main.conf. Следует учитывать, что порядок перечисления вradius_serverважен: параметры применяются именно в том порядке, как они указаны вradius_server.
Если в примере выше поменять местамиconfиmsg_auth_paramи в conf-файлеradius-main.confзаданоmsg_auth_param=0, то будет примененmsg_auth_param=0изradius-main.conf.
Далее перечислены параметры Radius-серверов, которые могут быть заданы индивидуально для каждого Radius-сервера.
Приводятся имена параметров в основном conf-файле fastpcrf.conf, в скобках – так, как они задаются в параметре radius_server и в отдельном conf-файле Radius-сервера:
radius_dead_timeout(dead_timeout) — тайм-аут "безмолвствия" Radius-сервера в секундах, значение по умолчанию — 60. Если в течение этого периода времени от Radius-сервера не пришло ни одного ответа, а запросы есть, то сервер считается умершим и fastPCRF переключается на другой Radius-сервер из списка (не стоит забывать, что транспортным протоколом для RADIUS является UDP, в котором обрыв "соединения" определить точно невозможно). При этом если умер главный Radius-сервер (тот, который задан первым вfastpcrf.conf), то запускается задача оживления подключения к главному Radius-серверу (см.radius_revive_periodвыше).radius_max_connect_count(max_connect_count) — максимальное число подключений к одному Radius-серверу, значение по умолчанию — 16. Согласно основной спецификации RADIUS (RFC 2865), под идентификатор, позволяющий сопоставить запрос с ответом, отводится поле размером 1 байт, то есть одно соединение может одновременно обслуживать не более 256 запросов. Для преодоления этого ограничения спецификация предлагает создавать несколько подключений к одному Radius-серверу. Фактически этот параметр задает число одновременных запросов к одному Radius-серверу:radius_max_connect_count * 256.radius_response_timeout(response_timeout) — тайм-аут ожидания ответа на запрос Access-Request к Radius-серверу в секундах, значение по умолчанию — 30. Если в течение этого времени ответ на запрос не пришел, запрос считается отброшенным Radius-сервером (например, по причине "слишком много запросов") и fastPCRF пытается послать запрос заново.radius_resend_count(resend_count) — максимальное количество попыток повторной отправки запроса, значение по умолчанию — 0 (без повторной отправки). Если число попыток повторной отправки запросов исчерпано и ответ от Radius-сервера не получен, fastPCRF ничего не сообщает fastDPI-серверу. FastDPI в случае отсутствия ответа на авторизацию в течение определенного тайм-аута (параметрauth_resend_timeoutфайлаfastdpi.conf) пошлет повторный запрос на авторизацию.radius_status_server(status_server) — булевый параметр, задает, поддерживает ли Radius-сервер запрос Status-Server (RFC 5997); значение по умолчанию — 1 (запрос поддерживается). Данный тип запроса используется fastPCRF для пинга Radius-сервера, особенно в случае временной недоступности основного Radius-сервера. Без поддержки Status-Server сложно понять, восстановился ли основной Radius-сервер.radius_keepalive— тайм-аут пингования Радиус-серверов в секундах. Если нет никаких запросов авторизации, fastPCRF периодически пингует Радиус-сервера, посылая Server-Status или Access-Request. Если сервер отвечает, то он считается доступным. Значение по умолчанию: 60 секунд.radius_ping_user_name— User-Name псевдоабонента, используемый в Access-Request для проверки доступности RADIUS сервера.radius_ping_user_password— пароль псевдоабонента, используемый в Access-Request для проверки доступности RADIUS сервера.radius_user_password(user_password) — строка, значение атрибута User-Password запроса Access-Request. Значение по умолчанию:VasExperts.FastDPI.radius_unknown_user(unknown_user) — строка, логин пользователя, если настоящий логин неизвестен fastDPI. Значение по умолчанию:VasExperts.FastDPI.unknownUser. Это значение атрибута User-Name запроса Access-Request, еслиradius_user_name_ip=0и логин пользователя неизвестен. Предполагается, что Radius-сервер в ответе Access-Accept сообщит истинный логин пользователя, определенный по его IP-адресу, взятому из атрибутаFramed-IP-Address. Следует учитывать, что данный параметр тесно связан с параметромradius_user_name_authи применяется, только если никакой способ задания атрибута User-Name не применим.radius_unknown_user_psw(unknown_user_pws) — строка, значение атрибута User-Password для неизвестного логина пользователя. Применяется только еслиradius_user_name_ip=0. Значение по умолчанию:VasExperts.FastDPI.radius_msg_auth_attr(msg_auth_attr) — булевый параметр, задает, поддерживает ли Radius-сервер атрибут Message-Authenticator (RFC 2869). Значение по умолчанию — 1 (атрибут поддерживается). Если атрибут поддерживается, fastPCRF будет вычислять и включать Message-Authenticator в каждый запрос Access-Request и Status-Server, а также анализировать этот атрибут в ответах; если в ответе проверка атрибута Message-Authenticator заканчивается ошибкой, то такой ответ отбрасывается.radius_attr_nas_port_type(attr_nas_port_type) — число, значение атрибута NAS-Port-Type (RFC 2865) запроса Access-Request; значение по умолчанию — 5 (Virtual).radius_attr_service_type(attr_service_type) — число, значение атрибута Service-Type (RFC 2865) запроса Access-Request. Значение по умолчанию — 2 (Framed).radius_attr_cui(attr_cui) — булевый параметр, задает, поддерживает ли Radius-сервер атрибут Chargeable-User-Identity (CUI, RFC 4372). Значение по умолчанию — 1 (CUI поддерживается). Если этот атрибут поддерживается, то fastPCRF в запросе Access-Request помещает в этот атрибут логин пользователя; если логин неизвестен, то в атрибут помещается нулевой байт, что означает, согласно RFC 4372, запрос логина у Radius-сервера. В ответе Access-Accept fastPCRF ожидает прихода в этом атрибуте истинного логина пользователя, который Radius-сервер может определить по его IP-адресу (атрибут Framed-IP-Address запроса).radius_coa_port(coa_port) — UDP-порт, на который поступают Change-of-Authorization (CoA) оповещения Disconnect-Request, CoA-Request (RFC 5176). Значение по умолчанию: 3799 (определен в RFC 5176); если Radius-сервер не поддерживает CoA, следует задать этому параметру значение 0.radius_coa_resend_timeout(coa_resend_timeout) — тайм-аут перепосылки CoA-ответов (Disconnect-ACK, Disconnect-NAK, CoA-ACK, CoA-NAK) в случае проблем с сокетом (обычно переполнение очереди сокета), в секундах. Значение по умолчанию — 1 секунда. Количество повторных попыток задается параметромradius_resend_count.coa_reauth_ack— как отвечать на CoA-Request с Service-Type=8 (Authenticate-Only):- 0 (значение по умолчанию) — по RFC5176 p.3.2: отвечать CoA-NAK с Error-Cause=507 (Request Initiated);
- 1 — нестандартное поведение: отвечать CoA-ACK.
Была ли полезна эта информация?