Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

В этой статье будет рассмотрен пример настройки DMVPN между устройствами Eltex серии ESR и Huawei линейки Access Routers (AR), где в качестве Hub используется маршрутизатор AR , а в качестве Spoke - маршрутизаторы ESR и AR.

Характеристики стенда:

  • DMVPN Phase 3
    • mtu - 1400

      • adjust-mss 1360

    • время регистрации ( в том числе повторной ) - 180 с

    • время жизни NHRP-регистрации о регистрации на удалённом соседе - 540 с

    • Защищённость с помощью IPSec

  • eBGP (Spoke - в одной AS, Hub - в другой) в качестве протокола маршрутизации DMVPN Cloud

  • Front-door VRF

  • IKE:

    • Алгоритм аутентификации: SHA2-256

    • Алгоритм шифрования: AES-256

    • Метод аутентификации: по ключам

    • Группа Дифи-Хеллмана: 19

    • Механизм dead-peer-detection

      • Действие при срабатывании: clear

      • Интервал проверки: 10 с

      • Базовый таймаут ожидания ответа: 5 с

      • Количество попыток: 2

  •  IPsec :
    • Алгоритм аутентификации SHA2-256
    • Алгоритм шифрования: AES-256
    • Тип организации соединения:  Транспортный

Схема:

Цель:

Установить сетевую связность между LAN-подсетями, расположенными за Spoke-устройствами.В данном примере устройство модели ESR выступаетв роли Spoke-1, аAR - в роли Spoke-2 и Hub. Каждый из Spoke будет анонсировать свою LAN-сеть Hub-устройству. Hub анонсирует каждому Spoke маршрут по умолчанию.

Решение:

Настройка ESR Spoke-1:

Базовые сервисы

Создадим VRF для front-door схемы и настроим интерфейсы. Интерфейс gigabitethernet 1/0/1 выступает в роли WAN, терминируя линковочную подсеть 203.0.113.0/24 к интернет-провайдеру. Он должен находиться в отдельном пространстве маршрутизации. Саб-интерфейс gigabitethernet 1/0/2.100 в данном примере выступает в роли  LAN-сегмента сети 172.16.0.0/24, доступный через VLAN 100:

...

Блок кода
ip route vrf ISP 0.0.0.0/0 203.0.113.1
mGRE

Выполним настройку GRE-интерфейса: зададим значение key, TTL, MTU и TCP Adjust-MSS для оптимальной работы сервисов:

...

Настройка mGRE туннеля завершена.

IPSec

Для обеспечения защищённости канала настроим параметры IPSec-соединения и начнём с первой файзы.  Для установления IKE-связности зададим обозначенные в условиях задачи алгоритмы аутентификации SHA-256 и шифрования - AES256. Для обеспечения надёжности шифрования IKE-соединения будем использовать алгоритмы Диффи-Хеллмана из 19-ой группы:

...

Блок кода
security ipsec vpn spokes
  type transport
  ip vrf forwarding ISP
  ike establish-tunnel route
  ike gateway Spokes
  ike ipsec-policy pol1
  enable
exit
Routing

Для корректного анонсирования connected-сетей из LAN-сегмента используем route-map, в котором опишем необходимый префикс:

...

Настройка ESR Spoke завершена.

Настройка AR Hub:

Базовые сервисы

Как и в случае с ESR Spoke, необходимо настроить базовые функции маршрутизатора - hostname, vpn-instance (VRF), сетевых интерфейсов и маршут к ISP:

...

Порядок конфигурирования сервисов в операционной системе AR отличен от ESR, поэтому следующим шагом будет настройка IPSec-соединения.

IPSec

Активируем совместимость работы алгоритмов аутентификации IPSec на основе SHA2 с ESR :

...

Настройка IPSec завершена.

mGRE

Сначала выполним настройку основных параметров GRE-туннеля. Зададим значения MTU и TCP adjust-MSS раные 1400 и 1360 соответственно для корректной работы сервисов:

...

Настройка mGRE туннеля завершена.

Routing

Выполним настройку BGP. Hub будет функционировать в автономной системе 65001, поэтому создадим процесс маршрутизации BGP с таким номером:

...

Настройка AR Hub завершена.

Настройка AR Spoke-2:

Базовые сервисы

Настроим базовые функции маршрутизатора - hostname, vpn-instance (VRF), сетевых интерфейсов к LAN и WAN сгементам, а так же маршут к ISP. WAN-интерфейсом будет GigabitEthernet0/0/0, а LAN-сегмент будет доступен на маршрутизаторе через интерфейс GigabitEthernet0/0/2 с VLAN tag 200:

