...
В этой статье будет рассмотрен пример настройки 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> для указания пространства маршрутизации:
...
| Блок кода | ||||
|---|---|---|---|---|
| ||||
[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 |
Приложение А. Конфигурация устройств.
| Блок кода | ||||
|---|---|---|---|---|
| ||||
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 |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
#
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 |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
#
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 |
