Терминация трафика

Активация

FastDPI BRAS может терминировать исходящий трафик LAN→WAN и приземлять входящий WAN→LAN.

Терминация трафика производится на уровне L2, включается настройками в fastdpi.conf:

bras_terminate_l2=1
bras_gateway_ip=192.168.0.1
bras_gateway_mac=aa:bb:cc:dd:ee:ff

Значения bras_terminate_l2:

1 - включено

0 - выключено

При включенном режиме L2-терминации должны быть заданы параметры бордера/шлюза за fastDPI:

bras_gateway_ip - IP-адрес шлюза

bras_gateway_mac - MAC-адрес шлюза

При включенной L2-терминации во всех исходящих пакетах в заголовке L2 будет проставлено: srcMAC=bras_arp_mac, dstMAC=bras_gateway_macВо входящих (из inet) пакетах: srcMAC=bras_arp_mac, dstMAC=MAC-адрес абонента. MAC-адрес абонента определяется по его IP; если определить невозможно - пакет отбрасывается.

Работа с VLAN-тэгами

Также терминация подразумевает удаление VLAN-тегов из исходящего пакета, приземление (origination) – добавление VLAN-тегов, соответствующих IP-адресу получателя.

Включение режима терминации VLAN-трафика производится конфигурационным параметром bras_vlan_terminate. Если его значение 0 (это значение по умолчанию) – VLAN-терминация отключена, если не ноль – терминация включена. Существует следующие режимы VLAN-терминации:

bras_vlan_terminate=1 – “честная” терминация – VLAN-теги вырезаются из пакетов

bras_vlan_terminate=2 – подмена VLAN-тегов

bras_vlan_terminate=3 – трансформация VLAN-тегов (СКАТ версии 7.4 и выше)

Режимы L2-терминации и VLAN-терминации могут применяться независимо друг от друга.

Имеется возможность указать для конкретного абонента, в какой VLAN терминировать его пакеты на пути subs→inet. Для этого в ответе авторизации Access-Accept нужно добавить VSA-атрибут VasExperts-OutVLAN, задающий VLAN-тег (только один). VSA-атрибут VasExperts-OutVLAN имеет следующее задание:

ATTRIBUTE VasExperts-OutVLAN 9 integer

Если абонент имеет свойство outVLAN, оно имеет наивысший приоритет в режимах bras_vlan_terminate 2 и 3.

СКАТ 7.4+: добавлен режим терминации по AS: в этом режиме терминация производится только если AS для source IP помечена как term. Для входящего трафика приземление (оригинация) производится только если AS для dest IP (серый, после NAT) помечена как term.
СКАТ 9.3+: нюансы совместимости терминации VLAN с трансляцией VLAN смотрите здесь

Терминация при L3 авторизации

В СКАТ 9.2 появилась возможность указать при L3-авторизации, что абонент является на самом деле L2-абонентом и к нему применима L2-терминация. Для этого в ответе Access-Accept L3-авторизации указывается VSA-атрибут

VasExperts-L2-User=1

В этом случае СКАТ сохранит в UDR L2-свойства абонента (его MAC, VLAN'ы) из входящего пакета и будет обрабатывать данного абонента как L2, - проводить терминацию и приземление его трафика.

Атрибут VasExperts-L2-User=1 имеет смысл только для L3-авторизации. Для всех других типов авторизации (DHCP, ARP, PPPoE и пр.) этот атрибут игнорируется, его наличие не считается ошибкой.

В выводе команды fdpi_ctrl list --ip_prop такие абоненты будут помечаться особым типом "L3-auth". Если абонент уже авторизован по DHCP, ARP или PPPoE, указание VasExperts-L2-User=1 не меняет тип его сессии на "L3-auth", то есть тип "L3-auth" является наименее приоритетным.

Если абонент в UDR СКАТа является "L3-auth", то есть в ответе L3-авторизации Access-Accept ранее было указано VasExperts-L2-User=1, а при следующей L3-авторизации ответ не содержит этого атрибута, то СКАТ считает, что абонент перестал быть терминируемым и удаляет из UDR его L2-свойства (MAC, VLAN).

Терминация PPPoE-трафика

Для корректной терминации должен быть установлен параметр bras_terminate_l2=1.

При работе СКАТ в режиме PPPoE-сервера (bras_pppoe_enable=1) производятся следующие манипуляции с PPPoE-пакетами:

в направлении LAN → WAN: из пакета удаляются PPPoE/PPP заголовки, srcMAC := bras_arp_mac, dstMAC := bras_gateway_mac

в направлении WAN → LAN: в пакет добавляются PPPoE/PPP заголовки, srcMAC := bras_arp_mac, dstMAC := MAC-адрес абонента. Если PPPoE сессия не найдена по IP, пакет дропается.

Все возможности по терминации трафика поддерживаются, включая VLAN/QinQ теги в PPPoE-трафике и их терминацию.

Режим терминации по AS к PPPoE-трафику не применим, так как в PPPoE-пакетах не всегда есть IP-адрес, поэтому определить AS в общем случае невозможно.