Блок кода
#
 sysname ar-Spoke-2 
#
ip vpn-instance ISP
 ipv4-family
#
interface GigabitEthernet0/0/0
 ip binding vpn-instance ISP
 ip address 198.18.0.10 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface GigabitEthernet0/0/2.200
 dot1q termination vid 200
 ip address 172.16.254.1 255.255.255.0
#
ip route-static vpn-instance ISP 0.0.0.0 0.0.0.0 198.18.0.1
#
IPSec

Как и в случае с AR Hub, активируем совместимость работы алгоритмов аутентификации IPSec на основе SHA2 с ESR :

...

Настройка IPSec завершена.

mGRE

Сначала выполним настройку основных параметров GRE-туннеля. Зададим значения MTU и TCP adjust-MSS раные 1400 и 1360 соответственно для корректной работы сервисов:

...

Настройка mGRE туннеля завершена.

Routing

Выполним настройку BGP. Hub будет функционировать в автономной системе 65001, поэтому создадим процесс маршрутизации BGP с таким номером:

...

Настройка AR Spoke-2 завершена.

Диагностика:

Сначала удостоверимся,что на Hub установились IPsec-туннели  до обоих Spoke. В отличии от ESR, в синтаксисе AR нет необходимости указавать параметр vrf <VRF_NAME> для указания пространства маршрутизации:

...

Блок кода
titleAR Spoke-2
collapsetrue
[ar-Spoke-2]display ike sa remote 203.0.113.10
 Conn-ID    Peer                                          VPN              Flag(s)               Phase  RemoteType  RemoteID        
------------------------------------------------------------------------------------------------------------------------------------
 4381       203.0.113.10/500                              ISP              RD|ST|M               v2:2   IP          203.0.113.10    
 4380       203.0.113.10/500                              ISP              RD|ST|M               v2:1   IP          203.0.113.10    

  Number of IKE SA : 2
------------------------------------------------------------------------------------------------------------------------------------

 Flag Description:
 RD--READY   ST--STAYALIVE   RL--REPLACED   FD--FADING   TO--TIMEOUT
 HRT--HEARTBEAT   LKG--LAST KNOWN GOOD SEQ NO.   BCK--BACKED UP
 M--ACTIVE   S--STANDBY   A--ALONE  NEG--NEGOTIATING

[ar-Spoke-2]display ipsec sa remote 203.0.113.10

ipsec sa information:

===============================
Interface: Tunnel0/0/1
===============================

  -----------------------------
  IPSec profile name: "dmvpn"
  Mode              : PROF-ISAKMP
  -----------------------------
    Connection ID     : 4381
    Encapsulation mode: Transport
    Holding time      : 0d 0h 27m 34s
    Tunnel local      : 198.18.0.10/500
    Tunnel remote     : 203.0.113.10/500
    Flow source       : 198.18.0.10/255.255.255.255 47/0-65535
    Flow destination  : 203.0.113.10/255.255.255.255 47/0-65535
    Flow vpn          : ISP

    [Outbound ESP SAs] 
      SPI: 3325670054 (0xc639b2a6)
      Proposal: ESP-ENCRYPT-AES-256 ESP-AUTH-SHA2-256-128
      SA remaining soft duration (kilobytes/sec): 1343519/7691
      SA remaining hard duration (kilobytes/sec): 1841183/11147
      Outpacket count       : 1663
      Outpacket encap count : 1663
      Outpacket drop count  : 0
      Max sent sequence-number: 1663
      UDP encapsulation used for NAT traversal: N

    [Inbound ESP SAs] 
      SPI: 2212992 (0x21c480)
      Proposal: ESP-ENCRYPT-AES-256 ESP-AUTH-SHA2-256-128
      SA remaining soft duration (kilobytes/sec): 1361960/7819
      SA remaining hard duration (kilobytes/sec): 1841192/11147
      Inpacket count        : 1643
      Inpacket decap count  : 1643
      Inpacket drop count   : 0
      Max received sequence-number: 1643
      UDP encapsulation used for NAT traversal: N
      Anti-replay : Enable
      Anti-replay window size: 1024

