Это старая версия документа!
Поддержка IPv6
L2 BRAS поддерживает выдачу IPv6-адресов stateful DHCPv6. В этом режиме IPv6-адрес абонентам выдается через DHCPv6. Автоматическое назначение IPv6-адресов (SLAAC/stateless DHCPv6) не поддерживается.
Концептуально схема работы выглядит так:
- абонентский CPE ищет в сети IPv6-роутер с помощью ICMPv6. СКАТ анонсирует себя как IPv6-роутер, указывая, что для получения IPv6-адреса следует использовать DHCPv6;
- CPE посылает DHCPv6-запрос получения IPv6-адреса;
- СКАТ перехватывает все DHCPv6-запросы абонентов и обрабатывает их, тем самым фактически выступая как DHCPv6-сервер. Если абонент СКАТу неизвестен или его сессия истекла, DHCPv6-запрос транслируется в Радиус через PCRF;
- PCRF получает ответ от Радиуса, содержащий, помимо прочих параметров, выданный абоненту IPv6-префикс и, если требуется, PD-префикс (prefix delegation), и транслирует этот ответ обрабно СКАТу;
- Получив от PCRF данные, СКАТ посылает DHCPv6-ответ абоненту. СКАТ выдает один IPv6-адрес из выданного абоненту IPv6-префикса, а PD-префикс (если есть) передается абоненту полностью. Несмотря на то, что из IPv6-префикса выдается только один адрес, все IPv6-адреса этого префикса трактуются как адреса, принадлежащие этому абоненту. На самом деле абонент может запросить несколько IPv6-адресов, - все они будут выданы из предоставленного IPv6-префикса.
ipv6_subnetwork
.
Если абоненту выдается и IPv6-префикс, и PD-префикс, то такой абонент обязательно должен быть помечен как multi-bind, так как с таким абонентом связано два IPv6-префикса; в ответе Радиуса должен быть атрибут VasExperts-Multi-IP-User=1
.
Включение IPv6 BRAS
Режим IPv6 BRAS включается автоматически, если в fastdpi.conf задано
ipv6=1 bras_enable=1
Можно принудительно отключить IPv6 BRAS, указав в fastdpi.conf
bras_ipv6=0
Параметр bras_ipv6 является наполовину горячим: его можно отключить (bras_ipv6=0
) без рестарта СКАТа.
Режим обработки DHCPv6-запросов включается автоматически, если включен IPv6 BRAS. Можно принудительно запретить обработку DHCPv6 и ICMPv6 Router Solicitation, задав в fastdpi.conf
bras_dhcp6_mode=0
Дополнительно в fastdpi.conf могут быть заданы следующие параметры:
♦ bras_ipv6_link_local
- link-local (из FE80::/10) адрес СКАТ. Если данный параметр не задан, link-local адрес вычисляется автоматически из bras_arp_mac. СКАТ всегда имеет link-local адрес.
♦ bras_ipv6_address
- задает глобальный IPv6-адрес СКАТа. Глобальный адрес может быть полезен, например, для пингования СКАТа со стороны абонента. Если данный параметр не задан, СКАТ не имеет глобального IPv6-адреса.
Интеграция с Радиус-сервером
Пример запроса Access-Request на выдачу IPv6-префиксов абоненту:
Packet-Type = Access-Request User-Name = "1106.106" Calling-Station-Id = "a0:b1:c2:d3:00:6a" Acct-Session-Id = "03119DF4AAB8E41D" NAS-Identifier = "FastPCRF" NAS-Port-Type = Virtual NAS-Port-Id = "1106/106" NAS-IP-Address = 188.227.73.40 VasExperts-Service-Type = DHCPv6 VasExperts-DHCPv6-Request = Solicit VasExperts-DHCPv6-Delegated = 1 VasExperts-DHCP-ClientId = 0x00010001237d47fca0b1c2d3006a
В этом примере идентификатором абонента служит QinQ, запрос инициирован DHCPv6-пакетом Solicit (VasExperts-Service-Type = DHCPv6
, VasExperts-DHCPv6-Request = Solicit
), абонент запрашивает в том числе PD-префикс (VasExperts-DHCPv6-Delegated = 1
).
VasExperts-DHCPv6-Delegated
не следует: даже если абонент не запрашивает PD-префикс, Радиус может выдать абоненту PD-префикс, СКАТ запомнит его и если CPE в будущем запросит PD-префикс, СКАТ возвратит ранее выданный абоненту PD
Пример ответа:
Packet-Type = Access-Accept User-Name="abonent-106" VasExperts-Multi-IP-User = 1 Framed-IPv6-Prefix = 2001:cafe:32:106::/64 Delegated-IPv6-Prefix = 2001:de1e:32:106::/64 DNS-Server-IPv6-Address = 2001:feac::1 DNS-Server-IPv6-Address = 2001:feac::2 Session-Timeout = 7200 Idle-Timeout = 600 VasExperts-Policing-Profile = "rate_100M" VasExperts-Service-Profile = "1:test1" VasExperts-Enable-Service = "9:on" VasExperts-Enable-Service = "12:on"
Здесь абоненту выдается два разных префикса:
Framed-IPv6-Prefix = 2001:cafe:32:106::/64
- из этого диапазона СКАТ будет выдавать IPv6-адреса абонентуDelegated-IPv6-Prefix = 2001:de1e:32:106::/64
- это delegated prefix передается CPE абонента (если, конечно, CPE запросит PD)
Следует обратить внимание на следующее:
- в IPv6 адрес всегда должен быть связан с логином. Логин выступает как уникальный идентификатор абонента, с которым может быть связано множество IPv4-адресов и IPv6-префиксов. Логин абонента задается в ответе
Access-Accept
в атрибутеUser-Name
илиVasExperts-UserName
. - Если абоненту предоставляется несколько IPv6-префиксов (как в данном примере - IPv6-префикс и PD-префикс), такой абонент обязательно должен быть помечен как multi-bind (атрибут
VasExperts-Multi-IP-User = 1
).
Атрибут Session-Timeout
задает время сессии СКАТа (оно же - время accounting-сессии): в течение этого времени все DHCPv6-запросы от данного клиента СКАТ будет обрабатывать самостоятельно, возвращая ранее выданные Радиусом параметры. По прошествии Session-Timeout
секунд текущая accounting-сессия закрывается и DHCPv6-запрос вновь транслируется в Радиус Access-Request. Если атрибута Session-Timeout
нет в ответе Радиуса, он полагается равным fastdpi.conf-параметру auth_expired_timeout.
Время лизинга IPv6-префиксов задается fastdpi.conf-параметрами bras_dhcp6_preferred_lifetime и bras_dhcp6_valid_lifetime. Можно задавать время лизинга индивидуально для каждого абонента с помощью Радиус-атрибута DHCP-IP-Address-Lease-Time
: этот атрибут задает preferred lifetime, valid lifetime полагается в два раза большим.
Дополнительные DHCPv6-опции могут быть заданы специальными VasExperts VSA атрибутами.