Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Текущий »

Схема:


Задача

Настроить DMVPN с аутентификацией IPsec-соединения по сертификатом согласно схеме. Firewall отключен.

Используемые алгоритмы для IKE SA:

1) IKE version: 1
2) Authentication algorithm: sha2-256
3) Encryption algorithm: aes256cbc
4) DH-group 19

Используемые алгоритмы для IPse SA:
1) Authentication algorithm: sha2-256
2) Encryption algorithm: aes256cbc
3) pfs dh-group 19
4) Protocol: ESP

1. Загрузка сертификатов на маршрутизатора ESR

Для настройки аутентификации IPsec по сертификатам, предварительно необходимо загрузить сертификаты на ESR. Пример загрузки сертификатов для SPOKE-1 через TFTP-сервер:

SPOKE-1#  copy tftp://198.51.100.1:/cert_for_dmvpn/dmvpn_ca.crt crypto:cert/dmvpn_ca.crt
|******************************************| 100% (2390B) Crypto file loaded successfully!

SPOKE-1#  copy tftp://198.51.100.1:/cert_for_dmvpn/spoke1.crt crypto:cert/spoke1.crt
|******************************************| 100% (2057B) Crypto file loaded successfully!  

SPOKE-1#  copy tftp://198.51.100.1:/cert_for_dmvpn/spoke1.key crypto:private-key/spoke1.key
|******************************************| 100% (1704B) Crypto file loaded successfully!  

Проверка наличия загруженных сертификатов: 

SPOKE-1# dir crypto:cert/
Name                                                         Type         Size            Last modified               
----------------------------------------------------------   ----------   --------   --   -------------------------   
dmvpn_ca.crt                                                 File         2.33       KB   Thu Aug  6 13:32:09 2020
   
spoke1.crt                                                   File         2.01       KB   Thu Aug  6 13:32:20 2020

SPOKE-1# dir crypto:private-key/
Name                                                         Type         Size            Last modified               
----------------------------------------------------------   ----------   --------   --   -------------------------   
spoke1.key                                                   File         1.66       KB   Thu Aug  6 13:32:22 2020

Для HUB и SPOKE-2 сертификаты загружаются аналогичным образом.

Пример генерации сертификатов содержится в статье https://docs.eltex-co.ru/pages/viewpage.action?pageId=368082978

2. Корректировка времени на маршрутизаторе ESR

При использовании сертификатов важно иметь корректноe время на маршрутизаторе ESR, поскольку сертификаты выписываются на определенный момент времени.

Проверить текущее вермя маршрутизатора есть возможнос с помощью команды:

SPOKE-1# show date 
"Wednesday 09:51:20 UTC August 07 2024"

Для корректировки времени на мрашрутизаторе ESR есть возможность:

1) Синхронизировать маршрутизатор ESR с внешним NTP-сервером. Более подробная настройка NTP содержится в Руководстве по эксплуатации. Пример минимальной конфигурации:

SPOKE-1# configure
SPOKE-1(config)# ntp server 198.51.100.2
SPOKE-1(config-ntp-server)# exit 
SPOKE-1(config)# ntp enable

2) Указать время в CLI с помощью команды:

SPOKE-1# set date 10:04:00 7 august 2024
2024-08-07T10:03:21+00:00 %TIME-I-INFO: System time was changed by user admin
Wed Aug  7 10:04:00 UTC 2024

3. Конфигурации маршрутизаторов

Поэтапная конфигурация DMVPN содержится в Руководстве по эксплуатации (пункт Настройка DMVPN). В текущей статье будут приведены примеры конфигурации DMVPN с аутентификацией IPsec-соединения по сертификатам.

1) Этап аутентификации IPsec-содениния по сертификатам настраивается в  security ike policy <NAME>
ESR# configure 
ESR(config)# security ike policy ike_policy 
ESR(config-ike-policy)# crypto ?
  ca             Configure Certification authority certificate
  crl            Configure certificate revocation list
  local-crt      Configure local certificate
  local-crt-key  Configure local certificate key
  remote-crt     Configure remote certificate

2) В конфигурации security ike gateway <NAME> необходимо указать remote id any для удачной аутентификации IPsec-соединений с разными сертификатами:
ESR# configure 

ESR(config)# security ike gateway ike_gateway
ESR(config-ike-gw)# remote id any 

Пример конфигурации HUB:

HUB# show running-config 
hostname HUB