[ar-Spoke-2]display nhrp peer dynamic 
---------------------------------------------------------------------------------- 
Protocol-addr   Mask  NBMA-addr       NextHop-addr    Type            Flag         
---------------------------------------------------------------------------------- 
10.0.2.10       32    203.0.113.10    10.0.2.10       remote          up           
---------------------------------------------------------------------------------- 
Tunnel interface: Tunnel0/0/1
Created time    : 00:13:01
Expire time     : 00:02:03
---------------------------------------------------------------------------------- 
Protocol-addr   Mask  NBMA-addr       NextHop-addr    Type            Flag         
---------------------------------------------------------------------------------- 
172.16.254.200  24    198.18.0.10     10.0.2.20       local           up           
---------------------------------------------------------------------------------- 
Tunnel interface: Tunnel0/0/1
Created time    : 00:13:01
Expire time     : 00:02:03
---------------------------------------------------------------------------------- 
Protocol-addr   Mask  NBMA-addr       NextHop-addr    Type            Flag         
---------------------------------------------------------------------------------- 
172.16.0.200    24    203.0.113.10    10.0.2.10       remote-network  up           
---------------------------------------------------------------------------------- 
Tunnel interface: Tunnel0/0/1
Created time    : 00:02:51
Expire time     : 00:02:09

Number of nhrp peers: 3

Приложение А. Конфигурация устройств.

Блок кода
titleESR Spoke-1
collapsetrue
hostname ESR-Spoke-1
 
ip vrf ISP
exit
 
 
route-map LAN_nets
  rule 1
    match ip address 172.16.0.0/24
  exit
exit
 
router bgp log-neighbor-changes
 
router bgp 65002
  router-id 10.2.0.10
  neighbor 10.0.2.1
    remote-as 65001
    update-source gre 1
    address-family ipv4 unicast
      route-map LAN_nets out
      enable
    exit
    enable
  exit
  address-family ipv4 unicast
    redistribute connected route-map LAN_nets
  exit
  enable
exit
 
interface gigabitethernet 1/0/1
  ip vrf forwarding ISP
  ip firewall disable
  ip address 203.0.113.10/24
exit
interface gigabitethernet 1/0/2.100
  ip firewall disable
  ip address 172.16.0.1/24
exit
 
tunnel gre 1
  key 1001
  ttl 255
  mtu 1400
  multipoint
  ip firewall disable
  tunnel-source vrf ISP
  local address 203.0.113.10
  ip address 10.0.2.10/24
  ip tcp adjust-mss 1360
  ip nhrp holding-time 300
  ip nhrp shortcut
  ip nhrp map 10.0.2.1 192.0.2.10
  ip nhrp nhs 10.0.2.1
  ip nhrp ipsec Hub_Cloud_1 static
  ip nhrp ipsec spokes dynamic
  ip nhrp multicast nhs
  ip nhrp enable
  enable
exit
 
security ike proposal prop1
  authentication algorithm sha2-256
  encryption algorithm aes256
  dh-group 19
exit
 
security ike policy pol1
  pre-shared-key ascii-text encrypted B9B81768A85D18A965
  proposal prop1
exit
 
security ike gateway Hub
  version v2-only
  ike-policy pol1
  local address 203.0.113.10
  local network 203.0.113.10/32 protocol gre
  remote address 192.0.2.10
  remote network 192.0.2.10/32 protocol gre
  mode policy-based
  mobike disable
  dead-peer-detection action clear
  dead-peer-detection interval 10
  dead-peer-detection retransmit timeout 5
  dead-peer-detection retransmit tries 2
exit
 
security ike gateway Spokes
  version v2-only
  ike-policy pol1
  local address 203.0.113.10
  local network 203.0.113.10/32 protocol gre
  remote address any
  remote network any protocol gre
  mode policy-based
  mobike disable
  dead-peer-detection action clear
  dead-peer-detection interval 10
  dead-peer-detection retransmit timeout 5
  dead-peer-detection retransmit tries 2
exit
 
security ipsec proposal prop1
  authentication algorithm sha2-256
  encryption algorithm aes256
exit
 
security ipsec policy pol1
  proposal prop1
exit
 
security ipsec vpn Hub
  type transport
  ip vrf forwarding ISP
  ike establish-tunnel route
  ike gateway Hub
  ike ipsec-policy pol1
  enable
exit
 
security ipsec vpn spokes
  type transport
  ip vrf forwarding ISP
  ike establish-tunnel route
  ike gateway Spokes
  ike ipsec-policy pol1
  enable
exit
 
ip route vrf ISP 0.0.0.0/0 203.0.113.1
Блок кода
titleAR Spoke-2
collapsetrue
#
 sysname ar-Spoke-2
#
 ipsec authentication sha2 compatible enable
#
ipsec sa global-duration time-based 10800
ipsec invalid-spi-recovery enable
#
ip vpn-instance ISP
 ipv4-family
