DHCP Dual Proxy (далее — Dual DHCP) — в этом режиме fastDPI работает как единая точка авторизации, запрашивая все параметры у RADIUS-сервера через fastPCRF одним запросом. Режим оптимизирован для работы Dual Stack (IPv4/IPv6) абонентов, но также полностью поддерживает и абонентов только с IPv4 или только с IPv6.
Активация:
bras_dhcp_mode=3
Режим Dual DHCP предназначен для сетей, где требуется упростить авторизацию и управление сессиями. В отличие от режима DHCP proxy (bras_dhcp_mode=2), для Dual Stack абонентов создается одна сессия аккаунтинга, а RADIUS-сервер возвращает адреса и настройки для обоих протоколов в одном ответе Access-Accept. Если в ответе авторизации получен только один тип адреса (только IPv4 или только IPv6), это означает, что абоненту доступен только этот протокол и абоненту будет возвращен DHCP NAK на попытки запроса DHCPv4 или DHCPv6.
Режим использует существующие опции конфигурации от bras_dhcp_mode=2, такие как bras_dhcp_check_secondary_keys, bras_dhcp_ratelimit, bras_dhcp_ratelimit_ban и bras_dhcp_qinq_only.
В режиме Dual DHCP четко разграничены время жизни сессии (session-timeout) и время аренды адреса (lease-time). Session-timeout, задаваемый через атрибут RADIUS Session-Timeout, определяет период актуальности параметров авторизации и не может быть менее 600 секунд (по умолчанию равен 1 суткам).
Lease-time задает, на какое время абоненту выдали IP-адрес, то есть через какое время абонент должен отправить DHCP-запрос на продление аренды. В режиме Dual DHCP критически важно, чтобы Session-timeout был как минимум в 4 раза больше Lease-time. Если это условие не выполняется, то Lease-time автоматически устанавливается равным 1/4 от Session-timeout.
Lease-time определяется в следующем порядке приоритета:
DHCP-IP-Address-Lease-Time;VasExperts-DHCP-Option-Num, задающий DHCP-опцию 51;Framed-Pool.
Если Lease-time не задан ни одним из перечисленных способов, то он принимается равным 1/16 от Session-timeout.
Минимальные значения:
Session-timeout — 600 секунд;Lease-time — 60 секунд.
Абонент регулярно отправляет запросы обновления аренды (DHCP Renew). В течение действия session-timeout СКАТ автоматически их подтверждает без обращения к RADIUS-серверу. Для принудительной реавторизации используется CoA Disconnect: после его получения следующий DHCP Renew инициирует новый запрос авторизации на RADIUS.
Если при этом абоненту назначается новый IP-адрес, СКАТ отправляет в ответ на Renew пакет NAK, что вызывает стандартную процедуру получения адреса без дополнительной авторизации: отправка абонентом DHCP-Discover → СКАТ отвечает DHCP-Offer (предложение нового адреса) → абонент DHCP-Request → СКАТ DHCP-ACK.
При этом повторного запроса авторизации не будет — СКАТ уже получил все свойства абонента и в течение session-timeout сам отвечает на DHCP-запросы абонента.
В ответе авторизации RADIUS выдает IPv6-адреса в атрибутах Framed-IPv6-Address, Framed-IPv6-Prefix, Delegated-IPv6-Prefix. Delegated-IPv6-Prefix сообщается абоненту, а Framed-IPv6-Address и Framed-IPv6-Prefix являются взаимоисключающими — выдается либо единый адрес (Framed-IPv6-Address), либо целая подсеть (Framed-IPv6-Prefix). Адреса подсети СКАТ распределяет самостоятельно при запросах абонента следующим образом:
Framed-IPv6-Address, абоненту назначается только один указанный IPv6-адрес. Если в ответе есть атрибут Framed-IPv6-Prefix — он игнорируется. Все последующие запросы абонента на получение дополнительных IPv6-адресов будут отклоняться.Framed-IPv6-Prefix и отсутствует Framed-IPv6-Address, СКАТ будет удовлетворять запросы абонента на выделение множественных адресов из этого пула.
Для получения адресов СКАТ поддерживает использование пулов, задаваемых атрибутами Framed-Pool (IPv4) и Framed-IPv6-Pool (IPv6). Возможна смешанная конфигурация, например, явное указание IPv4-адреса через Framed-Address с одновременным получением IPv6-адреса из пула. Если в ответе RADIUS указаны и конкретный адрес, и пул, приоритет отдается адресу, а пул игнорируется.
При работе с пулами fastPCRF запрашивает адреса у локального или внешних DHCP-серверов и должен соблюдать протокол аренды. Для этого в СКАТ различаются два времени аренды: lease-time для абонента и lease-time для пула, который задается DHCP-сервером и должен быть сопоставим с session-timeout. Это позволяет реже обновлять аренду в пуле, избегая излишней нагрузки.