interface gigabitethernet 1/0/2
  ip firewall disable
  ip address 203.0.113.2/30
exit

tunnel gre 1
  ttl 255
  mtu 1400
  multipoint
  ip firewall disable
  local address 203.0.113.2
  ip address 192.0.2.1/24
  ip tcp adjust-mss 1340
  ip nhrp ipsec ipsec_dynamic dynamic
  ip nhrp multicast dynamic
  ip nhrp enable
  enable
exit

security ike proposal ike_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  dh-group 19
exit

security ike policy ike_policy
  crypto ca dmvpn_ca.crt
  crypto local-crt hub.crt
  crypto local-crt-key hub.key
  authentication method public-key
  proposal ike_proposal
exit

security ike gateway ike_gateway
  ike-policy ike_policy
  local address 203.0.113.2
  local network 203.0.113.2/32 protocol gre 
  remote id any
  remote address any
  remote network any protocol gre 
  mode policy-based
  mobike disable
exit

security ipsec proposal ipsec_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  pfs dh-group 19
exit

security ipsec policy ipsec_policy
  proposal ipsec_proposal
exit

security ipsec vpn ipsec_dynamic
  type transport
  ike establish-tunnel route
  ike gateway ike_gateway
  ike ipsec-policy ipsec_policy
  enable
exit

ip route 0.0.0.0/0 203.0.113.1

Пример конфигурации SPOKE-1:

SPOKE-1# show running-config 
hostname SPOKE-1

interface gigabitethernet 1/0/2
  ip firewall disable
  ip address 203.0.113.6/30
exit

tunnel gre 1
  ttl 255
  mtu 1400
  multipoint
  ip firewall disable
  local address 203.0.113.6
  ip address 192.0.2.2/24
  ip tcp adjust-mss 1340
  ip nhrp holding-time 360
  ip nhrp map 192.0.2.1 203.0.113.2
  ip nhrp nhs 192.0.2.1/24
  ip nhrp ipsec ipsec_static static
  ip nhrp ipsec ipsec_dynamic dynamic
  ip nhrp multicast nhs
  ip nhrp enable
  enable
exit

security ike proposal ike_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  dh-group 19
exit

security ike policy ike_policy
  crypto ca dmvpn_ca.crt
  crypto local-crt spoke1.crt
  crypto local-crt-key spoke1.key
  authentication method public-key
  proposal ike_proposal
exit

security ike gateway ike_gateway_to_hub
  ike-policy ike_policy
  local address 203.0.113.6
  local network 203.0.113.6/32 protocol gre 
  remote id any
  remote address 203.0.113.2
  remote network 203.0.113.2/32 protocol gre 
  mode policy-based
  mobike disable
exit
security ike gateway ike_gateway_to_spokes
  ike-policy ike_policy
  local address 203.0.113.6
  local network 203.0.113.6/32 protocol gre 
  remote id any
  remote address any
  remote network any protocol gre 
  mode policy-based
  mobike disable
exit

security ipsec proposal ipsec_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  pfs dh-group 19
exit

security ipsec policy ipsec_policy
  proposal ipsec_proposal
exit

security ipsec vpn ipsec_static
  type transport
  ike establish-tunnel route
  ike gateway ike_gateway_to_hub
  ike ipsec-policy ipsec_policy
  enable
exit
security ipsec vpn ipsec_dynamic
  type transport
  ike establish-tunnel route
  ike gateway ike_gateway_to_spokes
  ike ipsec-policy ipsec_policy
  enable
exit

ip route 0.0.0.0/0 203.0.113.5

Пример конфигурации SPOKE-2:

SPOKE-2# show running-config 
hostname SPOKE-2

interface gigabitethernet 1/0/2
  ip firewall disable
  ip address 203.0.113.10/30
exit

tunnel gre 1
  ttl 255
  mtu 1400
  multipoint
  ip firewall disable
  local address 203.0.113.10
  ip address 192.0.2.3/24
  ip tcp adjust-mss 1340
  ip nhrp holding-time 360
  ip nhrp map 192.0.2.1 203.0.113.2
  ip nhrp nhs 192.0.2.1/24
  ip nhrp ipsec ipsec_static static
  ip nhrp ipsec ipsec_dynamic dynamic
  ip nhrp multicast nhs
  ip nhrp enable
  enable
exit

security ike proposal ike_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  dh-group 19
exit

security ike policy ike_policy
  crypto ca dmvpn_ca.crt
  crypto local-crt spoke2.crt
  crypto local-crt-key spoke2.key
  authentication method public-key
  proposal ike_proposal
