Содержание

Поддержка IPv4-пулов

Имя пула IP-адресов задается атрибутом Framed-Pool в Access-Accept.

Атрибут Framed-IP-Address является более приоритетным, чем Framed-Pool: при наличии в ответе обоих атрибутов PCRF игнорирует Framed-Pool

Обнаружив в ответе Радиуса атрибут Framed-Pool, PCRF должен:

Конфигурирование fastPCRF

В fastpcrf.conf должен быть задан как минимум один DHCP-сервер, обслуживающий пулы. Адрес сервера задается в параметре dhcp_server такого вида:

    # <address> - IP-адрес DHCP-сервера
    # <dev> - с какого локального интерфейса общаться с DHCP-сервером
dhcp_server=<address>%<dev>

Каждый DHCP-сервер задается в fastpcrf.conf отдельным параметром. Например, два сервера могут быть заданы так:

    # Основной сервер - на интерфейсе eth1
dhcp_server=192.168.10.10%eth1
    # Резервный сервер - на интерфейсе em2
dhcp_server=10.45.78.03%em2

Поддерживается задание до 16 DHCP-серверов. Никакого значения по умолчанию у данного параметра нет - для поддержки Framed-Pool обязательно нужно в fastpcrf.conf прописать как минимум один DHCP-сервер.

Помимо DHCP-серверов, следует также указать, в какой опции DHCP-запроса посылать имя пула. Это делается с помощью параметра dhcp_poolname_opt. Поддерживаются следующие DHCP-опции:

  1. dhcp_poolname_opt=1 - opt77 User-Class RFC 3004. Если опция уже есть, её значение заменяется на имя пула
  2. dhcp_poolname_opt=2 - opt125 Vendor-Opts (vendorId=43823, subopt=1) RFC 3925. Опция всегда добавляется
  3. dhcp_poolname_opt=3 - opt60 Class-Id RFC 2132. Если опция уже есть, её значение заменяется на имя пула

Если dhcp_poolname_opt=0 (default) - имя пула будет добавляться в opt125.

В СКАТ 10.2+ изменен алгоритм добавления opt125: если такая опция уже есть в DHCP-запросе, то СКАТ добавляет данные для вендора VAS Experts в уже существующую opt125. Такое изменение связано с тем, что не все реализации DHCP-серверов понимают множественное задание одной и той же опции.

В СКАТ 12.4+ opt125 добавлется с названием пула первой опцией. Причина: KEA при определении класса клиента (opt125) разбирает только первого вендора.

FastPCRF обращается к DHCP-серверам под видом релея (с IP-адресом локального интерфейса связи с сервером), чтобы DHCP-трафик был уникастным. Все DHCP-запросы всегда шлются на все сервера, указанне в параметрах dhcp_server. Если сконфигурировано несколько DHCP-серверов, PCRF принимает во внимание первый по времени ответ, ответы от остальных DHCP-серверов игнорируются.

Примеры конфигурирования ISC DHCP-сервера

DHCP-сервер конфигурируется по-разному в зависимости от того, в какой DHCP-опции будет приходить имя пула (параметр dhcp_poolname_opt). Ниже даны не полные конфигурационные файлы /etc/dhcp/dhcpd.conf ISC DHCP, а только выжимки, относящиеся к конфигурированию пула

  1. пример для опции 125 (dhcp_poolname_opt=2)
  2. пример для опции 77 User-Class (dhcp_poolname_opt=2)
  3. пример для опции 60 Class-Id (dhcp_poolname_opt=3)

Формирование DHCP-запроса в режиме DHCP Radius Proxy

В режиме DHCP Radius Proxy на DHCP-сервер передается оригинальный DHCP-запрос абонента с добавлением имени пула в соответствии с параметром dhcp_poolname_opt.

Следует быть осторожным, указывая имя пула в опциях opt77 и opt60: если такая опция уже есть в DHCP-запросе абонента, её значение изменяется на имя пула. Если оригинальное значение этих опции важно при конфигурировании DHCP-сервера, следует для имени пула использовать опцию 125, которая всегда добавляется

Формирование DHCP-запроса для PPPoE-клиентов

Для PPPoE-абонентов PCRF формирует DHCP-запрос со следующими опциями, идентифицирующими абонента:

Формирование Access-Accept

Получив ответ от DHCP-сервера, PCRF объединяет его с ранее полученным от Радиуса Access-Accept. Напомним, что в Access-Accept также можно задавать DHCP-опции в виде специальных VSA. При объединении ответов DHCP-опции, возвращенные DHCP-сервером, считаются более приоритетными, чем эти VSA-атрибуты; например, если и в DHCP-ответе, и в Access-Accept задается разный список DNS-серверов, то абоненту будет отправлен список DNS-серверов из ответа DHCP-сервера.