...
| Примечание |
|---|
Чтобы system prompt корректно работал, необходимо обновить пользовательскую сессию. |
Настройка MultiWANНастройка MultiWAN
Технология MultiWAN позволяет организовать отказоустойчивое соединение с резервированием линков от нескольких провайдеров.
...
- обеспечить резервирование линков от нескольких провайдеров;
- обеспечить балансировку трафика в соотношении 70/30.
Image Modified
Схема реализации MultiWAN
...
| Блок кода |
|---|
|
ESR-1(config)# security ipsec vpn ipsec
ESR-1(config-ipsec-vpn)# ike establish-tunnel route
ESR-1(config-ipsec-vpn)# ike gateway ike_gw
ESR-1(config-ipsec-vpn)# ike ipsec-policy ipsec_pol
ESR-1(config-ipsec-vpn)# enable
ESR-1(config-ipsec-vpn)# exit |
Добавим статический маршрут до встречной клиентской подсети через IPsec-туннель:
...
| Примечание |
|---|
Аналогичную настройку требуется выполнить на устройстве, находящемся на другой стороне туннеля |
Посмотреть состояние IPsec-туннеля можно с помощью команды:
| Блок кода |
|---|
|
ESR-1# show security ipsec vpn status
Name Local host Remote host Initiator spi Responder spi State
------------------------------- --------------- --------------- ------------------ ------------------ -----------
ipsec 203.0.113.2 203.0.113.6 0x201602ebcafb809b 0x4556a21a7012d2c0 Established |
...
Пример настройки firewall failover
Задача:
Настроить firewall failover в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- режим резервирования сессий unicast;
- номер UDP-порта службы резервирования 9999;
- клиентская подсеть: 192.0.2.0/24.
...
| Блок кода |
|---|
|
cluster
cluster-interface bridge 1
unit 1
mac-address cc:9d:a2:71:83:78
exit
unit 2
mac-address cc:9d:a2:71:82:38
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone WAN
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone WAN
ip address 128.66.0.6/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 128.66.0.2/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone WAN
ip address 128.66.0.5/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 128.66.0.1/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN WAN
rule 1
action permit
enable
exit
exit
ip route 0.0.0.0/0 203.0.113.1 |
Решение:
Сконфигурируем object-group для Сконфигурируем object-group для настройки failover-сервисов:
| Блок кода |
|---|
|
ESR-1(config)# object-group network SYNC_SRC
ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 1
ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network SYNC_DST
ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 1
ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 2
ESR-1(config-object-group-network)# exit |
Перейдем к настройке общих параметров для failover-сервисов, а именно к выбору: IP-адреса с которого будут отправляться сообщения для синхронизации, IP-адреса получателя сообщений для
...
синхронизации и VRRP-группу, на основе которой определяется состояние (основной/резервный) маршрутизатора при работе failover-сервисов:
| Блок кода |
|---|
|
ESR-1(config)# ip failover
ESR-1(config-failover)# local-address object-group SYNC_SRC
ESR-1(config-failover)# remote-address object-group SYNC_DST
ESR-1(config-failover)# vrrp-group 1
ESR-1(config-failover)# exit |
...
Для настройки правил зон безопасности создадим профиль для порта firewall firewall failover:
| Блок кода |
|---|
|
ESR-1(config)# object-group service FAILOVER
ESR-1(config-object-group-service)# port-range 9999
ESR-1(config-object-group-service)# exit |
Создадим разрешающие правило для зоны безопасности SYNC, разрешив прохождение необходимого трафика для работы firewall firewall failover:
| Блок кода |
|---|
|
ESR-1(config)# security zone-pair SYNC self
ESR-1(config-security-zone-pair)# rule 4
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol udp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group FAILOVER
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit |
Выполним настройку firewall firewall failover. Настроим режим резервирования сессий unicast, номер UDP-порта службы резервирования сессий firewall и включим firewall failover:
| Блок кода |
|---|
|
ESR-1(config)# ip firewall failover
ESR-1(config-firewall-failover)# sync-type unicast
ESR-1(config-firewall-failover)# port 9999
ESR-1(config-firewall-failover)# enable
ESR-1(config-firewall-failover)# exit |
После успешного запуска firewall firewall failover можно посмотреть информацию о сервисе с помощью команды:
| Блок кода |
|---|
|
ESR-1# show ip firewall failover
Communication interface: bridge 1
Status: Running
Bytes sent: 3420
Bytes received: 3320
Packets sent: 209
Packets received: 209
Send errors: 0
Receive errors: 0
Resend queue:
Active entries: 1
Errors:
No space left: 0
Hold queue:
Active entries: 0
Errors:
No space left: 0 |
Также возможно узнать текущее состояние firewall firewall failover сервиса, выполнив команду:
...
| Блок кода |
|---|
|
ESR-1# show ip firewall sessions failover external
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 0 192.0.2.10:44812 128.66.1.1:22 128.66.1.1:22 192.0.2.10:44812 -- -- AC |
Посмотреть счетчики для кэшей firewall failover можно командой:
...
Пример настройки нескольких экземпляров firewall failover, каждый – в своём VRF
Задача:
Настроить несколько экземпляров firewall failover в кластере маршрутизаторов ESR-1 и ESR-2, каждый в своем VRF, со следующими параметрами:
- режим резервирования сессий unicast;
- номер UDP-порта службы резервирования 9999;
- настроить приоритеты у разных firewall failover так, чтобы один из юнитов кластера был Master в одном VRF, а в другом был Backup;
- клиентская подсеть через первый VRF: 192.0.2.0/24;
- клиентская подсеть через второй VRF: 128.66.0.0/24.
...
| Блок кода |
|---|
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
ip vrf PAIR_ONE
exit
ip vrf PAIR_TWO
exit
security zone SYNC
exit
security zone LAN_ONE
ip vrf forwarding PAIR_ONE
exit
security zone LAN_TWO
ip vrf forwarding PAIR_TWO
exit
security zone WAN_ONE
ip vrf forwarding PAIR_ONE
exit
security zone WAN_TWO
ip vrf forwarding PAIR_TWO
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 8CB5107EA7005AFF
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
exit
interface gigabitethernet 1/0/2.2
ip vrf forwarding PAIR_ONE
security-zone LAN_ONE
ip address 203.0.113.18/30
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 120
vrrp group 2
vrrp
exit
interface gigabitethernet 1/0/2.3
ip vrf forwarding PAIR_TWO
security-zone LAN_TWO
ip address 203.0.113.22/30
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 110
vrrp group 3
vrrp
exit
interface gigabitethernet 1/0/3.2
ip vrf forwarding PAIR_ONE
security-zone WAN_ONE
ip address 203.0.113.10/30
vrrp id 2
vrrp ip 203.0.113.2/30
vrrp group 2
vrrp
exit
interface gigabitethernet 1/0/3.3
ip vrf forwarding PAIR_TWO
security-zone WAN_TWO
ip address 203.0.113.14/30
vrrp id 3
vrrp ip 203.0.113.6/30
vrrp group 3
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
exit
interface gigabitethernet 2/0/2.2
ip vrf forwarding PAIR_ONE
security-zone LAN_ONE
ip address 203.0.113.17/30
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 110
vrrp group 2
vrrp
exit
interface gigabitethernet 2/0/2.3
ip vrf forwarding PAIR_TWO
security-zone LAN_TWO
ip address 203.0.113.21/30
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 120
vrrp group 3
vrrp
exit
interface gigabitethernet 2/0/3.2
ip vrf forwarding PAIR_ONE
security-zone WAN_ONE
ip address 203.0.113.9/30
vrrp id 2
vrrp ip 203.0.113.2/30
vrrp group 2
vrrp
exit
interface gigabitethernet 2/0/3.3
ip vrf forwarding PAIR_TWO
security-zone WAN_TWO
ip address 203.0.113.13/30
vrrp id 3
vrrp ip 203.0.113.6/30
vrrp group 3
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN_ONE self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN_TWO self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN_ONE self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN_TWO self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair LAN_ONE WAN_ONE
rule 1
action permit
enable
exit
exit
security zone-pair LAN_TWO WAN_TWO
rule 1
action permit
enable
exit
exit |
Решение:
Сконфигурируем object-group для Сконфигурируем object-group для настройки failover-сервисов:
| Блок кода |
|---|
|
ESR-1(config)# object-group network DST_PAIR_ONE
ESR-1(config-object-group-network)# ip address-range 203.0.113.17 unit 1
ESR-1(config-object-group-network)# ip address-range 203.0.113.18 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network DST_PAIR_TWO
ESR-1(config-object-group-network)# ip address-range 203.0.113.21 unit 1
ESR-1(config-object-group-network)# ip address-range 203.0.113.22 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network SRC_PAIR_ONE
ESR-1(config-object-group-network)# ip address-range 203.0.113.18 unit 1
ESR-1(config-object-group-network)# ip address-range 203.0.113.17 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network SRC_PAIR_TWO
ESR-1(config-object-group-network)# ip address-range 203.0.113.22 unit 1
ESR-1(config-object-group-network)# ip address-range 203.0.113.21 unit 2
ESR-1(config-object-group-network)# exit |
Перейдем к настойке ip failover для каждого VRF, настроим там local-address/remote-address и укажем привязки к соответствующим VRRP-group, на основе которых будет определяться, какой из маршрутизаторов будет синхронизировать сессии:
| Блок кода |
|---|
|
ESR-1(config)# ip failover vrf PAIR_ONE
ESR-1(config-failover)# local-address object-group SRC_PAIR_ONE
ESR-1(config-failover)# remote-address object-group DST_PAIR_ONE
ESR-1(config-failover)# vrrp-group 2
ESR-1(config-failover)# exit
ESR-1(config)# ip failover vrf PAIR_TWO
ESR-1(config-failover)# local-address object-group SRC_PAIR_TWO
ESR-1(config-failover)# remote-address object-group DST_PAIR_TWO
ESR-1(config-failover)# vrrp-group 3
ESR-1(config-failover)# exit |
Перейдем к настройке
...
firewall failover, каждый в своем VRF. Для каждого экземпляра необходимо указать режим синхронизирования unicast, настроить port 9999, а также включить его:
| Блок кода |
|---|
|
ESR-1(config)# ip firewall failover vrf PAIR_ONE
ESR-1(config-firewall-failover)# sync-type unicast
ESR-1(config-firewall-failover)# port 9999
ESR-1(config-firewall-failover)# enable
ESR-1(config-firewall-failover)# exit
ESR-1(config)# ip firewall failover vrf PAIR_TWO
ESR-1(config-firewall-failover)# sync-type unicast
ESR-1(config-firewall-failover)# port 9999
ESR-1(config-firewall-failover)# enable
ESR-1(config-firewall-failover)# exit |
...
| Блок кода |
|---|
|
ESR-1(config)# object-group service FAILOVER
ESR-1(config-object-group-service)# port-range 9999
ESR-1(config-object-group-service)# exit
ESR-1(config)# security zone-pair LAN_ONE self
ESR-1(config-security-zone-pair)# rule 3
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol udp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group FAILOVER
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit
ESR-1(config)# security zone-pair LAN_TWO self
ESR-1(config-security-zone-pair)# rule 3
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol udp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group FAILOVER
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit |
Просмотреть VRRP-статусы в разных VRF можно используя команду команду show vrrp. Убедимся что в одном VRF устройство находится в статусе Master, а в другом VRF – в статусе Backup:
| Блок кода |
|---|
|
ESR-1# show vrrp vrf PAIR_ONE
Unit 1* 'ESR-1'
---------------
Virtual router Virtual IP Priority Preemption State Inherit Sync group ID
-------------- --------------------------------- -------- ---------- ------ ------- -------------
2 203.0.113.2/30 100 Enabled Master -- 2
4 192.0.2.1/24 120 Enabled Master -- 2
Unit 2 'ESR-2'
--------------
Virtual router Virtual IP Priority Preemption State Inherit Sync group ID
-------------- --------------------------------- -------- ---------- ------ ------- -------------
2 203.0.113.2/30 100 Enabled Backup -- 2
4 192.0.2.1/24 110 Enabled Backup -- 2
ESR-1# show vrrp vrf PAIR_TWO
Unit 1* 'ESR-1'
---------------
Virtual router Virtual IP Priority Preemption State Inherit Sync group ID
-------------- --------------------------------- -------- ---------- ------ ------- -------------
3 203.0.113.6/30 100 Enabled Backup -- 3
5 128.66.0.1/24 110 Enabled Backup -- 3
Unit 2 'ESR-2'
--------------
Virtual router Virtual IP Priority Preemption State Inherit Sync group ID
-------------- --------------------------------- -------- ---------- ------ ------- -------------
3 203.0.113.6/30 100 Enabled Master -- 3
5 128.66.0.1/24 120 Enabled Master -- 3 |
Посмотреть информацию о сервисе firewall failover в каждом VRF можно с помощью следующей команды:
| Блок кода |
|---|
|
ESR-1# show ip firewall failover vrf PAIR_ONE
Communication interface: gigabitethernet 1/0/2.2
Status: Running
Bytes sent: 7420
Bytes received: 7200
Packets sent: 465
Packets received: 460
Send errors: 0
Receive errors: 0
Resend queue:
Active entries: 1
Errors:
No space left: 0
Hold queue:
Active entries: 0
Errors:
No space left: 0
ESR-1# show ip firewall failover vrf PAIR_TWO
Communication interface: gigabitethernet 1/0/2.3
Status: Running
Bytes sent: 7320
Bytes received: 7380
Packets sent: 468
Packets received: 464
Send errors: 0
Receive errors: 0
Resend queue:
Active entries: 1
Errors:
No space left: 0
Hold queue:
Active entries: 0
Errors:
No space left: 0 |
Также возможно узнать текущее состояние firewall firewall failover сервисов во всех VRF, выполнив команду:
...
| Блок кода |
|---|
|
ESR-2# show ip firewall sessions vrf PAIR_ONE protocol tcp
ESR-2# show ip firewall sessions vrf PAIR_TWO protocol tcp
Codes: E - expected, U - unreplied,
A - assured, C - confirmed
Prot Aging Inside source Inside destination Outside source Outside destination Pkts Bytes Status
----- ---------- --------------------- --------------------- --------------------- --------------------- ---------- ---------- ------
tcp 113 128.66.0.10:59108 203.0.113.5:22 128.66.0.10:59108 203.0.113.5:22 -- -- AC |
Посмотреть вывод активный активных синхронизируемых сессий, используемых для работы firewal failover, на устройстве можно с помощью команды show ip firewall session failover external/internal. Убедимся что для одного из VRF сессия находится в internal cash, а для второго VRF сессия находится в external cash:
...
Алгоритм настройки DHCP failover описан в разделе Алгоритм настройки DHCP failover.
Пример настройки
Задача:
Настроить DHCP failover в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- в качестве default-router используется IP-адрес VRRP;
- установить в качестве необходимого режима работы резервирования active-standby;
- клиентская подсеть: 192.0.2.0/24.
...
| Блок кода |
|---|
|
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
object-group service DHCP_SERVER
port-range 67
exit
object-group service DHCP_CLIENT
port-range 68
exit
security zone SYNC
exit
security zone LAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 128.66192.0.2.254/3024
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 128192.660.02.1253/3024
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol udp
match source-port object-group DHCP_CLIENT
match destination-port object-group DHCP_SERVER
enable
exit
exit
ip dhcp-server
ip dhcp-server pool TRUSTED
network 192.0.2.0/24
address-range 192.0.2.10-192.0.2.100
default-router 192.0.2.1
exit |
Решение:
Сконфигурируем object-group для настройки failover-сервисов:
| Блок кода |
|---|
|
ESR-1(config)# object-group network SYNC_SRC
ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 1
ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network SYNC_DST
ESR-1(config-object-group-network)# ip address-range 198.51.100.253 unit 1
ESR-1(config-object-group-network)# ip address-range 198.51.100.254 unit 2
ESR-1(config-object-group-network)# exit |
Перейдем к настройке общих параметров для failover-сервисов, а именно к выбору: IP-адреса с которого будут отправляться сообщения для синхронизации, IP-адреса получателя сообщений для синхронизации и VRRP-группу, на основе которой определяется состояние (основной/резервный) маршрутизатора при работе failover-сервисов:
| Блок кода |
|---|
|
ESR-1(config)# ip failover
ESR-1(config-failover)# local-address object-group SYNC_SRC
ESR-1(config-failover)# remote-address object-group SYNC_DST
ESR-1(config-failover)# vrrp-group 1
ESR-1(config-failover)# exit |
...
| Примечание |
|---|
Для работы в кластере необходимо использовать режим active-standby. |
Создадим разрешающие правило для зоны безопасности SYNC, разрешив прохождение необходимого трафика для работы DHCP failoverfailover:
| Блок кода |
|---|
|
ESR-1(config)# object-group service SYNC
ESR-1(config-object-group-service)# port-range 873
ESR-1(config-object-group-service)# exit
ESR-1(config)# security zone-pair SYNC self
ESR-1(config-security-zone-pair)# rule 4
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group SYNC
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit |
...
| Блок кода |
|---|
|
ESR-1# show high-availability state
AP Tunnels:
State: Disabled
Last state change: --
DHCP option 82 table:
State: Disabled
Last state change: --
DHCP server:
VRF: --
Mode: Active-Standby
State: Successful synchronization
Last synchronization: 2025-02-12 07:56:36
crypto-sync:
State: Disabled
Firewall sessions and NAT translations:
State: Disabled |
Выданные адреса DHCP можно просмотреть с помощью команды:
...
Пример настройки нескольких экземпляров DHCP failover, каждый в своем VRF
Задача:
Настроить два экземпляра DHCP failover, каждый в своём VRF, в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:
- в качестве default-router используется IP-адрес VRRP;
- установить в качестве необходимого режима работы резервирования active-standby;
- настроить приоритеты у разных DHCP failover так, чтобы один из юнитов кластера был Master в одном VRF, а в другом был Backup;
- клиентская подсеть в первом VRF: 192.0.2.0/24;
- клиентская подсеть в втором VRF: 128.66.0.0/24.
...
| Блок кода |
|---|
|
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
object-group service DHCP_SERVER
port-range 67
exit
object-group service DHCP_CLIENT
port-range 68
exit
ip vrf LAN_ONE
exit
ip vrf LAN_TWO
exit
security zone SYNC
exit
security zone LAN_ONE
ip vrf forwarding LAN_ONE
exit
security zone LAN_TWO
ip vrf forwarding LAN_TWO
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 8CB5107EA7005AFF
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
exit
interface gigabitethernet 1/0/2.2
ip vrf forwarding LAN_ONE
security-zone LAN_ONE
ip address 192.0.2.254/24
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 120
vrrp group 2
vrrp
exit
interface gigabitethernet 1/0/2.3
ip vrf forwarding LAN_TWO
security-zone LAN_TWO
ip address 128.66.0.254/24
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 110
vrrp group 3
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
exit
interface gigabitethernet 2/0/2.2
ip vrf forwarding LAN_ONE
security-zone LAN_ONE
ip address 192.0.2.253/24
vrrp id 4
vrrp ip 192.0.2.1/24
vrrp priority 110
vrrp group 2
vrrp
exit
interface gigabitethernet 2/0/2.3
ip vrf forwarding LAN_TWO
security-zone LAN_TWO
ip address 128.66.0.253/24
vrrp id 5
vrrp ip 128.66.0.1/24
vrrp priority 120
vrrp group 3
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN_ONE self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol udp
match source-port object-group DHCP_CLIENT
match destination-port object-group DHCP_SERVER
enable
exit
exit
security zone-pair LAN_TWO self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol udp
match source-port object-group DHCP_CLIENT
match destination-port object-group DHCP_SERVER
enable
exit
exit
ip dhcp-server vrf LAN_ONE
ip dhcp-server pool LAN_ONE vrf LAN_ONE
network 192.0.2.0/24
address-range 192.0.2.10-192.0.2.253
default-router 192.0.2.1
exit
ip dhcp-server vrf LAN_TWO
ip dhcp-server pool LAN_TWO vrf LAN_TWO
network 128.66.0.0/24
address-range 128.66.0.10-128.66.0.253
default-router 128.66.0.1
exit |
Решение:
Сконфигурируем objectСконфигурируем object-group для настройки DHCP failover-сервисов:
| Блок кода |
|---|
|
ESR-1(config)# object-group network DST_LAN_ONE
ESR-1(config-object-group-network)# ip address-range 192.0.2.253 unit 1
ESR-1(config-object-group-network)# ip address-range 192.0.2.254 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network DST_LAN_TWO
ESR-1(config-object-group-network)# ip address-range 128.66.0.253 unit 1
ESR-1(config-object-group-network)# ip address-range 128.66.0.254 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network SRC_LAN_ONE
ESR-1(config-object-group-network)# ip address-range 192.0.2.254 unit 1
ESR-1(config-object-group-network)# ip address-range 192.0.2.253 unit 2
ESR-1(config-object-group-network)# exit
ESR-1(config)# object-group network SRC_LAN_TWO
ESR-1(config-object-group-network)# ip address-range 128.66.0.254 unit 1
ESR-1(config-object-group-network)# ip address-range 128.66.0.253 unit 2
ESR-1(config-object-group-network)# exit |
...
| Блок кода |
|---|
|
ESR-1(config)# ip dhcp-server failover vrf LAN_ONE
ESR-1(config-dhcp-server-failover)# mode active-standby
ESR-1(config-dhcp-server-failover)# enable
ESR-1(config-dhcp-server-failover)# exit
ESR-1(config)# ip dhcp-server failover vrf LAN_TWO
ESR-1(config-dhcp-server-failover)# mode active-standby
ESR-1(config-dhcp-server-failover)# enable
ESR-1(config-dhcp-server-failover)# exit |
Разрешим в настройках firewall работу dhcp-failover в соответствующих зонах:
...
| Блок кода |
|---|
|
ESR-1# show ip dhcp server failover vrf LAN_ONE
VRF: LAN_ONE
Mode: Active-Standby
Role: Master
State: Synchronized
Last synchronization: 2025-02-18 09:34:44
ESR-1# show ip dhcp server failover vrf LAN_TWO
VRF: LAN_TWO
Mode: Active-Standby
Role: Backup
State: Synchronized
Last synchronization: 2025-02-18 09:34:46 |
Также статусы работы DHCP-серверов можно посмотреть с помощью команды:
...
Подробный алгоритм настройки SNMP описан в разделе Настройка SNMP-сервера и отправки SNMP TRAP.
Пример настройки

