В этой статье мы рассмотрим настройку 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 на интерфейсе
Code Block |
---|
|
interface Vlan100
mtu 2000
label-switching
ldp enable
ip address 10.0.101.1 255.255.255.252
! |
Создаем Loopback интерфейс
Code Block |
---|
|
interface Loopback1
ip address 1.1.1.1 255.255.255.255
! |
Настраиваем IGP маршрутизацию
Code Block |
---|
|
router ospf 1
ospf router-id 1.1.1.1
network 10.0.101.0 0.0.0.3 area 0
redistribute connected
! |
Настраиваем LDP
Code Block |
---|
|
router ldp
router-id 1.1.1.1
transport-address 1.1.1.1 |
Коммутатор PE2 настраиваем аналогичным образом.
Проверяем, что MPLS между коммутаторами поднялся:
Code Block |
---|
|
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 |
Note |
---|
|
Чипсет коммутатора поддерживает только режим implicit null |
Настройка L3VPN
Создаем VRF test1
Code Block |
---|
|
ip vrf test1
rd 100:1
route-target both 100:1 |
Для тестов создадим loopback интерфейс в vrf test1
Code Block |
---|
|
interface Loopback2
ip vrf forwarding test1
ip address 192.168.100.1 255.255.255.255 |
Настраиваем BGP сессию с MPLS коммутатором PE2
Code Block |
---|
|
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, введем специальную команду
Code Block |
---|
|
mpls local-packet-handling |
Коммутатор PE2 настраиваем аналогичным образом, только на интерфейсе Lo2 повесим адрес 192.168.200.1/32.
Проверяем, что все работает:
Code Block |
---|
|
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
Code Block |
---|
|
pw-class c1
l2-vc 2.2.2.2 pw-id 100 pw-class c1 |
Привязываем l2-vc к физическому интерфейсу, указывая VLAN, трафик из которого будет направляться в VPN
Code Block |
---|
|
Interface Ethernet1/0/33
xconnect l2-vc pw-id 100 mode vlan svid 25 |
Коммутатор PE2 настраиваем аналогично
Проверяем состояние PseudoWire
Code Block |
---|
|
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 домена
Code Block |
---|
|
pw-class c2
vfi v1 200
peer 2.2.2.2 pw-id 200 pw-class c2 |
Применяем на физическом интерфейсе, с указанием тега VLAN
Code Block |
---|
|
Interface Ethernet1/0/34
xconnect vfi 200 mode vlan svid 35 |
Аналогичные настройки производим с другой стороны VPN
Проверяем состояние VPLS
Code Block |
---|
|
PE1#show vpls
Name VPLS-ID VPLS-MTU Type Peers State
v1 200 1500 Ethernet VLAN 1 Active |