exit

security ike gateway ike_gateway_to_hub
  ike-policy ike_policy
  local address 203.0.113.10
  local network 203.0.113.10/32 protocol gre 
  remote id any
  remote address 203.0.113.2
  remote network 203.0.113.2/32 protocol gre 
  mode policy-based
  mobike disable
exit
security ike gateway ike_gateway_to_spokes
  ike-policy ike_policy
  local address 203.0.113.10
  local network 203.0.113.10/32 protocol gre 
  remote id any
  remote address any
  remote network any protocol gre 
  mode policy-based
  mobike disable
exit

security ipsec proposal ipsec_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  pfs dh-group 19
exit

security ipsec policy ipsec_policy
  proposal ipsec_proposal
exit

security ipsec vpn ipsec_static
  type transport
  ike establish-tunnel route
  ike gateway ike_gateway_to_hub
  ike ipsec-policy ipsec_policy
  enable
exit
security ipsec vpn ipsec_dynamic
  type transport
  ike establish-tunnel route
  ike gateway ike_gateway_to_spokes
  ike ipsec-policy ipsec_policy
  enable
exit

ip route 0.0.0.0/0 203.0.113.9

4. Вывод оперативной информации

После настройки маршрутизаторо на HUB будет построен IPsec-туннель с каждым SPOKE, а также зарегистрированы 2 SPOKE:

HUB# show security ipsec vpn status 
Name                              Local host        Remote host       Initiator spi        Responder spi        State         
-------------------------------   ---------------   ---------------   ------------------   ------------------   -----------   
ipsec_dynamic                     203.0.113.2       203.0.113.6       0xa0d605df30d4262d   0x0953f87dc3bf28c9   Established   
ipsec_dynamic                     203.0.113.2       203.0.113.10      0x27d8fc668ec48e0c   0xa20820c65062d027   Established   
 
HUB# show ip nhrp peers 
 Flags: E - unique, R - nhs, U - used, L - lower-up
        C - connected, G - group, Q - qos, N - nat
        P - protected, X - undefined

Tunnel address         NBMA address       Tunnel      Expire      Created          Type              Flags        
--------------------   ----------------   ---------   ---------   --------------   ---------------   ----------   
192.0.2.2              203.0.113.6        gre 1       00:04:35    0,00:21:35       dynamic           LC           
192.0.2.3              203.0.113.10       gre 1       00:05:18    0,00:20:51       dynamic           LC     



SPOKE-1# show running-config 
hostname SPOKE-1


interface gigabitethernet 1/0/2
  ip firewall disable
  ip address 203.0.113.6/30
exit


tunnel gre 1
  ttl 255
  mtu 1400
  multipoint
  ip firewall disable
  local address 203.0.113.6
  ip address 192.0.2.2/24
  ip tcp adjust-mss 1340
  ip nhrp holding-time 360
  ip nhrp map 192.0.2.1 203.0.113.2
  ip nhrp nhs 192.0.2.1/24
  ip nhrp ipsec ipsec_static static
  ip nhrp ipsec ipsec_dynamic dynamic
  ip nhrp multicast nhs
  ip nhrp enable
  enable
exit


security ike proposal ike_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  dh-group 19
exit


security ike policy ike_policy
  crypto ca dmvpn_ca.crt
  crypto local-crt spoke1.crt
  crypto local-crt-key spoke1.key
  authentication method public-key
  proposal ike_proposal
exit


security ike gateway ike_gateway_to_hub
  ike-policy ike_policy
  local address 203.0.113.6
  local network 203.0.113.6/32 protocol gre 
  remote id any
  remote address 203.0.113.2
  remote network 203.0.113.2/32 protocol gre 
  mode policy-based
  mobike disable
exit
security ike gateway ike_gateway_to_spokes
  ike-policy ike_policy
  local address 203.0.113.6
  local network 203.0.113.6/32 protocol gre 
  remote id any
  remote address any
  remote network any protocol gre 
  mode policy-based
  mobike disable
exit


security ipsec proposal ipsec_proposal
  authentication algorithm sha2-256
  encryption algorithm aes256
  pfs dh-group 19
exit


security ipsec policy ipsec_policy
  proposal ipsec_proposal
exit


security ipsec vpn ipsec_static
  type transport
  ike establish-tunnel route
  ike gateway ike_gateway_to_hub
  ike ipsec-policy ipsec_policy
  enable
