====== Поддержка IPv4-пулов ====== {{indexmenu_n>10}} Имя пула IP-адресов задается атрибутом ''Framed-Pool'' в ''Access-Accept''. Атрибут ''Framed-IP-Address'' является более приоритетным, чем ''Framed-Pool'': при наличии в ответе обоих атрибутов PCRF игнорирует ''Framed-Pool'' Обнаружив в ответе Радиуса атрибут ''Framed-Pool'', PCRF должен: * обратиться к DHCP-серверу за адресом абонента, передав DHCP-серверу имя пула в одной из DHCP-опций; * получив ответ DHCP-сервера, сформировать общий ответ авторизации, объединив опции DHCP-ответа и атрибуты ''Access-Accept'' ===== Конфигурирование fastPCRF ===== В ''fastpcrf.conf'' должен быть задан как минимум один DHCP-сервер, обслуживающий пулы. Адрес сервера задается в параметре ''dhcp_server'' такого вида: #
- IP-адрес DHCP-сервера # - с какого локального интерфейса общаться с DHCP-сервером dhcp_server=
% Каждый 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-опции: - ''dhcp_poolname_opt=1'' - opt77 User-Class [[https://tools.ietf.org/html/rfc3004|RFC 3004]]. Если опция уже есть, её значение заменяется на имя пула - ''dhcp_poolname_opt=2'' - opt125 Vendor-Opts (vendorId=43823, subopt=1) [[https://tools.ietf.org/html/rfc3925|RFC 3925]]. Опция всегда добавляется - ''dhcp_poolname_opt=3'' - opt60 Class-Id [[https://tools.ietf.org/html/rfc2132|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'' [[https://www.isc.org/dhcp/|ISC DHCP]], а только выжимки, относящиеся к конфигурированию пула - [[dpi:bras_bng:ip_pool:ipv4:isc_cfg_opt125|пример для опции 125]] (''dhcp_poolname_opt=2'') - [[dpi:bras_bng:ip_pool:ipv4:isc_cfg_opt77|пример для опции 77]] ''User-Class'' (''dhcp_poolname_opt=2'') - [[dpi:bras_bng:ip_pool:ipv4:isc_cfg_opt60|пример для опции 60]] ''Class-Id'' (''dhcp_poolname_opt=3'') ===== Формирование DHCP-запроса в режиме DHCP Radius Proxy ===== В режиме [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_proxy|DHCP Radius Proxy]] на DHCP-сервер передается оригинальный DHCP-запрос абонента с добавлением имени пула в соответствии с параметром ''dhcp_poolname_opt''. Следует быть осторожным, указывая имя пула в опциях opt77 и opt60: если такая опция уже есть в DHCP-запросе абонента, её значение изменяется на имя пула. Если оригинальное значение этих опции важно при конфигурировании DHCP-сервера, следует для имени пула использовать опцию 125, которая всегда добавляется ===== Формирование DHCP-запроса для PPPoE-клиентов ===== Для [[dpi:bras_bng:bras_pppoe|PPPoE]]-абонентов PCRF формирует DHCP-запрос со следующими опциями, идентифицирующими абонента: * opt61 Client-Id [[http://tools.ietf.org/html/rfc2132|RFC 2132]]- содержит тип "1" (ethernet) и MAC-адрес абонента в бинарном виде; ===== Формирование Access-Accept ===== Получив ответ от DHCP-сервера, PCRF объединяет его с ранее полученным от Радиуса ''Access-Accept''. Напомним, что в ''Access-Accept'' также можно задавать DHCP-опции в виде [[dpi:bras_bng:bras_l2_vlan:bras_l2_vlan_dhcp:bras_l2_vlan_dhcp_proxy:bras_l2_vlan_dhcp_proxy_vsa|специальных VSA]]. При объединении ответов DHCP-опции, возвращенные DHCP-сервером, считаются более приоритетными, чем эти VSA-атрибуты; например, если и в DHCP-ответе, и в ''Access-Accept'' задается разный список DNS-серверов, то абоненту будет отправлен список DNS-серверов из ответа DHCP-сервера.