Настройка QFX5100 802.1Q Tunneling (Q-in-Q)

Я настрою несколько интерфейсов vlan на маршрутизаторах MX104 (Mars и Jupiter) и установлю IP-соединение между этими интерфейсами.
Начнем с настройки QFX5100. Чтобы создать dot1q-туннель между двумя портами в примере, я начал с инкапсуляции интерфейсов.
set interfaces xe-0/0/46 vlan-tagging set interfaces xe-0/0/46 encapsulation extended-vlan-bridge set interfaces xe-0/0/47 vlan-tagging set interfaces xe-0/0/47 encapsulation extended-vlan-bridge
set interfaces xe-0/0/46 unit 10 input-vlan-map push set interfaces xe-0/0/46 unit 10 input-vlan-map vlan-id 10 set interfaces xe-0/0/46 unit 10 output-vlan-map pop set interfaces xe-0/0/47 unit 10 input-vlan-map push set interfaces xe-0/0/47 unit 10 input-vlan-map vlan-id 10 set interfaces xe-0/0/47 unit 10 output-vlan-map pop
После этого нам нужно определить, какие вланы разрешены в «туннеле». Начнем с vlan 1500:
set interfaces xe-0/0/46 unit 10 vlan-id-list 1500 set interfaces xe-0/0/47 unit 10 vlan-id-list 1500
Последнее, что нам нужно настроить, это dot1q vlan (это нужно настроить без тега):
set vlans Q-in-Q interface xe-0/0/46.10 set vlans Q-in-Q interface xe-0/0/47.10
Полная конфигурация dot1q-туннеля на QFX5100 в итоге будет выглядеть так:
set interfaces xe-0/0/46 description MX104-MARS_xe-1/2/0 set interfaces xe-0/0/46 vlan-tagging set interfaces xe-0/0/46 encapsulation extended-vlan-bridge set interfaces xe-0/0/46 unit 10 vlan-id-list 1500 set interfaces xe-0/0/46 unit 10 input-vlan-map push set interfaces xe-0/0/46 unit 10 input-vlan-map vlan-id 10 set interfaces xe-0/0/46 unit 10 output-vlan-map pop set interfaces xe-0/0/47 description MX104-JUPITER_xe-1/3/0 set interfaces xe-0/0/47 vlan-tagging set interfaces xe-0/0/47 encapsulation extended-vlan-bridge set interfaces xe-0/0/47 unit 10 vlan-id-list 1500 set interfaces xe-0/0/47 unit 10 input-vlan-map push set interfaces xe-0/0/47 unit 10 input-vlan-map vlan-id 10 set interfaces xe-0/0/47 unit 10 output-vlan-map pop set vlans Q-in-Q interface xe-0/0/46.10 set vlans Q-in-Q interface xe-0/0/47.10
Применив конфигурацию, переходим к MX-роутерам и настраиваем сабинтерфейс с vlan-id 1500.
Mars:
set interfaces xe-1/2/0 description QFX5100-xe-0/0/46 set interfaces xe-1/2/0 flexible-vlan-tagging set interfaces xe-1/2/0 encapsulation flexible-ethernet-services set interfaces xe-1/2/0 unit 1500 vlan-id 1500 set interfaces xe-1/2/0 unit 1500 family inet address 192.168.1.1/24
Jupiter:
set interfaces xe-1/3/0 description QFX5100-xe-0/0/47 set interfaces xe-1/3/0 flexible-vlan-tagging set interfaces xe-1/3/0 encapsulation flexible-ethernet-services set interfaces xe-1/3/0 unit 1500 vlan-id 1500 set interfaces xe-1/3/0 unit 1500 family inet address 192.168.1.2/24
После завершения настройки и когда мы начнем отправлять трафик с маршрутизатора Mars на маршрутизатор Jupiter, произойдет следующее:

