IPv6 Provider Edge или 6PE - это технология позволяющая организовать связность между IPv6 клиентами через IPv4-ядро сети.
В данной статье разберем конфигурацию 6PE на маршрутизаторах ME, а так же обеспечим связности между двумя CE - устройствами.
Дизайн сети:
1) Сконфигурируем IGP и MPLS на маршрутизаторах ядра и настроим интерфейсы на CE - устройствах.
interface loopback 1 ipv4 address 1.1.1.1/32 exit interface tengigabitethernet 0/0/17 description R17 ipv4 address 172.2.0.2/30 exit interface tengigabitethernet 0/0/4 <---------- Порт в сторону IPv6 клиента description CE_Eltex ipv6 address 2001:db8:0:45::4/64 load-interval 20 exit router ospfv2 ospf area 0.0.0.0 interface loopback 1 passive exit interface tengigabitethernet 0/0/17 network point-to-point exit exit router-id 1.1.1.1 exit mpls forwarding interface loopback 1 interface tengigabitethernet 0/0/4 <------ порт в сторону IPv6-клиента необходимо указывать в блоке "mpls forwarding" interface tengigabitethernet 0/0/17 exit ldp discovery interface tengigabitethernet 0/0/17 bfd fast-detect exit exit exit
Виду аппаратных особенностей, в конфигурационном блоке "mpls forwarding" необходимо указать порт в сторону IPv6 клиента. Это необходимо, чтобы пакеты с данного порта учавствовали в MPLS-коммутации.
interface loopback 1 ipv4 address 17.17.17.17/32 exit interface tengigabitethernet 0/3/6 description R6 ipv4 address 172.2.0.5/30 exit interface tengigabitethernet 0/3/1 description R1 ipv4 address 172.2.0.1/30 exit router ospfv2 ospf area 0.0.0.0 interface loopback 1 passive exit interface tengigabitethernet 0/3/1 network point-to-point exit interface tengigabitethernet 0/3/6 network point-to-point exit exit router-id 17.17.17.17 exit mpls forwarding interface loopback 1 interface tengigabitethernet 0/3/1 interface tengigabitethernet 0/3/6 exit ldp discovery interface tengigabitethernet 0/3/1 exit discovery interface tengigabitethernet 0/3/6 exit exit exit
interface loopback 1 ipv4 address 6.6.6.6/32 exit interface tengigabitethernet 0/0/1 description R17 ipv4 address 172.2.0.6/30 exit interface tengigabitethernet 0/0/2.2100 <------ саб-интерфейс в сторону IPv6-клиента description Ce_Cisco encapsulation outer-vid 2100 ipv6 address 2001:db8:0:12::2/64 exit router ospfv2 ospf area 0.0.0.0 interface loopback 1 passive exit interface tengigabitethernet 0/0/1 network point-to-point exit exit router-id 6.6.6.6 exit mpls forwarding interface loopback 1 interface tengigabitethernet 0/0/1 interface tengigabitethernet 0/0/2.2100 <------ саб-интерфейс в сторону IPv6-клиента необходимо указывать в блоке "mpls forwarding" exit ldp discovery interface tengigabitethernet 0/0/1 exit exit exit
interface loopback 1 ipv6 address 2001:db8:1:1::2/128 exit interface tengigabitethernet 0/0/1 description R1 ipv6 address 2001:db8:0:45::5/64 load-interval 20 exit
interface Loopback1 ipv6 address 2001:db8:1:1::1/128 ! interface GigabitEthernet0/0/0/0.2100 description R6 ipv6 address 2001:db8:0:12::1/64 encapsulation dot1q 2100 !
2) Далее сконфигурируем AFI/SAFI BGP LU и BGP IPv6 Unicast на маршрутизаторах:
Из-за особенностей реализации BGP labeled Unicast в RIB устанавливаются пришедшие маршруты с длиной префикса */32 для IPv4 и */128 для IPv6.
router bgp 234 bgp router-id 1.1.1.1 neighbor 2001:db8:0:45::5 address-family ipv6 unicast exit remote-as 1 send-community send-community-ext exit neighbor 6.6.6.6 address-family ipv6 labeled exit remote-as 234 send-community send-community-ext update-source 1.1.1.1
router bgp 234 bgp router-id 6.6.6.6 neighbor 1.1.1.1 address-family ipv6 labeled exit remote-as 234 send-community send-community-ext update-source 6.6.6.6 exit neighbor 2001:db8:0:12::1 address-family ipv6 unicast exit remote-as 2 send-community send-community-ext
Важно заметить, что сейчас мы имеем 2 изолированные RIB таблицы для BGP IPv6 Unicast и BGP LU. Соответственно, для обеспечения связности нам необходимо добавить правила редистрибьюции на R1 и R6 для передачи BGP LU префиксов в BGP IPv6 Unicast, а так же обратные правила.
router bgp 234 address-family ipv6 labeled redistribution bgp CE_Loopback <---------- Правило редистрибьюции для передачи BGP IPv6 Unicast префикса в RIB BGP LU match prefix 2001:db8:1:1::2/128 exit exit address-family ipv6 unicast redistribution bgp-labeled CE_loopback <---------- Правило редистрибьюции для передачи BGP LU префикса в RIB BGP IPv6 Unicast match prefix 2001:db8:1:1::1/128
router bgp 234 address-family ipv6 labeled redistribution bgp CE_Loopback <---------- Правило редистрибьюции для передачи BGP IPv6 Unicast префикса в RIB BGP LU match prefix 2001:db8:1:1::1/128 exit exit address-family ipv6 unicast redistribution bgp-labeled CE_loopback <---------- Правило редистрибьюции для передачи BGP LU префикса в RIB BGP IPv6 Unicast match prefix 2001:db8:1:1::2/128 exit exit
router bgp 1 address-family ipv6 unicast network 2001:db8:1:1::2/128 exit bgp router-id 4.4.4.4 neighbor 2001:db8:0:45::4 address-family ipv6 unicast exit remote-as 234 send-community-ext exit exit
route-policy any pass # enables all routes end-policy ! router bgp 2 bgp router-id 11.11.11.11 bgp log neighbor changes detail address-family ipv6 unicast network 2001:db8:1:1::1/128 ! neighbor 2001:db8:0:12::2 remote-as 234 address-family ipv6 unicast route-policy any in route-policy any out
После всех настроек, в качестве примера, проверим на R1 обмениваются ли маршрутизаторы по MP-BGP какими-либо префиксами:
0/ME5100:R1# show bgp ipv6 all Wed May 17 03:38:54 2023 BGP router identifier 1.1.1.1, local AS number 234 Graceful Restart is disabled BGP table state: active BGP scan interval: 120 secs Status codes: d damped, h history, > best, b backup, S stale, * active, u untracked, i internal Origin codes: i igp, e egp, ? incomplete IPv6 Unicast prefix table: Network Next hop Metric LocPrf Weight Path ------------------------------------------------- ---------------------------------------- ------- ------- ------- ----- > 2001:db8:1:1::1/128 ::ffff:6.6.6.6 0 100 32768 2 i *> 2001:db8:1:1::2/128 2001:db8:0:45::5 0 100 0 1 i Total entries: 2 IPv6 Labeled prefix table: Network Next hop Metric LocPrf Weight Path ------------------------------------------------- ---------------------------------------- ------- ------- ------- ----- *>i 2001:db8:1:1::1/128 ::ffff:6.6.6.6 0 100 0 2 i > 2001:db8:1:1::2/128 0 100 0 1 i
На R1 мы видим, что префикс 2001:db8:1:1::1/128 изучен от соседа R6, а 2001:db8:1:1::2/128 от IPv6-клиента CE_Eltex.
Так же мы можем посмотреть на выделенные метки для префиксов:
0/ME5100:R1# show bgp ipv6 labeled prefix 2001:db8:1:1::1/128 Wed May 17 03:49:20 2023 BGP router identifier 1.1.1.1, local AS number 234 BGP routing table entry for 2001:db8:1:1::1/128 Path #0 AS path: 2 Label: 17 (bottom) <------ выделенная метка для префикса 2001:db8:1:1::1/128 ::ffff:6.6.6.6 from 6.6.6.6 (6.6.6.6) Origin igp, metric 0, local-pref 100, weight 0, active, internal, best Address family: ipv6/labeled NLRI pathID: 0 Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent Is not stale, is not history Route flap penalty: 0, flap count 0, is not suppressed Route flap time left: 00:00:00, time start: never Route is not ECMP 0/ME5100:R1# show bgp ipv6 labeled prefix 2001:db8:1:1::2/128 Wed May 17 03:49:24 2023 BGP router identifier 1.1.1.1, local AS number 234 BGP routing table entry for 2001:db8:1:1::2/128 Path #0 AS path: 1 Label: 17 (bottom) <------ выделенная метка для префикса 2001:db8:1:1::2/128 none from afm (0.0.0.0) Origin igp, metric 0, local-pref 100, weight 0, inactive, best Address family: ipv6/labeled NLRI pathID: 0 Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent Is not stale, is not history Route flap penalty: 0, flap count 0, is not suppressed Route flap time left: 00:00:00, time start: never Route is not ECMP
Следующим шагом, проверим на CE_Eltex таблицу маршрутизации и таблицу l3forwarding:
0/ME5200:CE_Eltex# show bgp ipv6 unicast Wed May 17 03:42:53 2023 BGP router identifier 4.4.4.4, local AS number 1 Graceful Restart is disabled BGP table state: active BGP scan interval: 120 secs Status codes: d damped, h history, > best, b backup, S stale, * active, u untracked, i internal Origin codes: i igp, e egp, ? incomplete Network Next hop Metric LocPrf Weight Path ------------------------------------------------- ---------------------------------------- ------- ------- ------- ----- *> 2001:db8:1:1::1/128 2001:db8:0:45::4 0 100 0 234 2 i > 2001:db8:1:1::2/128 0 100 32768 i Total entries: 2 0/ME5200:R4_# 0/ME5200:CE_Eltex# show l3forwarding Wed May 17 03:43:27 2023 Prefix Nexthop Outgoing label Interface ---------------------------------------------- ------------------------------------------- ------------------ ---------- 2001:db8:0:45::/64 attached -- te0/0/1 2001:db8:0:45::5/128 receive -- te0/0/1 2001:db8:1:1::1/128 2001:db8:0:45::4 -- te0/0/1 2001:db8:1:1::2/128 receive -- lo1 fe80::e2d9:e3ff:feff:4701/128 receive --
Проверим связность между устройствами:
0/ME5200:CE_Eltex# ping 2001:db8:1:1::1 source 2001:db8:1:1::2 Wed May 17 03:44:48 2023 Sending 4, 56-byte ICMP Echos to 2001:db8:1:1::1, request send interval is 0.100 seconds, response wait timeout is 2.000 seconds: !!!!
Таким образом, мы организовали связность между IPv6-клиентами поверх IPv4 ядра сети.