Настройка VPWS

Базовая настройка VPWS включает в себя настройку граничных (Label Edge Router, LER) и промежуточных (Label Switch Router, LSR) маршрутизаторов сети.

Пример настройки LSR. Создание loopback интерфейса.

ecorouter(config)#interface loopback.<number>
ecorouter(config-if)#ip address <address/mask>

Переход в режим настройки протокола LDP.

ecorouter(config)#router ldp

Определение транспортного адреса маршрутизатора.

ecorouter(config-router)#transport-address ipv4 <ip-address>

Включение LDP и функции работы с метками на интерфейсах.

ecorouter(config-if)#ldp enable ipv4
ecorouter(config-if)#label-switching

Пример настройки LER.

Создание loopback интерфейса.

ecorouter(config)#interface loopback.<number>
ecorouter(config-if)#ip address <address/mask>

Переход в режим настройки протокола LDP. ecorouter(config)#router ldp
Определение транспортного адреса маршрутизатора. ecorouter(config-router)#transport-address ipv4 <ip-address>

Определение целевого маршрутизатора. Где в качестве <ip-address> указывается сетевой адрес пограничного маршрутизатора, до которого будет построен псевдопровод (PseudoWire). ecorouter(config-router)#targeted-peer ipv4 <ip-address>.

Включение ldp и функции работы с метками на интерфейсах.

ecorouter(config-if)#ldp enable ipv4
ecorouter(config-if)#label-switching

Псевдопровод конфигурируется в зависимости от типа создаваемой схемы.

Создание Pseudowire type 5: Ethernet Raw Mode.

l2vpn-vpws <name>
 signaling ldp
 neighbor <ip-address>
  vc-id <Identifying value>
  exit-vpws-neighbor
 no shutdown

Где в качестве <name> задаётся идентификационное имя соединения, <Identifying value> — идентификационный номер псевдопровода (должен быть идентичен на обоих концах), <ip-address> — адрес граничного маршрутизатора на противоположном конце псевдопровода.

Создание l2-circuit type 4: Ethernet Tagged Mode.

l2vpn-vpws <name>
 signaling ldp
 neighbor <ip-address>
  vc-id <Identifying value>
  exit-vpws-neighbor
 mode tagged svlan <SVLAN-ID> tpid [8100 | 88a8 | 9100]
 no shutdown

Где в качестве <name> задаётся идентификационное имя соединения, <Identifying value> — идентификационный номер псевдопровода (должен быть идентичен на обоих концах), <ip-address> — адрес граничного маршрутизатора на противоположном конце псевдопровода, <SVLAN-ID> — номер виртуальной сети, значения при tpid (Tag Protocol Identifier):

  • 8100 (стандартное значение) — указывает на наличие VLAN тега;
  • 0x88a8 — указывает на наличие второго тега Q-in-Q, Service VLAN;
  • 0x9100 — некоторые проприетарные реализации Q-in-Q.

Привязка созданной l2-circuit к порту.

ecorouter(config)#port ge2
ecorouter(config-port)#service-instance ge2/e2
ecorouter(config-service-instance)#encapsulation <tag/untag>
ecorouter(config-service-instance)#mpls-l2-circuit <name>

Где в зависимости от типа псевдопровода (4 или 5) указывается тегированный или нетегированный трафик, параметр name — имя ранее созданного псевдопровода.

Просмотр состояния l2-circuit. Где name — имя ранее созданного псевдопровода. ecorouter#show mpls l2-circuit <name>

Гибкая настройка различных операций с VLAN-тегами на service-instance позволяет передавать пакет через псевдопровод, предварительно проделав эти операции с VLAN-тегами. При этом используется тип инкапсуляции 5 (Ethernet Tagged Mode).

Поддерживаются следующие операции:

Снять обе метки с пакета перед отправкой в MPLS-туннель:

