Задача:

Для решения данной задачи потребуется настроить следующее:

Схема:

!
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

Решение:

Настройка на ESR

Создадим 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

Настройка на Сisco

Создаем 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