#
ipsec proposal prop1
 encapsulation-mode transport
 esp authentication-algorithm sha2-256
 esp encryption-algorithm aes-256
#
ike proposal 1
 encryption-algorithm aes-256
 dh group19
 authentication-algorithm sha2-256
 authentication-method pre-share
 integrity-algorithm hmac-sha2-256
 prf hmac-sha2-256
#
ike peer dmvpn
 pre-shared-key cipher %^%#|~\f>5J63Hm*}y:A8`mHfydGD`rkF/rv7&N"QUmT%^%#
 ike-proposal 1
 dpd type periodic
 dpd idle-time 40
 dpd retransmit-interval 10
 rsa encryption-padding oaep
 rsa signature-padding pss
 ikev2 authentication sign-hash sha2-256
#
ipsec profile dmvpn
 ike-peer dmvpn
 proposal prop1
 sa duration time-based 10800
#
interface GigabitEthernet0/0/0
 ip binding vpn-instance ISP
 ip address 198.18.0.10 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface GigabitEthernet0/0/2.200
 dot1q termination vid 200
 ip address 172.16.254.1 255.255.255.0
#
interface Tunnel0/0/1
 mtu 1400
 tcp adjust-mss 1360
 ip address 10.0.2.20 255.255.255.0
 tunnel-protocol gre p2mp
 source vpn-instance ISP 198.18.0.10
 gre key cipher %^%#Btj9K_(dn~[PJ,;mUv[={[E8Cx(fF5C!Ik.S["uC%^%#
 ipsec profile dmvpn
 nhrp shortcut
 nhrp registration no-unique
 nhrp registration interval 100
 nhrp entry holdtime seconds 300
 nhrp entry 10.0.2.1 192.0.2.10 register
#
bgp 65002
 router-id 10.2.0.20
 peer 10.0.2.1 as-number 65001
 peer 10.0.2.1 connect-interface Tunnel0/0/1
 #
 ipv4-family unicast
  undo synchronization
  network 172.16.254.0 255.255.255.0
  peer 10.0.2.1 enable
#
ip route-static vpn-instance ISP 0.0.0.0 0.0.0.0 198.18.0.1
#
return
Блок кода
titleAR Hub
collapsetrue
#
 sysname ar-Hub
#
 ipsec authentication sha2 compatible enable
#
ipsec sa global-duration time-based 10800
ipsec invalid-spi-recovery enable
#
ip vpn-instance ISP
 ipv4-family
#
ipsec proposal prop1
 encapsulation-mode transport
 esp authentication-algorithm sha2-256
 esp encryption-algorithm aes-256
#
ike proposal 1
 encryption-algorithm aes-256
 dh group19
 authentication-algorithm sha2-256
 authentication-method pre-share
 integrity-algorithm hmac-sha2-256
 prf hmac-sha2-256
#
ike peer dmvpn
 pre-shared-key cipher %^%#|~\f>5J63Hm*}y:A8`mHfydGD`rkF/rv7&N"QUmT%^%#
 ike-proposal 1
 dpd type periodic
 dpd idle-time 40
 dpd retransmit-interval 10
 rsa encryption-padding oaep
 rsa signature-padding pss
 ikev2 authentication sign-hash sha2-256
#
ipsec profile dmvpn
 ike-peer dmvpn
 proposal prop1
 sa duration time-based 10800
#
interface GigabitEthernet0/0/0
 ip binding vpn-instance ISP
 ip address 198.51.100.10 255.255.255.0
#
interface Tunnel0/0/1
 mtu 1400
 tcp adjust-mss 1360
 ip address 10.0.2.1 255.255.255.0
 tunnel-protocol gre p2mp
 source vpn-instance ISP 198.51.100.10
 gre key cipher %^%#GXwI);@{KFc.M/#M*Sr"zP'&7>t:)&N1A9.Bv~5C%^%#
 ipsec profile dmvpn
 nhrp redirect
 nhrp entry multicast dynamic
#
bgp 65001
 router-id 10.2.0.1
 group DMVPN_cloud external
 peer DMVPN_cloud as-number 65002
 peer DMVPN_cloud connect-interface Tunnel0/0/1
 peer DMVPN_cloud listen-net 10.0.2.0 24
 #
 ipv4-family unicast
  undo synchronization
  peer DMVPN_cloud enable
  peer DMVPN_cloud default-route-advertise route-policy 1
#
route-policy 1 permit node 10
#
ip route-static vpn-instance ISP 0.0.0.0 0.0.0.0 198.51.100.1
#
return