l2vpn-vpws pop_pop
 signaling ldp
 neighbor 2.2.2.2
  vc-id 20
  exit-vpws-neighbor
 mode raw
 no shutdown
 
port te1
 service-instance pop_pop
 encapsulation dot1q 40 second-dot1q 90
 rewrite pop 2
 mpls-l2-circuit pop_pop primary

Снять внешнюю метку с пакета с двумя метками, перед отправкой в MPLS-туннель:

l2vpn-vpws pop_sv
 signaling ldp
 neighbor 2.2.2.2
  vc-id 30
  exit-vpws-neighbor
 mode tagged svlan 77 tpid 8100
 no shutdown
 
port te1
 service-instance pop_sv
 encapsulation dot1q 40 second-dot1q 77
 rewrite pop 1
 mpls-l2-circuit pop_sv_any_cv primary

Cнять внешнюю метку и заменить внутреннюю на произвольную перед отправкой в MPLS-туннель:

l2vpn-vpws pop_swap
 signaling ldp
 neighbor 2.2.2.2
  vc-id 40
  exit-vpws-neighbor
 mode tagged svlan 77 tpid 8100
 no shutdown
 
port te1
 service-instance pop_swap
  encapsulation dot1q 40 second-dot1q 90
  rewrite translate 2-to-1 77
  mpls-l2-circuit pop_swap primary

Добавить внешнюю метку перед отправкой в MPLS-туннель:

l2vpn-vpws push_sv
 signaling ldp
 neighbor 2.2.2.2
  vc-id 50
  exit-vpws-neighbor
 mode tagged svlan 77 tpid 88a8
 no shutdown
 
port te1
 service-instance push_sv
  encapsulation dot1q 60 exact
  rewrite push 77
  mpls-l2-circuit push_sv primary

Добавить две метки перед отправкой в MPLS-туннель:

l2vpn-vpws push_two
 signaling ldp
 neighbor 2.2.2.2
  vc-id 60
  exit-vpws-neighbor
 mode tagged svlan 77 tpid 88a8
 no shutdown
 
port te1
 service-instance push_two
 encapsulation untagged
 rewrite push 77 88
 mpls-l2-circuit push_two primary

Заменить внешнюю метку перед отправкой в MPLS-туннель:

l2vpn-vpws swap_sv
 signaling ldp
 neighbor 2.2.2.2
  vc-id 70
  exit-vpws-neighbor
 mode tagged svlan 77 tpid 88a8
 no shutdown
 
port te1
 service-instance swap_sv
 encapsulation dot1q 40 second-dot1q 90
 rewrite translate 1-to-1 77
 mpls-l2-circuit push_two primary

Заменить обе метки перед отправкой в MPLS-туннель:

l2vpn-vpws swap_swap
 signaling ldp
 neighbor 2.2.2.2
  vc-id 80
  exit-vpws-neighbor
 mode tagged svlan 77 tpid 88a8
 no shutdown
 
port te1
 service-instance swap_swap
 encapsulation dot1q 40 second-dot1q 90
 rewrite translate 2-to-2 77 88
 mpls-l2-circuit swap_swap primary

Заменить внутреннюю метку и добавить внешнюю перед отправкой в MPLS-туннель:

l2vpn-vpws swap_swap
 signaling ldp
 neighbor 2.2.2.2
  vc-id 90
  exit-vpws-neighbor
 mode tagged svlan 77 tpid 88a8
 no shutdown
 
port te1
 service-instance swap_push
 encapsulation dot1q 60 exact
 rewrite translate 1-to-2 77 88
 mpls-l2-circuit swap_push primary

Пример настройки VPWS

Постройте схему в соответствии с рисунком ниже:

Рисунок

На R1 настройте маршрутизацию, порты и интерфейсы:

enable
configure
hostname R1
 
router isis 1
 net 10.0000.0000.0001.00
 
router ldp
 transport-address ipv4 1.1.1.1
 