exit
security ipsec vpn ipsec_dynamic
  type transport
  ike establish-tunnel route
  ike gateway ike_gateway_to_spokes
  ike ipsec-policy ipsec_policy
  enable
exit


ip route 0.0.0.0/0 203.0.113.5



SPOKE-1# show security ipsec vpn status 
Name                              Local host        Remote host       Initiator spi        Responder spi        State         
-------------------------------   ---------------   ---------------   ------------------   ------------------   -----------   
ipsec_static                      203.0.113.6       203.0.113.2       0xa0d605df30d4262d   0x0953f87dc3bf28c9   Established   
SPOKE-1# show ip nhrp peers 
 Flags: E - unique, R - nhs, U - used, L - lower-up
        C - connected, G - group, Q - qos, N - nat
        P - protected, X - undefined

Tunnel address         NBMA address       Tunnel      Expire      Created          Type              Flags        
--------------------   ----------------   ---------   ---------   --------------   ---------------   ----------   
192.0.2.1              203.0.113.2        gre 1       --          --               static            RLC   

SPOKE-2# show security ipsec vpn status 
Name                              Local host        Remote host       Initiator spi        Responder spi        State         
-------------------------------   ---------------   ---------------   ------------------   ------------------   -----------   
ipsec_static                      203.0.113.10      203.0.113.2       0x27d8fc668ec48e0c   0xa20820c65062d027   Established   
SPOKE-2# show ip nhrp peers 
 Flags: E - unique, R - nhs, U - used, L - lower-up
        C - connected, G - group, Q - qos, N - nat
        P - protected, X - undefined

Tunnel address         NBMA address       Tunnel      Expire      Created          Type              Flags        
--------------------   ----------------   ---------   ---------   --------------   ---------------   ----------   
192.0.2.1              203.0.113.2        gre 1       --          --               static            RLC          

Для построения динамического туннеля между SPOKE необходимо пустить трафик от одного SPOKE к другому SPOKE. Например, пустим ping со стороны SPOKE-1 в сторону SPOKE-2, в результате чего отработает 2-ая фаза NHRP:

SPOKE-1# ping 192.0.2.3
PING 192.0.2.3 (192.0.2.3) 56 bytes of data.
!!!!
--- 192.0.2.3 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 1.240/1.884/3.625/1.008 ms

SPOKE-1# show security ipsec vpn status 
Name                              Local host        Remote host       Initiator spi        Responder spi        State         
-------------------------------   ---------------   ---------------   ------------------   ------------------   -----------   
ipsec_static                      203.0.113.6       203.0.113.2       0xa0d605df30d4262d   0x0953f87dc3bf28c9   Established   
ipsec_dynamic                     203.0.113.6       203.0.113.10      0xe843aadb9e1b7620   0x6006d4df45af828d   Established  

SPOKE-1# show ip nhrp peers 
 Flags: E - unique, R - nhs, U - used, L - lower-up
        C - connected, G - group, Q - qos, N - nat
        P - protected, X - undefined

Tunnel address         NBMA address       Tunnel      Expire      Created          Type              Flags        
--------------------   ----------------   ---------   ---------   --------------   ---------------   ----------   
192.0.2.1              203.0.113.2        gre 1       --          --               static            RLC          
192.0.2.3              203.0.113.10       gre 1       00:05:38    0,00:00:21       cached            ULC         

SPOKE-2# show security ipsec vpn status 
Name                              Local host        Remote host       Initiator spi        Responder spi        State         
-------------------------------   ---------------   ---------------   ------------------   ------------------   -----------   
ipsec_static                      203.0.113.10      203.0.113.2       0x27d8fc668ec48e0c   0xa20820c65062d027   Established   
ipsec_dynamic                     203.0.113.10      203.0.113.6       0xe843aadb9e1b7620   0x6006d4df45af828d   Established  

SPOKE-2# show ip nhrp peers 
 Flags: E - unique, R - nhs, U - used, L - lower-up
        C - connected, G - group, Q - qos, N - nat
        P - protected, X - undefined

Tunnel address         NBMA address       Tunnel      Expire      Created          Type              Flags        
--------------------   ----------------   ---------   ---------   --------------   ---------------   ----------   
192.0.2.1              203.0.113.2        gre 1       --          --               static            RLC          
192.0.2.2              203.0.113.6        gre 1       00:04:14    0,00:01:45       cached            ULC   


  • Нет меток