В этой статье мы рассмотрим настройку MPLS (Multiprotocol Label Switching) на примере коммутатора SNR-S4650X-48FQ, но она подходит также и для других коммутаторов ядра SNR . Данный коммутатор построен на современном высокопроизводительном чипсете Trident2, со встроенной поддержкой MPLS. Коммутатор имеет 48 портов 1/10G SFP+, 6 портов 40G QSFP+ и может применяться на уровне агрегации или ядра сети. SNR-S4650X-48FQ поддерживает MPLS L3VPN, VPLS (Martini mode), VPWS, настройку данного функционала мы и рассмотрим.
Настройка базового MPLS
Схема сети:
Конфигурация коммутатора PE1
Включаем MPLS глобально
mpls enable
Включаем MPLS на интерфейсе
interface Vlan100 mtu 2000 label-switching ldp enable ip address 10.0.101.1 255.255.255.252 !
Создаем Loopback интерфейс
interface Loopback1 ip address 1.1.1.1 255.255.255.255 !
Настраиваем IGP маршрутизацию
router ospf 1 ospf router-id 1.1.1.1 network 10.0.101.0 0.0.0.3 area 0 redistribute connected !
Настраиваем LDP
router ldp router-id 1.1.1.1 transport-address 1.1.1.1
Коммутатор PE2 настраиваем аналогичным образом.
Проверяем, что MPLS между коммутаторами поднялся:
PE1#sh mpls forwarding-table Codes: > — selected FTN, B — BGP FTN, C — CR-LDP FTN, K — CLI FTN, L — LDP FTN, R — RSVP-TE FTN, S — SNMP FTN, U — unknown FTN Code FEC FTN-ID Pri Nexthop Out-Label Out-Intf L> 10.0.101.0/30 1 Yes 0.0.0.0 3 Vlan100 L> 2.2.2.2/32 2 Yes 10.0.101.2 3 Vlan100
Важно
Чипсет коммутатора поддерживает только режим implicit null
Настройка L3VPN
Создаем VRF test1
ip vrf test1 rd 100:1 route-target both 100:1
Для тестов создадим loopback интерфейс в vrf test1
interface Loopback2 ip vrf forwarding test1 ip address 192.168.100.1 255.255.255.255
Настраиваем BGP сессию с MPLS коммутатором PE2
router bgp 65534 redistribute connected redistribute static neighbor 2.2.2.2 remote-as 65534 neighbor 2.2.2.2 update-source 1.1.1.1 address-family vpnv4 unicast neighbor 2.2.2.2 activate exit-address-family address-family ipv4 vrf test1 redistribute connected redistribute static exit-address-family
Чтобы иметь возможность пинговать локальные интерфейсы, в нашем примере loopback2 в VFR test1, введем специальную команду
mpls local-packet-handling
Коммутатор PE2 настраиваем аналогичным образом, только на интерфейсе Lo2 повесим адрес 192.168.200.1/32.
Проверяем, что все работает:
PE1#sh ip route vrf test1 Codes: K — kernel, C — connected, S — static, R — RIP, B — BGP O — OSPF, IA — OSPF inter area N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2 E1 — OSPF external type 1, E2 — OSPF external type 2 i — IS-IS, L1 — IS-IS level-1, L2 — IS-IS level-2, ia — IS-IS inter area * — candidate default C 192.168.100.1/32 is directly connected, Loopback2 tag:0 B 192.168.200.1/32 [200/0] via 2.2.2.2 00:00:07 tag:0
Настройка VPWS (Virtual Private Wire Service)
Создаем pw-class и l2-vc с указанием IP адреса PE на другой стороне VPN
pw-class c1 l2-vc 2.2.2.2 pw-id 100 pw-class c1
Привязываем l2-vc к физическому интерфейсу, указывая VLAN, трафик из которого будет направляться в VPN
Interface Ethernet1/0/33 xconnect l2-vc pw-id 100 mode vlan svid 25
Коммутатор PE2 настраиваем аналогично
Проверяем состояние PseudoWire
PE1#sh mpls l2-vc 100 VC ID State Type In Label Out Label Endpoint 100 Up Ethernet VLAN 12160 1920 2.2.2.2
Настройка VPLS (Virtual Private Lan Service)
Создаем pw-class и VFI с указанием остальных PE данного VPLS домена
pw-class c2 vfi v1 200 peer 2.2.2.2 pw-id 200 pw-class c2
Применяем на физическом интерфейсе, с указанием тега VLAN
Interface Ethernet1/0/34 xconnect vfi 200 mode vlan svid 35
Аналогичные настройки производим с другой стороны VPN
Проверяем состояние VPLS
PE1#show vpls Name VPLS-ID VPLS-MTU Type Peers State v1 200 1500 Ethernet VLAN 1 Active