interface loopback.0
 ip address 1.1.1.1/32
 ip router isis 1
 
interface 2ge1
 ip address 10.0.12.1/24
 ip router isis 1
 label-switching
 ldp enable ipv4
 
port ge1
 service-instance 4ge1
  encapsulation untagged
  connect ip interface 2ge1 
  exit

По аналогии с R1 настройте R2, R3 и R4. Используйте данные со схемы и следующие сетевые NSAP адреса для протокола ISIS:

  • R2: 10.0000.0000.0002.00
  • R3: 10.0000.0000.0003.00
  • R4: 10.0000.0000.0004.00

Обратите внимание, что на каждом интерфейсе каждого маршрутизатора включён режим коммутации по меткам (label-switching) и протокол LDP (ldp enable ipv4), а также подключена маршрутизация ISIS (ip router isis 1).

На PC1 и PC2 зеркально настройте IP-адрес и шлюз по умолчанию:

  • PC1> ip 192.168.0.1/24 192.168.0.2
  • PC2> ip 192.168.0.2/24 192.168.0.1

После произведённых настроек между маршрутизаторами появится IP-связность и коммутация по меткам (в пакеты добавлен заголовок MPLS — назначены метки).

На R1 настройте L2VPN VPWS (Virtual Private Wire Service):

l2vpn-vpws CIR
 signaling ldp
 neighbor 4.4.4.4
  vc-id 127
  exit-vpws-neighbor
 no shutdown

Настройте удалённое целевое соседство:

router ldp
 targeted-peer ipv4 4.4.4.4

Подключите сервис L2VPN VPWS к сервисному интерфейсу:

port ge3
 service-instance 4ge3
  encapsulation untagged
  l2vpn-vpws CIR primary

Аналогично R1 настройте R4. Вместо адреса целевого соседа 4.4.4.4 используйте адрес 1.1.1.1.

Проверьте на PC1 пинг в сторону PC2: ping PC1 ping 192.168.0.2.

Обратите внимание что для соединения R1 и R2 с PC1 и PC2 не настроен IP-адрес и интерфейс. Связность происходит на L2-уровне. PC1 и PC2 взаимодействуют как два напрямую соединённых устройства.

В программе перехвата трафика вы можете увидеть, как к изначальному Ethernet-кадру добавлены заголовки MPLS, и далее кадр снова инкапсулирован в Ethernet-кадр для передачи по условной сети провайдера.

Дополните схему в соответствии с рисунком ниже: > [!picture] Рисунок

Настройте коммутаторы SW1, SW2, SW3, SW4 так, чтобы каждый порт e0 каждого коммутатора имел тип access и соответствующий тег VLAN (100 для SW2 и SW3; 200 для SW1, SW4), а порт e1 имел тип dot1q и тег VLAN 1. Таким образом кадры на выходе из SW1 и SW4 получат внутреннюю метку 100 и внешнюю 200.

Переконфигурируйте R1

# Настройки на порте
port ge3
service-instance 4ge3
# Временное отключение псевдопровод от порта
no l2vpn-vpws CIR primary
# Установка входящей инкапсуляции
encapsulation dot1q 200 second-dot1q 100
# Настройка операцию с метками
rewrite translate 2-to-1 77
exit
 
# Настройка псевдопровода тип 4 Tagged Mode
l2vpn-vpws CIR
mode tagged svlan 77 tpid 8100
 
# Повторное подключение псевдопроводу к порту
port ge3
service-instance 4ge3
l2vpn-vpws CIR primary

Аналогичным образом настройте R4.

Напомним, что правила тегирования на портах работают зеркально в зависимости от того приходит ли кадр извне через порт на интерфейс или уходит через интерфейс на порт наружу.

На R1 проверьте ping в сторону R4: ping 192.168.0.2.

В программе перехвата трафика вы можете проверить на различных подключениях наличие и значения тегов VLAN.