
! interface GigabitEthernet1 ip address 203.0.113.1 255.255.255.252 negotiation auto no keepalive no mop enabled no mop sysid ! interface GigabitEthernet4 no ip address negotiation auto no mop enabled no mop sysid ! interface GigabitEthernet4.100 encapsulation dot1Q 100 ! ip route 0.0.0.0 0.0.0.0 203.0.113.2 |
interface gigabitethernet 1/0/1 description "to_isp" ip firewall disable ip address 198.51.100.1/30 exit interface gigabitethernet 1/0/4.100 bridge-group 100 exit ip route 0.0.0.0/0 198.51.100.2 |
Создадим bridge:
esr(config)# bridge 100 esr(config-bridge)# no spanning-tree esr(config-bridge)# enable esr(config-bridge)# exit |
Создадим туннель:
esr# configure esr(config)# tunnel l2tpv3 100 |
Укажем локальный и удаленный шлюз (IP-адреса интерфейсов, граничащих с WAN):
esr(config-l2tpv3)# local address 198.51.100.1 esr(config-l2tpv3)# remote address 203.0.113.1 |
Укажем тип инкапсулирующего протокола и идентификаторы сессии внутри туннеля для локальной и удаленной сторон:
esr(config-l2tpv3)# protocol ip esr(config-l2tpv3)# local session-id 200 esr(config-l2tpv3)# remote session-id 100 |
Установим принадлежность L2TPv3-туннеля к мосту, который должен быть связан с LAN сетью и включим туннель:
esr(config-l2tpv3)# bridge-group 100 esr(config-l2tpv3)# enable esr(config-l2tpv3)# exit |
Создаем L2TP Class и Pseudowire Class:
Обратите внимание на команду "interworking ethernet" она нужна для того чтобы в l2tpv3 туннель трафик передавался без тэга. Если ее не применить, то со стороны Eltex трафик будет без Vlan, а со стороны Cisco трафик будет с Vlan. |
Router#config Router(config)#l2tp-class l2tpv3 Router(config-l2tp-class)#pseudowire-class l2tpv3 Router(config-pw-class)# encapsulation l2tpv3 Router(config-pw-class)# interworking ethernet Router(config-pw-class)# protocol none Router(config-pw-class)# ip local interface GigabitEthernet1 |
Настроим сам туннель:
Дело в том, что по умолчанию оборудование Cisco не добавляет заголовок L2 sublayer к туннельным пакетам, тогда как ESR ожидает его наличия согласно RFC 3931. В отсутствие этого заголовка ESR интерпретирует нулевой cookie как L2-Specific Sublayer с установленным S-битом в 0 (что означает игнорирование номера последовательности) и отвечает аналогичным образом. Cisco, в свою очередь, воспринимает этот ответ как пакет с нулевым cookie. При такой конфигурации туннель успешно функционирует. Если попытаться настроить cookie вручную как на стороне ESR, так и на Cisco, туннель не устанавливается. Причина в том, что ESR требует указания cookie в шестнадцатеричном формате, тогда как Cisco ожидает значение в десятичном. Даже при корректном переводе десятичного значения из настройки Cisco в hex и его прописывании на ESR согласование не происходит — туннель остаётся неработоспособным. В связи с этим наиболее стабильное решение — оставить значение cookie равным 0 на стороне Cisco, что позволяет туннелю работать. |
Router(config)#interface GigabitEthernet4.100 Router(config-subif)# encapsulation dot1Q 100 Router(config-subif)#xconnect 198.51.100.1 100 encapsulation l2tpv3 manual pw-class l2tpv3 Router(config-subif-xconn)# l2tp id 100 200 Router(config-subif-xconn)# l2tp cookie local 4 0 Router(config-subif-xconn)# l2tp cookie remote 4 0 |
На ESR:
esr# show tunnels status l2tpv3
Tunnel Admin Link MTU Local IP Remote IP Last change
state state (d,h:m:s)
---------------- ----- ----- ------ ---------------- ---------------- -------------
l2tpv3 100 Up Up 1500 198.51.100.1 203.0.113.1 00,00:26:08
esr# show mac address-table bridge 100
VID MAC Address Interface Type
----- ------------------ ------------------------------ -------
-- 50:b3:0f:04:a2:00 gigabitethernet 1/0/4.100 Dynamic
-- 50:c8:ab:04:b6:00 l2tpv3 100 Dynamic
2 valid mac entries
esr# monitor l2tpv3 100 packets 4
03:09:09.153686 50:b3:0f:04:a2:00 > 50:c8:ab:04:b6:00, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 40715, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.0.1 > 10.0.0.2: ICMP echo request, id 47739, seq 4274, length 64
03:09:09.156046 50:c8:ab:04:b6:00 > 50:b3:0f:04:a2:00, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 39992, offset 0, flags [none], proto ICMP (1), length 84)
10.0.0.2 > 10.0.0.1: ICMP echo reply, id 47739, seq 4274, length 64
03:09:09.634476 50:c8:ab:04:b6:00 > 50:b3:0f:04:a2:00, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 40427, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.0.2 > 10.0.0.1: ICMP echo request, id 37117, seq 235, length 64
03:09:09.636519 50:b3:0f:04:a2:00 > 50:c8:ab:04:b6:00, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 40822, offset 0, flags [none], proto ICMP (1), length 84)
10.0.0.1 > 10.0.0.2: ICMP echo reply, id 37117, seq 235, length 64
4 packets captured
4 packets received by filter
0 packets dropped by kernel
На Cisco:
Router#show xconnect all
Legend: XC ST=Xconnect State S1=Segment1 State S2=Segment2 State
UP=Up DN=Down AD=Admin Down IA=Inactive
SB=Standby HS=Hot Standby RV=Recovering NH=No Hardware
XC ST Segment 1 S1 Segment 2 S2
------+---------------------------------+--+---------------------------------+--
UP pri ac Gi4.100:100(Eth VLAN) UP l2tp 198.51.100.1:100 UP |
vlan 100 exit bridge 100 no spanning-tree enable exit interface gigabitethernet 1/0/1 description "to_isp" ip firewall disable ip address 198.51.100.1/30 exit interface gigabitethernet 1/0/4.100 bridge-group 100 exit tunnel l2tpv3 100 protocol ip local session-id 200 remote session-id 100 bridge-group 100 local address 198.51.100.1 remote address 203.0.113.1 enable exit ip route 0.0.0.0/0 198.51.100.2 |
l2tp-class l2tpv3 ! pseudowire-class l2tpv3 encapsulation l2tpv3 interworking ethernet protocol none ip local interface GigabitEthernet1 ! interface GigabitEthernet1 ip address 203.0.113.1 255.255.255.252 negotiation auto no keepalive no mop enabled no mop sysid ! interface GigabitEthernet4 no ip address negotiation auto no mop enabled no mop sysid ! interface GigabitEthernet4.100 encapsulation dot1Q 100 xconnect 198.51.100.1 100 encapsulation l2tpv3 manual pw-class l2tpv3 l2tp id 100 200 l2tp cookie local 4 0 l2tp cookie remote 4 0 ! ip route 0.0.0.0 0.0.0.0 203.0.113.2 |
При создании данной статьи использовалась информация из: https://eltexcm.ru/baza-znanij/esr/primer-nastrojki/tunnelirovanie/remote-access/nastrojka-l2tpv3-tunnelya-mezhdu-esr-i-cisco.html