Схема реализации SNMP
Задача:
- обеспечить возможность мониторинга сети через management-интерфейс каждого устройства в кластере:
- обеспечить возможность мониторинга состояния сети и внесения изменений в конфигурацию устройства, выполняющего роль VRRP Master;
- устройство управления (MGMT) доступно по IP-адресу 192.0.2.10.
...
| Блок кода |
|---|
|
ESR-1(config)# security zone-pair MGMT self
ESR-1(config-security-zone-pair)# rule 2
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol udp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group SNMP
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit |
Активируем SNMP-сервер, настроив параметр snmp-community для обеспечения аутентификации и корректного доступа к данным мониторинга:
...
- организовать публичный доступа к серверу, находящемуся в частной сети и не имеющему публичного сетевого адреса;
- сервер доступен по адресу: 192.0.2.10/24;
Image Modified
Схема реализации Destination NAT
...
| Блок кода |
|---|
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone WAN
ip address 128.66.0.6/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone LAN
ip address 128.66.0.2/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone WAN
ip address 128.66.0.5/30
vrrp id 3
vrrp ip 203.0.113.2/30
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone LAN
ip address 128.66.0.1/30
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit |
Решение:
Создадим профиль адреса сервера из WAN сети, с которого будем принимать:
...
| Блок кода |
|---|
|
ESR-1(config-dnat)# ruleset DNAT_SERVER_DMZ
ESR-1(config-dnat-ruleset)# from zone WAN
ESR-1(config-dnat-ruleset)# rule 1
ESR-1(config-dnat-rule)# match protocol tcp
ESR-1(config-dnat-rule)# match destination-address object-group INTERNAL
ESR-1(config-dnat-rule)# match destination-port object-group SERVER_DMZ
ESR-1(config-dnat-rule)# action destination-nat pool DMZ
ESR-1(config-dnat-rule)# enable
ESR-1(config-dnat-rule)# exit
ESR-1(config-dnat-ruleset)# exit
ESR-1(config-dnat)# exit |
Добавим правило, которое проверяет применение правил исключительно к пакетам, поступающим из зоны WAN. Набор правил включает требования соответствия по адресу назначения (match destination-address) и протоколу. Дополнительно в наборе определено действие (action destination-nat), которое применяется к данным, удовлетворяющим указанным критериям:
| Блок кода |
|---|
|
ESR-1(config)# security zone-pair WAN LAN
ESR-1(config-security-zone-pair)# rule 1
ESR-1(config-security-zone-pair-rule)# action permit
ESR-1(config-security-zone-pair-rule)# match protocol tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group SERVER_DMZ
ESR-1(config-security-zone-pair-rule)# match destination-nat
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit |
Просмотр таблицы NAT-трансляций осуществляется посредством следующей команды:
| Блок кода |
|---|
|
ESR-1# show ip nat translations
Prot Inside source Inside destination Outside source Outside destination Pkts Bytes
---- --------------------- --------------------- --------------------- --------------------- ---------- ----------
tcp 203.0.113.1:41296 192.0.2.10:22 203.0.113.1:41296 203.0.113.2:22 -- -- |
Настройка BGP
Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (далее АС), то есть группами маршрутизаторов под единым техническим управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.
...
- соседство устанавливается только с Active-устройством;
- клиентская подсеть: 192.0.2.0/24;
- анонсирование подсетей, подключенных напрямую;
- собственная AS 64500;
- соседство – подсеть 203.0.113.0/24, vrrp IP-адрес для подключения 203.0.113.1, IP-адрес соседа 203.0.113.2, 64501.

