Это старая версия документа!
Полный список параметров
Опции командной строки fastPCRF:
- -c <conf_file_name>- задает имя файла конфигурации;
- -d– запускать fastPCRF как демон;
- -h– вызов справки (help);
- -v– печать версии.
Настроечные параметры берутся из файла fastpcrf.conf, который по умолчанию находится там же, где и fastdpi.conf — в каталоге /etc/dpi.
fastpcrf.conf имеет значение!Например, RADIUS-сервера должны быть объявлены после параметров, описывающих подключение RADIUS-сервера.
Настоятельно рекомендуем придерживаться той последовательности, которая используется в шаблоне.
Общие параметры конфигурационного файла:
- daemon— булевый параметр, задающий режим запуска: если- daemon=1— запускать fastPCRF в режиме демона, иначе — как обычную программу. Значение по умолчанию — 0 (запускать как обычную программу). Данный параметр может быть переопределен опцией командной строки- –d.
- verbose— булевый параметр, задает подробный уровень логирования: если- verbose=1— программа будет подробно логировать свои действия, входящие запросы и исходящие данные; степень подробности задается параметром- trace(см. далее). Значение по умолчанию — 0.
- trace— битовая маска трассировки; задает, какие компоненты требуют подробного логирования. Значение по умолчанию — 0. Значения флагов см. в разделе Журналы fastPCRF
- rlimit_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-сервера в секундах, когда он в состоянии Dead. В состоянии Dead сервер пингуется раз в- radius_dead_timeoutсекунд: посылается пинг и сервер переходит в состояние Dead-ping-sent. То есть: если- radius_dead_timeout=3600(1 час), то RADIUS-сервер может перейти в состояние Alive не раньше чем через час после перехода в состояние Dead.
- 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— тайм-аут пингования RADIUS-серверов в секундах. Если нет никаких запросов авторизации, fastPCRF периодически пингует RADIUS-сервера, посылая 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.
 
Была ли полезна эта информация?