FastDPI BRAS хранит в своей внутренней БД UDR дополнительные свойства IP-адреса абонента:
Кроме того, внутри fastDPI BRAS есть ещё один признак, который не сохраняется в UDR, а живет только в памяти, - состояние DHCP-сессии (см. Сессия пользователя).
При штатной работе BRAS запоминает значения этих свойств из DHCP трафика. Но может возникнуть ситуация, когда значения этих свойств не будут соответствовать действительности, - например, при перезагрузке fastDPI, при добавлении нового абонента, при изменении топологии сегмента сети (когда меняются значения VLAN-тегов) и пр. Во всех этих случаях может потребоваться ручная корректировка UDR, - эту возможность предоставляет утилита fdpi_ctrl.
Команда задания свойств IP-адреса:
fdpi_ctrl load --ip_prop --ip 10.20.30.40 --mac a0:b1:c2:d3:e4:f5 --vlan 509.23 --session_status=0
Эта команда задает для IP-адреса 10.20.30.40 свойства:
--mac a0:b1:c2:d3:e4:f5
MAC-адрес абонента--vlan 509.23
значение VLAN-тегов (в данном случае QinQ). Для одинарного VLAN задается только одно число--session_status=0
внутренний статус сессии:
Здесь --ip_prop
– это ключевое слово, говорящее команде load, что будут задаваться свойства IP-адреса.
Можно задавать не все свойства сразу, а только те, которое необходимо изменить, например,
изменение MAC-адреса, привязанного к IP-адресу, выглядит так:
fdpi_ctrl load --ip_prop --ip 10.20.30.40 --mac a0:b1:c2:d3:e4:f5
Команда просмотра свойств IP-адреса:
fdpi_ctrl list --ip_prop --ip 10.20.30.40
Удаление свойства (удаляется не полностью IP-адрес, а только его указанные свойства):
# Удаление MAC-адреса fdpi_ctrl del --ip_prop --ip 10.20.30.40 --mac # Удаление VLAN и MAC-адреса fdpi_ctrl del --ip_prop --ip 10.20.30.40 --mac --vlan # Удаление всех свойств fdpi_ctrl clear --ip_prop --ip 10.20.30.40
Задание шлюза:
# Адрес 10.45.89.1 будет восприниматься СКАТом как клиентский шлюз. fdpi_ctrl load --ip_prop --ip=10.45.89.1 --session_status=gateway
Если тип IP-адреса - шлюз (type=Gateway
), то все прочие параметры - MAC, VLAN и другие - не имеют значения:
fdpi_ctrl list --ip_prop --ip=10.45.89.1 ================================ IP=10.45.89.1 subnet-mask=n/a MAC=n/a VLAN=n/a type=Gateway Gateway-status=undef last-activity=2018/06/25 11:55:28 iface_idx=0 --------------------------------- Result processing ip=10.45.89.1 : ------------------ 1/0/0
Начиная с версии СКАТ 7.5, поддерживаются команды массового изменения параметров:
# Замена VLAN для всех IP-адресов из подсети 10.20.30.0/24 fdpi_ctrl load --ip_prop --cidr 10.20.30.0/24 --vlan=456 # Замена VLAN для всех IP-адресов из диапазона 192.168.251.5...192.168.251.17 fdpi_ctrl load --ip_prop --ip_range 192.168.251.5-192.168.251.17 --vlan 709 # Удаление VLAN у всех IP-адресов из подсети 10.20.31.0/24 fdpi_ctrl del --ip_prop --cidr 10.20.31.0/24 --vlan # Удаление всех IP-адресов подсети 10.20.32.0/24 из UDR fdpi_ctrl clear --ip_prop --cidr 10.20.32.0/24
Замечание: массовая замена MAC-адресов невозможна, так как MAC-адрес - уникальны для каждого IP.
Иногда возникает необходимость в ручной установке/сбросе статуса авторизации абонента. Это возможно сделать с помощью утилиты fdpi_ctrl
:
Установка статуса авторизации "авторизован" (аналог Access-Accept):
fdpi_ctrl load --auth=1 --ip=192.168.10.1
Аналог для IPv6:
fdpi_ctrl load --auth=1 --ip=2001:dead::/64
Установка статуса авторизации "неавторизован" (аналог Access-Reject):
fdpi_ctrl load --auth=0 --ip=192.168.10.1
Аналог для IPv6:
fdpi_ctrl load --auth=0 --ip=2001:dead::/64
Просмотр текущего статуса авторизации абонента:
fdpi_ctrl list --auth --ip=192.168.10.1 fdpi_ctrl list --auth --ip=2001:dead::/64
Для сброса текущего статуса авторизации абонента служит команда:
fdpi_ctrl del --auth --ip=192.168.10.1 fdpi_ctrl del --auth --ip=2001:dead::/64
После сброса статуса первый же пакет от абонента приведет к запросу авторизации через Radius-сервер.
При установке статуса авторизации можно указать время (в секундах), в течение которого будет действовать данный статус:
# Установка статуса авторизации "авторизован" на 10 минут fdpi_ctrl load --auth=1 --ip=192.168.10.1 --timeout=600
По умолчанию время жизни авторизации задается параметром auth_expired_timeout
.