QFX будет передавать vlan-id 10 при входе, а тег извлекается (удаляется) при выходе. Давайте проверим связь между маршрутизаторами:
play@MX104-TEST-HB:Mars> ping 192.168.1.2 size 1472 do-not-fragment PING 192.168.1.2 (192.168.1.2): 1472 data bytes 1480 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=1.066 ms 1480 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=1.001 ms ^C --- 192.168.1.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.001/1.034/1.066/0.032 ms play@MX104-TEST-HB:Mars> show arp no-resolve | match 192.168.1.2 cc:e1:7f:7a:d4:a0 192.168.1.2 xe-1/2/0.1500 none
На QFX мы видим следующее:
play@QFX5100-play> show ethernet-switching table
MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static
SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC)
Ethernet switching table : 2 entries, 2 learned
Routing instance : default-switch
Vlan MAC MAC Age Logical
name address flags interface
Q-in-Q cc:e1:7f:7a:d3:f7 D - xe-0/0/46.10
Q-in-Q cc:e1:7f:7a:d4:a0 D - xe-0/0/47.10
В текущей конфигурации QFX не волнует, сколько тегов MX прикрепляет к пакету. Чтобы проверить это, давайте добавим vlan 1000 в список разрешенных vlan на QFX и заставим MX отправлять пакеты с двумя тегами по этому каналу.
Jupiter:
set interfaces xe-1/3/0 unit 1000 vlan-tags outer 1000 set interfaces xe-1/3/0 unit 1000 vlan-tags inner 2500 set interfaces xe-1/3/0 unit 1000 family inet address 10.0.0.1/24
On Mars:
set interfaces xe-1/2/0 unit 1000 vlan-tags outer 1000 set interfaces xe-1/2/0 unit 1000 vlan-tags inner 2500 set interfaces xe-1/2/0 unit 1000 family inet address 10.0.0.2/24
On the QFX:
set interfaces xe-0/0/46 unit 10 vlan-id-list 1000 set interfaces xe-0/0/47 unit 10 vlan-id-list 1000
Эта последняя команда только добавит vlan в список vlan-id-list, она не удалит ранее настроенный vlan:
play@QFX5100-play> show configuration interfaces xe-0/0/47
description MX104-JUPITER_xe-1/3/0;
vlan-tagging;
encapsulation extended-vlan-bridge;
unit 10 {
vlan-id-list [ 1000 1500 ];
input-vlan-map {
push;
vlan-id 10;
}
output-vlan-map pop;
}
После применения всей конфигурации мы можем наблюдать следующее:
play@MX104-TEST-HB:Jupiter> show interfaces xe-1/3/0.1000
Logical interface xe-1/3/0.1000 (Index 462) (SNMP ifIndex 656)
Flags: SNMP-Traps 0x0 VLAN-Tag [ 0x8100.1000 0x8100.2500 ] Encapsulation: ENET2
Input packets : 24
Output packets: 35
Protocol inet, MTU: 1500
Flags: Sendbcast-pkt-to-re
Addresses, Flags: Is-Preferred Is-Primary
Destination: 10.0.0/24, Local: 10.0.0.1, Broadcast: 10.0.0.255
Protocol multiservice, MTU: Unlimited
play@MX104-TEST-HB:Jupiter> ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=64 time=0.643 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.593 ms
^C
--- 10.0.0.2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.593/0.618/0.643/0.025 ms
set ethernet-switching-options dot1q-tunneling ether-type 0x8100 set vlans example vlan-id 2000 set vlans example dot1q-tunneling customer-vlans 1-4094
И применим его к интерфейсу:
set interfaces ge-0/1/3 unit 0 family ethernet-switching port-mode trunk set interfaces ge-0/1/3 unit 0 family ethernet-switching vlan members 2000
set vlans example dot1q-tunneling layer2-protocol-tunneling all
Для туннелирования протоколов уровня 2 на QFX находится в разделе конфигурации [protocols layer2-control]. Похоже, это не работает с представленной здесь конфигурацией QFX. Он работает на интерфейсах с включенным семейством etherswitching. К сожалению, мне не удалось заставить dot1q-tunneling работать с семейством etherswitching, включенным на интерфейсе.




Comments
So empty here ... leave a comment!