Схема реализации eBGP с общим IP-адресом
Исходная конфигурация кластера:
...
| Блок кода |
|---|
ESR-2# show bgp neighbors
BGP neighbor is 203.0.113.2
BGP state: Active
Type: Static neighbor
Neighbor address: 203.0.113.1
Neighbor AS: 64501
Connect delay: 2/5
Last error: Socket: Network is unreachable |
Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:
...
| Примечание |
|---|
В случае выхода из строя Active-устройства BGP будет полностью переустанавливаться со Standby-устройством. |
Пример настройки eBGP Пример настройки eBGP с каждым участником кластера по индивидуальным IP-адресам
...
- соседство устанавливается с каждым маршрутизатором в кластере индивидуально;
- клиентская подсеть: 192.0.2.0/24;
- анонсирование подсетей, подключенных напрямую;
- собственная AS 64500;
- соседство для ESR-1 – подсеть 203.0.113.0/30, IP-адрес для подключения 203.0.113.1, IP-адрес соседа 203.0.113.2, 64501;
- соседство для ESR-2 – подсеть 203.0.113.4/30, IP-адрес для подключения 203.0.113.5, IP-адрес соседа 203.0.113.6, 64502.
Image Modified
Схема реализации eBGP с каждым участником кластера по индивидуальным IP-адресам
Исходные конфигурации маршрутизаторов в кластере:
| Блок кода |
|---|
|
cluster
cluster-interface bridge 1
unit 1
mac-address a2:00:00:10:c0:00
exit
unit 2
mac-address a2:00:00:10:d0:00
exit
enable
exit
hostname ESR-1 unit 1
hostname ESR-2 unit 2
security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit
bridge 1
vlan 1
security-zone SYNC
ip address 198.51.100.254/24 unit 1
ip address 198.51.100.253/24 unit 2
vrrp id 1
vrrp ip 198.51.100.1/24
vrrp group 1
vrrp authentication key ascii-text encrypted 88B11079B51D
vrrp authentication algorithm md5
vrrp
enable
exit
interface gigabitethernet 1/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 192.0.2.254/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone WAN
ip address 203.0.113.1/30
exit
interface gigabitethernet 2/0/1
mode switchport
spanning-tree disable
exit
interface gigabitethernet 2/0/2
security-zone LAN
ip address 192.0.2.253/24
vrrp id 2
vrrp ip 192.0.2.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 2/0/3
security-zone WAN
ip address 203.0.113.5/30
exit
security zone-pair SYNC self
rule 1
action permit
match protocol icmp
enable
exit
rule 2
action permit
match protocol vrrp
enable
exit
rule 3
action permit
match protocol ah
enable
exit
exit
security zone-pair LAN self
rule 1
action permit
match protocol vrrp
enable
exit
rule 2
action permit
match protocol ah
enable
exit
exit
security zone-pair WAN self
rule 1
action permit
match protocol vrrp
enable
exit
exit |
Решение:
Настроем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN:
...
| Блок кода |
|---|
ESR-1(config-bgp)# address-family ipv4 unicast
ESR-1(config-bgp-af)# redistribute connected
ESR-1(config-bgp-af)# exit |
Создадим eBGP с вышестоящим роутером:
...
| Блок кода |
|---|
ESR-2# show bgp neighbors
BGP neighbor is 203.0.113.6
BGP state: Established
Type: Static neighbor
Neighbor address: 203.0.113.6
Neighbor AS: 64502
Neighbor ID: 203.0.113.6
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: external AS4
Source address: 203.0.113.5
Weight: 0
Hold timer: 144/180
Keepalive timer: 29/60
RR client: No
Address family ipv4 unicast:
Send-label: No
Default originate: No
Default information originate: No
Outgoing route-map: bgp-out
Preference: 170
Remove private AS: No
Next-hop self: No
Next-hop unchanged: No
Uptime (d,h:m:s): 00,00:00:20 |
Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:
...
Пример настройки в кластере DMVPN Single Hub Dual Cloud схемы
Задача:
Организовать DMVPN между офисами компании, используя mGRE-туннели, NHRP (Next Hop Resolution Protocol), протокол динамической маршрутизации (BGP), IPsec. В данном примере будет HUB-маршрутизатор, который находится в кластере, и два филиала. HUB – это DMVPN-cервер (NHS), а филиалы – DMPVN-клиенты (NHC).
...
- группа Диффи-Хэллмана: 19;
- алгоритм шифрования: AES256;
- алгоритм аутентификации: SHA2-256.
Image Modified
Схема реализации DMVPN Single Hub Dual Cloud в кластере
Исходная конфигурация CLUSTER-HUB:
...
| Блок кода |
|---|
|
hostname SPOKE-2
security zone LAN
exit
security zone WAN
exit
interface gigabitethernet 1/0/1
security-zone WAN
ip address 198.51.100.14/30
exit
interface gigabitethernet 1/0/2
security-zone LAN
ip address 128.66.2.1/24
exit
ip route 198.51.100.0/30 198.51.100.13
ip route 198.51.100.4/30 198.51.100.13
ip route 198.51.100.8/30 198.51.100.13 |
Решение:
Создадим туннели mGRE, каждый через свой CLOUD, определим принадлежность к зоне безопасности, настроим NHRP и включим туннель и NHRP командой enable:
| Блок кода |
|---|
HUB-1(config)# security zone DMVPN_C_ONE
HUB-1(config-security-zone)# exit
HUB-1(config)# security zone DMVPN_C_TWO
HUB-1(config-security-zone)# exit
HUB-1(config)# tunnel gre 1
HUB-1(config-gre)# key 1000
HUB-1(config-gre)# ttl 64
HUB-1(config-gre)# mtu 1400
HUB-1(config-gre)# multipoint
HUB-1(config-gre)# security-zone DMVPN_C_ONE
HUB-1(config-gre)# local address 198.51.100.2
HUB-1(config-gre)# ip address 203.0.113.1/25
HUB-1(config-gre)# ip tcp adjust-mss 1360
HUB-1(config-gre)# ip nhrp redirect
HUB-1(config-gre)# ip nhrp multicast dynamic
HUB-1(config-gre)# ip nhrp enable
HUB-1(config-gre)# enable
HUB-1(config-gre)# exit
HUB-1(config)# tunnel gre 2
HUB-1(config-gre)# key 2000
HUB-1(config-gre)# ttl 64
HUB-1(config-gre)# mtu 1400
HUB-1(config-gre)# multipoint
HUB-1(config-gre)# security-zone DMVPN_C_TWO
HUB-1(config-gre)# local address 198.51.100.6
HUB-1(config-gre)# ip address 203.0.113.129/25
HUB-1(config-gre)# ip tcp adjust-mss 1360
HUB-1(config-gre)# ip nhrp redirect
HUB-1(config-gre)# ip nhrp multicast dynamic
HUB-1(config-gre)# ip nhrp enable
HUB-1(config-gre)# enable
HUB-1(config-gre)# exit |
Произведём настройку протокола динамической маршрутизации для Hub. В примере это будет eBGP, для которого необходимо явно разрешить анонсирование подсетей.
...
| Блок кода |
|---|
HUB-1(config)# route-map DMVPN_BGP_OUT_CLOUD_ONE
HUB-1(config-route-map)# rule 1
HUB-1(config-route-map-rule)# match ip address 0.0.0.0/0
HUB-1(config-route-map-rule)# action set metric bgp 1000
HUB-1(config-route-map-rule)# exit
HUB-1(config-route-map)# exit
HUB-1(config)# route-map DMVPN_BGP_OUT_CLOUD_TWO
HUB-1(config-route-map)# rule 1
HUB-1(config-route-map-rule)# match ip address 0.0.0.0/0
HUB-1(config-route-map-rule)# action set metric bgp 2000
HUB-1(config-route-map-rule)# exit
HUB-1(config-route-map)# exit
HUB-1(config)# router bgp 64500
HUB-1(config-bgp)# default-information-originate
HUB-1(config-bgp)# timers error-wait 5 10
HUB-1(config-bgp)# peer-group DMVPN_CLOUD_ONE
HUB-1(config-bgp-group)# remote-as 64501
HUB-1(config-bgp-group)# update-source 203.0.113.1
HUB-1(config-bgp-group)# fall-over bfd
HUB-1(config-bgp-group)# address-family ipv4 unicast
HUB-1(config-bgp-group-af)# route-map DMVPN_BGP_OUT_CLOUD_ONE out
HUB-1(config-bgp-group-af)# next-hop-self
HUB-1(config-bgp-group-af)# enable
HUB-1(config-bgp-group-af)# exit
HUB-1(config-bgp-group)# exit
HUB-1(config-bgp)# peer-group DMVPN_CLOUD_TWO
HUB-1(config-bgp-group)# remote-as 64501
HUB-1(config-bgp-group)# update-source 203.0.113.129
HUB-1(config-bgp-group)# fall-over bfd
HUB-1(config-bgp-group)# address-family ipv4 unicast
HUB-1(config-bgp-group-af)# route-map DMVPN_BGP_OUT_CLOUD_TWO out
HUB-1(config-bgp-group-af)# next-hop-self
HUB-1(config-bgp-group-af)# enable
HUB-1(config-bgp-group-af)# exit
HUB-1(config-bgp-group)# exit
HUB-1(config-bgp)# listen-range 203.0.113.0/25
HUB-1(config-bgp-listen)# peer-group DMVPN_CLOUD_ONE
HUB-1(config-bgp-listen)# enable
HUB-1(config-bgp-listen)# exit
HUB-1(config-bgp)# listen-range 203.0.113.128/25
HUB-1(config-bgp-listen)# peer-group DMVPN_CLOUD_TWO
HUB-1(config-bgp-listen)# enable
HUB-1(config-bgp-listen)# exit
HUB-1(config-bgp)# address-family ipv4 unicast
HUB-1(config-bgp-af)# redistribute static
HUB-1(config-bgp-af)# exit
HUB-1(config-bgp)# enable
HUB-1(config-bgp)# exit |
Произведём настройку IPsec для Hub, для начала настроим ike proposal, ike policy и ike gateway. В ike gateway дополнительно настроим dpd, для ускорения перестроения туннелей в случае если выйдет из строя Active-устройство:
| Блок кода |
|---|
HUB-1(config)# security ike proposal ike_proposal
HUB-1(config-ike-proposal)# authentication algorithm sha2-256
HUB-1(config-ike-proposal)# encryption algorithm aes256
HUB-1(config-ike-proposal)# dh-group 19
HUB-1(config-ike-proposal)# exit
HUB-1(config)#
HUB-1(config)# security ike policy ike_policy
HUB-1(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF
HUB-1(config-ike-policy)# proposal ike_proposal
HUB-1(config-ike-policy)# exit
HUB-1(config)# security ike gateway ike_gateway_cloud_one
HUB-1(config-ike-gw)# version v2-only
HUB-1(config-ike-gw)# ike-policy ike_policy
HUB-1(config-ike-gw)# local address 198.51.100.2
HUB-1(config-ike-gw)# local network 198.51.100.2/32 protocol gre
HUB-1(config-ike-gw)# remote address any
HUB-1(config-ike-gw)# remote network any protocol gre
HUB-1(config-ike-gw)# mode policy-based
HUB-1(config-ike-gw)# mobike disable
HUB-1(config-ike-gw)# dead-peer-detection action clear
HUB-1(config-ike-gw)# dead-peer-detection interval 310
HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 15
HUB-1(config-ike-gw)# dead-peer-detection retransmit tries 2
HUB-1(config-ike-gw)# exit
HUB-1(config)# security ike gateway ike_gateway_cloud_two
HUB-1(config-ike-gw)# version v2-only
HUB-1(config-ike-gw)# ike-policy ike_policy
HUB-1(config-ike-gw)# local address 198.51.100.6
HUB-1(config-ike-gw)# local network 198.51.100.6/32 protocol gre
HUB-1(config-ike-gw)# remote address any
HUB-1(config-ike-gw)# remote network any protocol gre
HUB-1(config-ike-gw)# mode policy-based
HUB-1(config-ike-gw)# mobike disable
HUB-1(config-ike-gw)# dead-peer-detection action clear
HUB-1(config-ike-gw)# dead-peer-detection interval 310
HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 15
HUB-1(config-ike-gw)# dead-peer-detection retransmit tries 2
HUB-1(config-ike-gw)# exit
HUB-1(config)#
HUB-1(config)# security ike session uniqueids replace |
Затем настроим IPsec proposal, IPsec policy и IPsec vpn туннели через каждый CLOUD:
| Блок кода |
|---|
HUB-1(config)# security ipsec proposal ipsec_proposal
HUB-1(config-ipsec-proposal)# authentication algorithm sha2-256
HUB-1(config-ipsec-proposal)# encryption algorithm aes256
HUB-1(config-ipsec-proposal)# pfs dh-group 19
HUB-1(config-ipsec-proposal)# exit
HUB-1(config)# security ipsec policy ipsec_policy
HUB-1(config-ipsec-policy)# proposal ipsec_proposal
HUB-1(config-ipsec-policy)# exit
HUB-1(config)# security ipsec vpn ipsec_dynamic_cloud_one
HUB-1(config-ipsec-vpn)# type transport
HUB-1(config-ipsec-vpn)# ike establish-tunnel route
HUB-1(config-ipsec-vpn)# ike gateway ike_gateway_cloud_one
HUB-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policy
HUB-1(config-ipsec-vpn)# enable
HUB-1(config-ipsec-vpn)# exit
HUB-1(config)# security ipsec vpn ipsec_dynamic_cloud_two
HUB-1(config-ipsec-vpn)# type transport
HUB-1(config-ipsec-vpn)# ike establish-tunnel route
HUB-1(config-ipsec-vpn)# ike gateway ike_gateway_cloud_two
HUB-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policy
HUB-1(config-ipsec-vpn)# enable
HUB-1(config-ipsec-vpn)# exit |
Скорректируем правила зоны безопасности WAN,разрешим разрешим протоколы для GRE over IPSec-туннеля:
| Блок кода |
|---|
HUB-1(config)# object-group service ISAKMP_PORT
HUB-1(config-object-group-service)# port-range 500
HUB-1(config-object-group-service)# port-range 4500
HUB-1(config-object-group-service)# exit
HUB-1(config)# security zone-pair WAN self
HUB-1(config-security-zone-pair)# rule 3
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol udp
HUB-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORT
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# rule 4
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol esp
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# rule 5
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol gre
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit |
Настроим правила зон безопасности DMVPN_C_ONE и DMVPN_C_TWO, разрешим прохождение трафика для протоколов BGP, BFD, ICMP:
| Блок кода |
|---|
HUB-1(config)# object-group service BGP
HUB-1(config-object-group-service)# port-range 179
HUB-1(config-object-group-service)# exit
HUB-1(config)# object-group service BFD
HUB-1(config-object-group-service)# port-range 3784
HUB-1(config-object-group-service)# exit
HUB-1(config)# security zone-pair DMVPN_C_ONE self
HUB-1(config-security-zone-pair)# rule 1
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol icmp
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# rule 2
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol tcp
HUB-1(config-security-zone-pair-rule)# match destination-port object-group BGP
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# rule 3
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol udp
HUB-1(config-security-zone-pair-rule)# match destination-port object-group BFD
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit
HUB-1(config)# security zone-pair DMVPN_C_TWO self
HUB-1(config-security-zone-pair)# rule 1
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol icmp
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# rule 2
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol tcp
HUB-1(config-security-zone-pair-rule)# match destination-port object-group BGP
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# rule 3
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# match protocol udp
HUB-1(config-security-zone-pair-rule)# match destination-port object-group BFD
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit |
Скорректируем правила зоны безопасности LAN, разрешим прохождение трафика между зонами LAN и DMVPN_C_ONE/DMVPN_C_TWO:
| Блок кода |
|---|
HUB-1(config)# security zone-pair LAN DMVPN_C_ONE
HUB-1(config-security-zone-pair)# rule 1
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit
HUB-1(config)# security zone-pair LAN DMVPN_C_TWO
HUB-1(config-security-zone-pair)# rule 1
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit
HUB-1(config)# security zone-pair DMVPN_C_ONE LAN
HUB-1(config-security-zone-pair)# rule 1
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit
HUB-1(config)# security zone-pair DMVPN_C_TWO LAN
HUB-1(config-security-zone-pair)# rule 1
HUB-1(config-security-zone-pair-rule)# action permit
HUB-1(config-security-zone-pair-rule)# enable
HUB-1(config-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit |
Создадим туннели mGRE, каждый через свой CLOUD, определим принадлежность к зоне безопасности, настроим NHRP и включим туннель и NHRP командой enable:
| Блок кода |
|---|
SPOKE-1(config)# security zone DMVPN_C_TWO
SPOKE-1(config-security-zone)# exit
SPOKE-1(config)# security zone DMVPN_C_ONE
SPOKE-1(config-security-zone)# exit
SPOKE-1(config)# tunnel gre 1
SPOKE-1(config-gre)# key 1000
SPOKE-1(config-gre)# ttl 64
SPOKE-1(config-gre)# mtu 1400
SPOKE-1(config-gre)# multipoint
SPOKE-1(config-gre)# security-zone DMVPN_C_ONE
SPOKE-1(config-gre)# local address 198.51.100.10
SPOKE-1(config-gre)# ip address 203.0.113.2/25
SPOKE-1(config-gre)# ip tcp adjust-mss 1360
SPOKE-1(config-gre)# ip nhrp holding-time 60
SPOKE-1(config-gre)# ip nhrp shortcut
SPOKE-1(config-gre)# ip nhrp map 203.0.113.1 198.51.100.2
SPOKE-1(config-gre)# ip nhrp nhs 203.0.113.1
SPOKE-1(config-gre)# ip nhrp multicast nhs
SPOKE-1(config-gre)# ip nhrp enable
SPOKE-1(config-gre)# enable
SPOKE-1(config-gre)# exit
SPOKE-1(config)# tunnel gre 2
SPOKE-1(config-gre)# key 2000
SPOKE-1(config-gre)# ttl 64
SPOKE-1(config-gre)# mtu 1400
SPOKE-1(config-gre)# multipoint
SPOKE-1(config-gre)# security-zone DMVPN_C_TWO
SPOKE-1(config-gre)# local address 198.51.100.10
SPOKE-1(config-gre)# ip address 203.0.113.130/25
SPOKE-1(config-gre)# ip tcp adjust-mss 1360
SPOKE-1(config-gre)# ip nhrp holding-time 60
SPOKE-1(config-gre)# ip nhrp shortcut
SPOKE-1(config-gre)# ip nhrp map 203.0.113.129 198.51.100.6
SPOKE-1(config-gre)# ip nhrp nhs 203.0.113.129
SPOKE-1(config-gre)# ip nhrp multicast nhs
SPOKE-1(config-gre)# ip nhrp enable
SPOKE-1(config-gre)# enable
SPOKE-1(config-gre)# exit |
Произведём настройку протокола динамической маршрутизации для SPOKE-1. В примере это будет eBGP, для которого необходимо явно разрешить анонсирование подсетей. Анонсируем LAN подсети в сторону HUB используя network в address-family.
...
| Блок кода |
|---|
SPOKE-1(config)# route-map DMVPN_BGP_OUT
SPOKE-1(config-route-map)# rule 1
SPOKE-1(config-route-map-rule)# exit
SPOKE-1(config-route-map)# exit
SPOKE-1(config)# router bgp 64501
SPOKE-1(config-bgp)# timers error-wait 5 10
SPOKE-1(config-bgp)# neighbor 203.0.113.1
SPOKE-1(config-bgp-neighbor)# remote-as 64500
SPOKE-1(config-bgp-neighbor)# allow-local-as 10
SPOKE-1(config-bgp-neighbor)# update-source 203.0.113.2
SPOKE-1(config-bgp-neighbor)# fall-over bfd
SPOKE-1(config-bgp-neighbor)# address-family ipv4 unicast
SPOKE-1(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out
SPOKE-1(config-bgp-neighbor-af)# enable
SPOKE-1(config-bgp-neighbor-af)# exit
SPOKE-1(config-bgp-neighbor)# enable
SPOKE-1(config-bgp-neighbor)# exit
SPOKE-1(config-bgp)# neighbor 203.0.113.129
SPOKE-1(config-bgp-neighbor)# remote-as 64500
SPOKE-1(config-bgp-neighbor)# allow-local-as 10
SPOKE-1(config-bgp-neighbor)# update-source 203.0.113.130
SPOKE-1(config-bgp-neighbor)# fall-over bfd
SPOKE-1(config-bgp-neighbor)# address-family ipv4 unicast
SPOKE-1(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out
SPOKE-1(config-bgp-neighbor-af)# enable
SPOKE-1(config-bgp-neighbor-af)# exit
SPOKE-1(config-bgp-neighbor)# enable
SPOKE-1(config-bgp-neighbor)# exit
SPOKE-1(config-bgp)# address-family ipv4 unicast
SPOKE-1(config-bgp-af)# network 128.66.1.0/24
SPOKE-1(config-bgp-af)# exit
SPOKE-1(config-bgp)# enable
SPOKE-1(config-bgp)# exit |
Произведём настройку IPsec для SPOKE-1, настроим ike proposal, ike policy и ike gateway. В ike gateway дополнительно настроим dpd для ускорения перестроения туннелей, в случае если выйдет из строя Active-устройство:
| Блок кода |
|---|
SPOKE-1(config)# security ike proposal ike_proposal
SPOKE-1(config-ike-proposal)# authentication algorithm sha2-256
SPOKE-1(config-ike-proposal)# encryption algorithm aes256
SPOKE-1(config-ike-proposal)# dh-group 19
SPOKE-1(config-ike-proposal)# exit
SPOKE-1(config)# security ike policy ike_policy
SPOKE-1(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF
SPOKE-1(config-ike-policy)# proposal ike_proposal
SPOKE-1(config-ike-policy)# exit
SPOKE-1(config)# security ike gateway ike_gateway_cloud_one
SPOKE-1(config-ike-gw)# version v2-only
SPOKE-1(config-ike-gw)# ike-policy ike_policy
SPOKE-1(config-ike-gw)# local address 198.51.100.10
SPOKE-1(config-ike-gw)# local network 198.51.100.10/32 protocol gre
SPOKE-1(config-ike-gw)# remote address 198.51.100.2
SPOKE-1(config-ike-gw)# remote network 198.51.100.2/32 protocol gre
SPOKE-1(config-ike-gw)# mode policy-based
SPOKE-1(config-ike-gw)# mobike disable
SPOKE-1(config-ike-gw)# dead-peer-detection action clear
SPOKE-1(config-ike-gw)# dead-peer-detection interval 310
SPOKE-1(config-ike-gw)# dead-peer-detection retransmit timeout 15
SPOKE-1(config-ike-gw)# dead-peer-detection retransmit tries 2
SPOKE-1(config-ike-gw)# exit
SPOKE-1(config)# security ike gateway ike_gateway_cloud_two
SPOKE-1(config-ike-gw)# version v2-only
SPOKE-1(config-ike-gw)# ike-policy ike_policy
SPOKE-1(config-ike-gw)# local address 198.51.100.10
SPOKE-1(config-ike-gw)# local network 198.51.100.10/32 protocol gre
SPOKE-1(config-ike-gw)# remote address 198.51.100.6
SPOKE-1(config-ike-gw)# remote network 198.51.100.6/32 protocol gre
SPOKE-1(config-ike-gw)# mode policy-based
SPOKE-1(config-ike-gw)# mobike disable
SPOKE-1(config-ike-gw)# dead-peer-detection action clear
SPOKE-1(config-ike-gw)# dead-peer-detection interval 310
SPOKE-1(config-ike-gw)# dead-peer-detection retransmit timeout 15
SPOKE-1(config-ike-gw)# dead-peer-detection retransmit tries 2
SPOKE-1(config-ike-gw)# exit
SPOKE-1(config)# security ike gateway ike_gateway_to_spokes
SPOKE-1(config-ike-gw)# version v2-only
SPOKE-1(config-ike-gw)# ike-policy ike_policy
SPOKE-1(config-ike-gw)# local address 198.51.100.10
SPOKE-1(config-ike-gw)# local network 198.51.100.10/32 protocol gre
SPOKE-1(config-ike-gw)# remote id any
SPOKE-1(config-ike-gw)# remote address any
SPOKE-1(config-ike-gw)# remote network any protocol gre
SPOKE-1(config-ike-gw)# mode policy-based
SPOKE-1(config-ike-gw)# mobike disable
SPOKE-1(config-ike-gw)# dead-peer-detection action clear
SPOKE-1(config-ike-gw)# dead-peer-detection interval 310
SPOKE-1(config-ike-gw)# dead-peer-detection retransmit timeout 15
SPOKE-1(config-ike-gw)# dead-peer-detection retransmit tries 2
SPOKE-1(config-ike-gw)# exit |
Затем настроим IPsec proposal, IPsec policy и IPsec vpn туннели через каждый CLOUD:
...
Скорректируем правила зоны безопасности WAN, разрешим протоколы для GRE over IPSec-туннеля:
| Блок кода |
|---|
SPOKE-1(config)# object-group service ISAKMP_PORT
SPOKE-1(config-object-group-service)# port-range 500
SPOKE-1(config-object-group-service)# port-range 4500
SPOKE-1(config-object-group-service)# exit
SPOKE-1(config)# security zone-pair WAN self
SPOKE-1(config-security-zone-pair)# rule 1
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol udp
SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORT
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# rule 2
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol esp
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# rule 3
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol gre
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# exit |
Настроим правила зон безопасности DMVPN_C_ONE и DMVPN_C_TWO, разрешим прохождение трафика для протоколов BGP, BFD, ICMP:
| Блок кода |
|---|
SPOKE-1(config)# object-group service BGP
SPOKE-1(config-object-group-service)# port-range 179
SPOKE-1(config-object-group-service)# exit
SPOKE-1(config)# object-group service BFD
SPOKE-1(config-object-group-service)# port-range 3784
SPOKE-1(config-object-group-service)# exit
SPOKE-1(config)# security zone-pair DMVPN_C_ONE self
SPOKE-1(config-security-zone-pair)# rule 1
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol icmp
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# rule 2
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol tcp
SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BGP
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# rule 3
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol udp
SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BFD
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# exit
SPOKE-1(config)# security zone-pair DMVPN_C_TWO self
SPOKE-1(config-security-zone-pair)# rule 1
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol icmp
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# rule 2
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol tcp
SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BGP
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# rule 3
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol udp
SPOKE-1(config-security-zone-pair-rule)# match destination-port object-group BFD
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# exit |
Скорректируем правила зоны безопасности LAN, разрешим прохождение трафика между зонами LAN и DMVPN_C_ONE/DMVPN_C_TWO:
| Блок кода |
|---|
SPOKE-1(config)# security zone-pair LAN DMVPN_C_ONE
SPOKE-1(config-security-zone-pair)# rule 1
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# exit
SPOKE-1(config)# security zone-pair LAN DMVPN_C_TWO
SPOKE-1(config-security-zone-pair)# rule 1
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# exit
SPOKE-1(config)# security zone-pair DMVPN_C_ONE LAN
SPOKE-1(config-security-zone-pair)# rule 1
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol icmp
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# exit
SPOKE-1(config)# security zone-pair DMVPN_C_TWO LAN
SPOKE-1(config-security-zone-pair)# rule 1
SPOKE-1(config-security-zone-pair-rule)# action permit
SPOKE-1(config-security-zone-pair-rule)# match protocol icmp
SPOKE-1(config-security-zone-pair-rule)# enable
SPOKE-1(config-security-zone-pair-rule)# exit
SPOKE-1(config-security-zone-pair)# exit |
Создадим туннели mGRE, каждый через свой CLOUD, определим принадлежность к зоне безопасности, настроим NHRP и включим туннель и NHRP командой enable:
| Блок кода |
|---|
SPOKE-2(config)# security zone DMVPN_C_TWO
SPOKE-2(config-security-zone)# exit
SPOKE-2(config)# security zone DMVPN_C_ONE
SPOKE-2(config-security-zone)# exit
SPOKE-2(config)# tunnel gre 1
SPOKE-2(config-gre)# key 1000
SPOKE-2(config-gre)# ttl 64
SPOKE-2(config-gre)# mtu 1400
SPOKE-2(config-gre)# multipoint
SPOKE-2(config-gre)# security-zone DMVPN_C_ONE
SPOKE-2(config-gre)# local address 198.51.100.14
SPOKE-2(config-gre)# ip address 203.0.113.3/25
SPOKE-2(config-gre)# ip tcp adjust-mss 1360
SPOKE-2(config-gre)# ip nhrp holding-time 60
SPOKE-2(config-gre)# ip nhrp shortcut
SPOKE-2(config-gre)# ip nhrp map 203.0.113.1 198.51.100.2
SPOKE-2(config-gre)# ip nhrp nhs 203.0.113.1
SPOKE-2(config-gre)# ip nhrp multicast nhs
SPOKE-2(config-gre)# ip nhrp enable
SPOKE-2(config-gre)# enable
SPOKE-2(config-gre)# exit
SPOKE-2(config)# tunnel gre 2
SPOKE-2(config-gre)# key 2000
SPOKE-2(config-gre)# ttl 64
SPOKE-2(config-gre)# mtu 1400
SPOKE-2(config-gre)# multipoint
SPOKE-2(config-gre)# security-zone DMVPN_C_TWO
SPOKE-2(config-gre)# local address 198.51.100.14
SPOKE-2(config-gre)# ip address 203.0.113.131/25
SPOKE-2(config-gre)# ip tcp adjust-mss 1360
SPOKE-2(config-gre)# ip nhrp holding-time 60
SPOKE-2(config-gre)# ip nhrp shortcut
SPOKE-2(config-gre)# ip nhrp map 203.0.113.129 198.51.100.6
SPOKE-2(config-gre)# ip nhrp nhs 203.0.113.129
SPOKE-2(config-gre)# ip nhrp multicast nhs
SPOKE-2(config-gre)# ip nhrp enable
SPOKE-2(config-gre)# enable
SPOKE-2(config-gre)# exit |
Произведём настройку протокола динамической маршрутизации для SPOKE-1. В примере это будет eBGP, для которого необходимо явно разрешить анонсирование подсетей. Анонсируем LAN подсети в сторону HUB используя network в address-family.
...
| Блок кода |
|---|
SPOKE-2(config)# route-map DMVPN_BGP_OUT
SPOKE-2(config-route-map)# rule 1
SPOKE-2(config-route-map-rule)# exit
SPOKE-2(config-route-map)# exit
SPOKE-2(config)# router bgp 64501
SPOKE-2(config-bgp)# timers error-wait 5 10
SPOKE-2(config-bgp)# neighbor 203.0.113.1
SPOKE-2(config-bgp-neighbor)# remote-as 64500
SPOKE-2(config-bgp-neighbor)# allow-local-as 10
SPOKE-2(config-bgp-neighbor)# update-source 203.0.113.3
SPOKE-2(config-bgp-neighbor)# fall-over bfd
SPOKE-2(config-bgp-neighbor)# address-family ipv4 unicast
SPOKE-2(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out
SPOKE-2(config-bgp-neighbor-af)# enable
SPOKE-2(config-bgp-neighbor-af)# exit
SPOKE-2(config-bgp-neighbor)# enable
SPOKE-2(config-bgp-neighbor)# exit
SPOKE-2(config-bgp)# neighbor 203.0.113.129
SPOKE-2(config-bgp-neighbor)# remote-as 64500
SPOKE-2(config-bgp-neighbor)# allow-local-as 10
SPOKE-2(config-bgp-neighbor)# update-source 203.0.113.131
SPOKE-2(config-bgp-neighbor)# fall-over bfd
SPOKE-2(config-bgp-neighbor)# address-family ipv4 unicast
SPOKE-2(config-bgp-neighbor-af)# route-map DMVPN_BGP_OUT out
SPOKE-2(config-bgp-neighbor-af)# enable
SPOKE-2(config-bgp-neighbor-af)# exit
SPOKE-2(config-bgp-neighbor)# enable
SPOKE-2(config-bgp-neighbor)# exit
SPOKE-2(config-bgp)# address-family ipv4 unicast
SPOKE-2(config-bgp-af)# network 128.66.2.0/24
SPOKE-2(config-bgp-af)# exit
SPOKE-2(config-bgp)# enable
SPOKE-2(config-bgp)# exit |
Произведём настройку IPsec для SPOKE-1, настроим ike proposal, ike policy и ike gateway. В ike gateway дополнительно настроим dpd, для ускорения перестроения туннелей в случае если выйдет из строя Active-устройство:
| Блок кода |
|---|
SPOKE-2(config)# security ike proposal ike_proposal
SPOKE-2(config-ike-proposal)# authentication algorithm sha2-256
SPOKE-2(config-ike-proposal)# encryption algorithm aes256
SPOKE-2(config-ike-proposal)# dh-group 19
SPOKE-2(config-ike-proposal)# exit
SPOKE-2(config)# security ike policy ike_policy
SPOKE-2(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF
SPOKE-2(config-ike-policy)# proposal ike_proposal
SPOKE-2(config-ike-policy)# exit
SPOKE-2(config)# security ike gateway ike_gateway_cloud_one
SPOKE-2(config-ike-gw)# version v2-only
SPOKE-2(config-ike-gw)# ike-policy ike_policy
SPOKE-2(config-ike-gw)# local address 198.51.100.14
SPOKE-2(config-ike-gw)# local network 198.51.100.14/32 protocol gre
SPOKE-2(config-ike-gw)# remote address 198.51.100.2
SPOKE-2(config-ike-gw)# remote network 198.51.100.2/32 protocol gre
SPOKE-2(config-ike-gw)# mode policy-based
SPOKE-2(config-ike-gw)# mobike disable
SPOKE-2(config-ike-gw)# dead-peer-detection action clear
SPOKE-2(config-ike-gw)# dead-peer-detection interval 310
SPOKE-2(config-ike-gw)# dead-peer-detection retransmit timeout 15
SPOKE-2(config-ike-gw)# dead-peer-detection retransmit tries 2
SPOKE-2(config-ike-gw)# exit
SPOKE-2(config)# security ike gateway ike_gateway_cloud_two
SPOKE-2(config-ike-gw)# version v2-only
SPOKE-2(config-ike-gw)# ike-policy ike_policy
SPOKE-2(config-ike-gw)# local address 198.51.100.14
SPOKE-2(config-ike-gw)# local network 198.51.100.14/32 protocol gre
SPOKE-2(config-ike-gw)# remote address 198.51.100.6
SPOKE-2(config-ike-gw)# remote network 198.51.100.6/32 protocol gre
SPOKE-2(config-ike-gw)# mode policy-based
SPOKE-2(config-ike-gw)# mobike disable
SPOKE-2(config-ike-gw)# dead-peer-detection action clear
SPOKE-2(config-ike-gw)# dead-peer-detection interval 310
SPOKE-2(config-ike-gw)# dead-peer-detection retransmit timeout 15
SPOKE-2(config-ike-gw)# dead-peer-detection retransmit tries 2
SPOKE-2(config-ike-gw)# exit
SPOKE-2(config)# security ike gateway ike_gateway_to_spokes
SPOKE-2(config-ike-gw)# version v2-only
SPOKE-2(config-ike-gw)# ike-policy ike_policy
SPOKE-2(config-ike-gw)# local address 198.51.100.14
SPOKE-2(config-ike-gw)# local network 198.51.100.14/32 protocol gre
SPOKE-2(config-ike-gw)# remote id any
SPOKE-2(config-ike-gw)# remote address any
SPOKE-2(config-ike-gw)# remote network any protocol gre
SPOKE-2(config-ike-gw)# mode policy-based
SPOKE-2(config-ike-gw)# mobike disable
SPOKE-2(config-ike-gw)# dead-peer-detection action clear
SPOKE-2(config-ike-gw)# dead-peer-detection interval 310
SPOKE-2(config-ike-gw)# dead-peer-detection retransmit timeout 15
SPOKE-2(config-ike-gw)# dead-peer-detection retransmit tries 2
SPOKE-2(config-ike-gw)# exit |
Затем настроим IPsec proposal, IPsec policy и IPsec vpn туннели через каждый CLOUD:
...
Скорректируем правила зоны безопасности WAN, разрешим протоколы для GRE over IPSec-туннеля:
| Блок кода |
|---|
SPOKE-2(config)# object-group service ISAKMP_PORT
SPOKE-2(config-object-group-service)# port-range 500
SPOKE-2(config-object-group-service)# port-range 4500
SPOKE-2(config-object-group-service)# exit
SPOKE-2(config)# security zone-pair WAN self
SPOKE-2(config-security-zone-pair)# rule 1
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol udp
SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORT
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# rule 2
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol esp
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# rule 3
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol gre
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# exit |
Настроим правила зон безопасности DMVPN_C_ONE и DMVPN_C_TWO, разрешим прохождение трафика для протоколов BGP, BFD, ICMP:
| Блок кода |
|---|
SPOKE-2(config)# object-group service BGP
SPOKE-2(config-object-group-service)# port-range 179
SPOKE-2(config-object-group-service)# exit
SPOKE-2(config)# object-group service BFD
SPOKE-2(config-object-group-service)# port-range 3784
SPOKE-2(config-object-group-service)# exit
SPOKE-2(config)# security zone-pair DMVPN_C_ONE self
SPOKE-2(config-security-zone-pair)# rule 1
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol icmp
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# rule 2
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol tcp
SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BGP
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# rule 3
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol udp
SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BFD
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# exit
SPOKE-2(config)# security zone-pair DMVPN_C_TWO self
SPOKE-2(config-security-zone-pair)# rule 1
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol icmp
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# rule 2
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol tcp
SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BGP
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# rule 3
SPOKE-2(config-security-zone-pair-rule)# action permit
SPOKE-2(config-security-zone-pair-rule)# match protocol udp
SPOKE-2(config-security-zone-pair-rule)# match destination-port object-group BFD
SPOKE-2(config-security-zone-pair-rule)# enable
SPOKE-2(config-security-zone-pair-rule)# exit
SPOKE-2(config-security-zone-pair)# exit |
Скорректируем правила зоны безопасности LAN, разрешим прохождение трафика между зонами LAN и DMVPN_C_ONE/DMVPN_C_TWO:
...