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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Комментарий: Руди Г.Г.: SNMP

...

Настройка SNMP

Протокол SNMP позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.

В текущей схеме SNMP-трафик будет идти на интерфейсы Gi1/0/2.7 и Gi2/0/2.7. Необходимо настроить snmp-server и snmp-traps, чтобы удаленно получать информацию о состоянии сети и при необходимости изменять её конфигурацию.

Создайте зону безопасности для MGMT (management):

Блок кода
titleESR-1
ESR-1(config)# security zone MGMT
ESR-1(config-security-zone)# exit

Откройте SNMP-порты и порт для SSH-подключения:

Блок кода
titleESR-1
ESR-1(config)# object-group service SNMP
ESR-1(config-object-group-service)# port-range 161
ESR-1(config-object-group-service)# port-range 162
ESR-1(config-object-group-service)# exit
ESR-1(config)# object-group service SSH
ESR-1(config-object-group-service)# port-range 22
ESR-1(config-object-group-service)# exit

Укажите правила для зоны безопасности MGMT:

(Simple Network Management Protocol) реализует модель «менеджер–агент» для централизованного управления сетевыми устройствами: агенты, установленные на устройствах, собирают данные, структурированные в MIB, а менеджер запрашивает информацию, мониторит состояние сети, контролирует производительность и вносит изменения в конфигурацию оборудования.

С алгоритмом настройки можно ознакомиться по ссылке в разделе: Настройка SNMP-сервера и отправки SNMP TRAP.

Задача:
  • обеспечить возможность мониторинга сети через management-интерфейс каждого устройства в кластере:
  • обеспечить возможность мониторинга состояния сети и внесения изменений в конфигурацию устройства, выполняющего роль VRRP Master;
  • устройство управления (MGMT) доступно по IP-адресу 192.0.2.12.
Исходная конфигурация кластера:
Блок кода
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 MGMT
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
  enable
exit
  
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/3
  mode switchport
  spanning-tree disable
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
Решение:

Сконфигурируем необходимые сетевые интерфейсы для подключения к устройству управления с указанием их принадлежности к зоне безопасности:

Блок кода
titleESR-1
ESR-1(config)# interface gigabitethernet 1/0/2
ESR-1(config-if-gi)# security-zone MGMT
ESR-1(config-if-gi)# ip address 192.0.2.254/24
ESR-1(config-if-gi)# vrrp id 2
ESR-1(config-if-gi)# vrrp ip 192.0.2.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-if-gi)# vrrp authentication algorithm md5
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi
Блок кода
titleESR-1
ESR-1(config)# security zone-pair MGMT self
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 icmp 
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 vrrp 
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group SSH
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 SNMP
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)# securityinterface zone-pair MGMT IPsec_VPNgigabitethernet 2/0/2
ESR-1(config-securityif-zone-pairgi)# rulesecurity-zone 1MGMT
ESR-1(config-security-zone-pair-ruleif-gi)# actionip permit address 192.0.2.253/24
ESR-1(config-security-zone-pair-ruleif-gi)# matchvrrp protocolid icmp 2
ESR-1(config-security-zone-pair-ruleif-gi)# enable vrrp ip 192.0.2.1/24
ESR-1(config-security-zone-pair-ruleif-gi)# vrrp group exit1
ESR-1(config-securityif-zone-pairgi)# rule 2 vrrp authentication key ascii-text encrypted 88B11079B51D
ESR-1(config-security-zone-pair-ruleif-gi)# vrrp authentication actionalgorithm permitmd5
ESR-1(config-security-zone-pair-ruleif-gi)# match protocol udpvrrp
ESR-1(config-security-zone-pair-rule)# match destination-portif-gi)# exit

Создадим профиль SNMP-портов, предоставляющий доступ в MGMT зону безопасности:

Блок кода
titleESR-1
ESR-1(config)# object-group service SNMP
ESR-1(config-securityobject-zonegroup-pair-ruleservice)# enableport-range 161
ESR-1(config-securityobject-zonegroup-pair-ruleservice)# port-range exit162
ESR-1(config-securityobject-zonegroup-pairservice)# exit

Добавим правило, предусматривающее проверку, что порт назначения UDP-пакетов соответствует профилю SNMP-портов:

Блок кода
titleESR-1

ESR-1(config)# security zone-pair IPsec_VPNMGMT MGMTself
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 icmp udp
ESR-1(config-security-zone-pair-rule)# enable match destination-port object-group SNMP
ESR-1(config-security-zone-pair-rule)# exitenable
ESR-1(config-security-zone-pair-rule)# rule 2exit
ESR-1(config-security-zone-pair-rule)# action permit
exit

Активируем SNMP-сервер, настроив параметр snmp-community для обеспечения аутентификации и корректного доступа к данным мониторинга:

Блок кода
titleESR-1
ESR-1(config-security-zone-pair-rule)# match protocol tcpsnmp-server 
ESR-1(config-security-zone-pair-rule)# match destination-port object-group SSH
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
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 SNMP
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit

Настройте MGMT-интерфейсы:

Блок кода
titleESR-1
ESR-1(config)# interface gigabitethernet 1/0/2.7
ESR-1(config-if-gi)# description "Network: MGMT"
ESR-1(config-if-gi)# security-zone MGMT
ESR-1(config-if-gi)# ip address 192.18.7.254/24
ESR-1(config-if-gi)# vrrp id 7
ESR-1(config-if-gi)# vrrp ip 192.18.7.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/2.7
ESR-1(config-if-gi)# description "Network: MGMT"
ESR-1(config-if-gi)# security-zone MGMT
ESR-1(config-if-gi)# ip address 192.18.7.253/24
ESR-1(config-if-gi)# vrrp id 7
ESR-1(config-if-gi)# vrrp ip 192.18.7.1/24
ESR-1(config-if-gi)# vrrp group 1
ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit

Management-сервер, куда должен дойти MGMT-трафик, имеет IP-адрес — 192.18.2.75, который доступен через VTI-туннели.

Создайте object-group и укажите IP-адреса с привязкой к unit, которые будут использоваться в качестве адресов, с которых будут отправляться SNMP-пакеты с ESR:

Блок кода
titleESR-1
ESR-1(config)# object-group network MGMT_SRC
ESR-1(config-object-group-network)# ip address-range 192.18.7.254 unit 1
ESR-1(config-object-group-network)# ip address-range 192.18.7.253 unit 2
ESR-1(config-object-group-network)# exit

Включите SNMP-server, настройте snmp-community:

Блок кода
titleESR-1
ESR-1(config)# snmp-server
ESR-1(config)# snmp-server system-shutdown
ESR-1(config)# snmp-server community MGMT client-list MGMT_SRC rw

Настройте SNMP-сервер:

Блок кода
titleESR-1
ESR-1(config)# snmp-server host 192.18.2.75
ESR-1(config-snmp-host)# source-address object-group MGMT_SRC
ESR-1(config-snmp-host)# exit

Scroll Pagebreak

Настройте SNMP-уведомления на команды конфигурирования commit/confirm:

Блок кода
titleESR-1
ESR-1(config)# snmp-server enable traps config
ESR-1(config)# snmp-server enable traps config commit
ESR-1(config)# snmp-server enable traps config confirm

Настройка Source NAT

Source NAT (SNAT) представляет собой механизм, осуществляющий замену исходного IP-адреса в заголовках IP-пакетов, проходящих через сетевой шлюз. При передаче трафика из внутренней (локальной) сети в внешнюю (публичную) сеть исходный адрес заменяется на один из назначенных публичных IP-адресов шлюза. В ряде случаев осуществляется дополнительное преобразование исходного порта (NATP – Network Address and Port Translation), что обеспечивает корректное направление обратного трафика. При поступлении пакетов из публичной сети в локальную происходит обратная процедура – восстановление оригинальных значений IP-адреса и порта для обеспечения корректной маршрутизации внутри внутренней сети.

С алгоритмом настройки можно ознакомиться по ссылке в разделе: Алгоритм настройки Source NAT.

Пример настройки

Задача:
  • предоставить доступ в Интернет хостам, находящимся в локальной сети;
  • клиентская подсеть: 192.0.2.0/24;
  • публичный IP адрес  – VIP адрес на интерфейсе.

Image Removed

Рисунок 5 — Схема реализации Source NAT

Исходная конфигурация кластера:
snmp-server community cluster rw

Благодаря данной настройке обеспечивается возможность централизованного мониторинга и управления как отдельными устройствами, так и устройством, выполняющим роль VRRP Master:

Блок кода
titleESR-1
cluester@cluester-System:~$ snmpset -v2c -c public 192.0.2.253 .1.3.6.1.2.1.1.5.0 s 'ESR-1'
SNMPv2-MIB::sysName.0 = STRING: ESR-1
cluester@cluester-System:~$ snmpset -v2c -c public 192.0.2.254 .1.3.6.1.2.1.1.5.0 s 'ESR-2'
SNMPv2-MIB::sysName.0 = STRING: ESR-2
cluester@cluester-System:~$ snmpset -v2c -c public 192.0.2.1 .1.3.6.1.2.1.1.5.0 s 'VRRP-Master'
SNMPv2-MIB::sysName.0 = STRING: VRRP-Master

Настройка Source NAT

Source NAT (SNAT) представляет собой механизм, осуществляющий замену исходного IP-адреса в заголовках IP-пакетов, проходящих через сетевой шлюз. При передаче трафика из внутренней (локальной) сети в внешнюю (публичную) сеть исходный адрес заменяется на один из назначенных публичных IP-адресов шлюза. В ряде случаев осуществляется дополнительное преобразование исходного порта (NATP – Network Address and Port Translation), что обеспечивает корректное направление обратного трафика. При поступлении пакетов из публичной сети в локальную происходит обратная процедура – восстановление оригинальных значений IP-адреса и порта для обеспечения корректной маршрутизации внутри внутренней сети.

С алгоритмом настройки можно ознакомиться по ссылке в разделе: Алгоритм настройки Source NAT.

Пример настройки

Задача:
  • предоставить доступ в Интернет хостам, находящимся в локальной сети;
  • клиентская подсеть: 192.0.2.0/24;
  • публичный IP адрес  – VIP адрес на интерфейсе.

Image Added

Рисунок 5 — Схема реализации Source NAT

Исходная конфигурация кластера:
Блок кода
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 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
  enable
exit
 
interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 3
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 3
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  mode switchport
  spanning-tree disable
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
Решение:

Сконфигурируем необходимые сетевые интерфейсы для подключения к провайдеру с указанием их принадлежности к зоне безопасности:

Блок кода
titleESR-1
ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# security-zone WAN
ESR-1(config-if-gi)#
Блок кода
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 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
  enable
exit
 
interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.23.2541/24
  ESR-1(config-if-gi)# vrrp id 3
 2
ESR-1(config-if-gi)# vrrp ip 192203.0.2113.1252/24
 ESR-1(config-if-gi)# vrrp group 1
 ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
 ESR-1(config-if-gi)# vrrp authentication algorithm md5
 ESR-1(config-if-gi)# vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/2
 1
ESR-1(config-if-gi)# security-zone LAN
 WAN
ESR-1(config-if-gi)# ip address 192.0.3.2.253/24
  ESR-1(config-if-gi)# vrrp id 3
 2
ESR-1(config-if-gi)# vrrp ip 192203.0.2113.1252/24
 ESR-1(config-if-gi)# vrrp group 1
 ESR-1(config-if-gi)# vrrp authentication key ascii-text encrypted 88B11079B51D
 ESR-1(config-if-gi)# vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  mode switchport
  spanning-tree disable
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
Решение:

Сконфигурируем необходимые сетевые интерфейсы для подключения к провайдеру с указанием их принадлежности к зоне безопасности:

ESR-1(config-if-gi)# vrrp
ESR-1(config-if-gi)# exit

Создадим список IP-адресов, которые будут иметь возможность выхода в Интернет:

Блок кода
titleESR-1
ESR-1(config)# interfaceobject-group gigabitethernet 1/0/1network INTERNET_USERS
ESR-1(config-if-gi)# security-zone WAN
ESR-1(config-if-giobject-group-network)# ip address-range 192.0.2.2-192.0.32.1/24252
ESR-1(config-object-ifgroup-ginetwork)# vrrp id 2
exit

Добавим правило, предусматривающее проверку, принадлежит ли адрес источника диапазону INTERNET_USERS, что обеспечивает соблюдение установленных ограничений на выход в публичную сеть:

Блок кода
titleESR-1
ESR-1(config-if-gi)# vrrp ip 203.0.113.252/24 security zone-pair LAN WAN 
ESR-1(config-security-ifzone-gipair)# vrrp grouprule 1
ESR-1(config-if-gisecurity-zone-pair-rule)# vrrp authentication key ascii-text encrypted 88B11079B51Daction permit 
ESR-1(config-security-ifzone-pair-girule)# vrrpmatch authentication algorithm md5source-address object-group INTERNET_USERS
ESR-1(config-security-zone-ifpair-girule)# enable vrrp
ESR-1(config-security-zone-ifpair-girule)# exit
ESR-1(config)# interface gigabitethernet -security-zone-pair)# exit

Создадим пул исходных NAT-адресов, в который включим виртуальный IP-адрес (VIP), назначенный WAN-интерфейсу:

Блок кода
titleESR-1
2/0/1
ESR-1(config-if-gi)# security-zonenat WANsource
ESR-1(config-if-gisnat)# pool TRANSLATE_ADDRESS
ESR-1(config-snat-pool)# ip address-range 192203.0.3113.2/24252
ESR-1(config-snat-pool)# exit

Добавим набор правил SNAT. В атрибутах набора укажем применение правил исключительно для пакетов, направляемых в зону WAN. При этом правила осуществляют проверку адреса источника на принадлежность к пулу INTERNET_USERS и выполняют трансляцию исходного адреса в VIP IP-адрес интерфейса:

Блок кода
titleESR-1
ESR-1(config)# nat source 
ESR-1(config-snat)# ruleset SNAT-if-gi)# vrrp id 2
ESR-1(config-ifsnat-giruleset)# to vrrpzone ip 203.0.113.252/24WAN 
ESR-1(config-ifsnat-giruleset)# vrrp grouprule 1
ESR-1(config-ifsnat-girule)# vrrpmatch authentication key ascii-text encrypted 88B11079B51Dsource-address object-group INTERNET_USERS
ESR-1(config-ifsnat-girule)# vrrpaction authenticationsource-nat algorithmpool md5TRANSLATE_ADDRESS 
ESR-1(config-ifsnat-girule)# enable vrrp
ESR-1(config-ifsnat-girule)# exit

Создадим список IP-адресов, которые будут иметь возможность выхода в Интернет:

Блок кода
titleESR-1
ESR-1(config)# object-group network INTERNET_USERS
ESR-1(config-object-group-network)# ip address-range 192.0.2.2-192.0.2.252ESR-1(config-snat-ruleset)# exit
ESR-1(config-object-group-networksnat)# exit

Добавим правило, предусматривающее проверку, принадлежит ли адрес источника диапазону INTERNET_USERS, что обеспечивает соблюдение установленных ограничений на выход в публичную сетьПросмотр таблицы NAT трансляций осуществляется посредством следующей команды:

Блок кода
titleESR-1
ESR-1(config)# security zone-pair LAN WAN 
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 source-address object-group INTERNET_USERS
ESR-1(config-security-zone-pair-rule)# enable 
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# exit

Создадим пул исходных NAT-адресов, в который включим виртуальный IP-адрес (VIP), назначенный WAN-интерфейсу:

Блок кода
titleESR-1
ESR-1(config)# nat source
ESR-1(config-snat)# pool TRANSLATE_ADDRESS
ESR-1(config-snat-pool)# ip address-range 203.0.113.252
ESR-1(config-snat-pool)# exit

Добавим набор правил SNAT. В атрибутах набора укажем применение правил исключительно для пакетов, направляемых в зону WAN. При этом правила осуществляют проверку адреса источника на принадлежность к пулу INTERNET_USERS и выполняют трансляцию исходного адреса в VIP IP-адрес интерфейса:

Блок кода
titleESR-1
ESR-1(config)# nat source 
ESR-1(config-snat)# ruleset SNAT
ESR-1(config-snat-ruleset)# to zone WAN 
ESR-1(config-snat-ruleset)# rule 1
ESR-1(config-snat-rule)# match source-address object-group INTERNET_USERS
ESR-1(config-snat-rule)# action source-nat pool TRANSLATE_ADDRESS 
ESR-1(config-snat-rule)# enable 
ESR-1(config-snat-rule)# exit
ESR-1(config-snat-ruleset)# exit
ESR-1(config-snat)# exit

Просмотр таблицы NAT трансляций осуществляется посредством следующей команды:

Блок кода
titleESR-1
ESR-1# show ip nat translations 
Prot   Inside source1# show ip nat translations 
Prot   Inside source           Inside destination      Outside source          Outside destination     Pkts         Bytes        
----   ---------------------   ---------------------   ---------------------   ---------------------   ----------   ----------   
icmp   192.0.2.12            Inside destination 203.0.113.1     Outside source       203.0.113.252   Outside destination     Pkts    203.0.113.1     Bytes        
----   ---------------------   ---------------------   ---------------------   ---------------------   ----------   ----------   
icmp   192.0.2.12              203.0.113.1             203.0.113.252           203.0.113.1             --           --              

Настройка Destination NAT

Функция Destination NAT (DNAT) выполняет преобразование IP-адреса назначения в заголовках пакетов, проходящих через сетевой шлюз. DNAT применяется для перенаправления трафика, адресованного на IP-адрес в публичном сегменте сети, на «реальный» IP-адрес сервера, расположенного в локальной сети за шлюзом.

Пример настройки

Задача:
  • организовать публичный доступа к серверу, находящемуся в частной сети и не имеющему публичного сетевого адреса;
  • сервер доступен по адресу: 192.0.2.12/24;

...

Рисунок 6 — Схема реализации Destination NAT

Исходная конфигурация кластера:
Блок кода
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 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
  enable
exit
 
interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 192.0.2.254/24
  vrrp id 3
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/2
  security-zone LAN
  ip address 192.0.2.253/24
  vrrp id 3
  vrrp ip 192.0.2.1/24
  vrrp group 1
  vrrp authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  mode switchport
  spanning-tree disable
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
Решение:

Сконфигурируем необходимые сетевые интерфейсы для подключения к DMZ-серверу с указанием их принадлежности к зоне безопасности:

...

Пример настройки eBGP с общим IP-адресом

Задача:

Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:

...

Рисунок 7 — Схема реализации eBGP с общим IP-адресом

Исходная конфигурация кластера:
Блок кода
titleESR-1
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 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/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 authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  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 authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  mode switchport
  spanning-tree disable
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
Решение:

Сконфигурируем необходимые сетевые интерфейсы:

...

Пример настройки eBGP с каждым участником кластера по индивидуальным IP-адресам

Задача:

Настроить BGP-протокол в кластере маршрутизаторов ESR-1 и ESR-2 со следующими параметрами:

...

Рисунок 8 — Схема реализации eBGP с каждым участником кластера по индивидуальным IP-адресам

Исходные конфигурации маршрутизаторов в кластере:
Блок кода
titleESR-1
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 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/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 authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 1/0/3
  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 authentication key ascii-text encrypted 88B11079B51D
  vrrp authentication algorithm md5
  vrrp
exit
interface gigabitethernet 2/0/3
  mode switchport
  spanning-tree disable
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
Решение:

Сконфигурируем необходимые сетевые интерфейсы:

Блок кода
ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# ip address 203.0.113.1/30
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# ip address 203.0.113.5/30
ESR-1(config-if-gi)# exit

Сконфигурируем зону безопасности WAN, настроем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN, а также разрешим прохождение трафика из зоны LAN в зону WAN:

с каждым участником кластера по индивидуальным IP-адресам

Исходные конфигурации маршрутизаторов в кластере:
Блок кода
titleESR-1
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 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.100
  security-zone WAN
  ip address 192.0.2.9/29
  vrrp id 2
  vrrp ip 198.51.100.2/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.1
  wan load-balance enable
exit
interface gigabitethernet 1/0/1.200
  security-zone WAN
  ip address 192.0.2.17/29
  vrrp id 3
  vrrp ip 198.51.100.6/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.5
  wan load-balance enable
exit
interface gigabitethernet 1/0/2
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 128.66.0.2/24
  vrrp id 4
  vrrp ip 128.66.0.1/24
  vrrp group 1
  vrrp
exit
interface gigabitethernet 2/0/1.100
  security-zone WAN
  ip address 192.0.2.10/29
  vrrp id 2
  vrrp ip 198.51.100.2/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.1
  wan load-balance enable
exit
interface gigabitethernet 2/0/1.200
  security-zone WAN
  ip address 192.0.2.18/29
  vrrp id 3
  vrrp ip 198.51.100.6/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.5
  wan load-balance enable
exit
interface gigabitethernet 2/0/2
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 128.66.0.3/24
  vrrp id 4
  vrrp ip 128.66.0.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 ah
    enable
  exit
exit
Решение:

Сконфигурируем необходимые сетевые интерфейсы:

Блок кода
ESR-1(config)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# ip address 203.0.113.1/30
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# ip address 203.0.113.5/30
ESR-1(config-if-gi)# exit

Сконфигурируем зону безопасности WAN, настроем firewall для приема маршрутизатором BGP-трафика из зоны безопасности WAN, а также разрешим прохождение трафика из зоны LAN в зону WAN:

Блок кода
ESR-1(config)# object-group service og_bgp
ESR-1(config-object-group-service)# port-range 179
ESR-1(config-object-group-service)# exit
ESR-1(config)# security zone WAN
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone-pair WAN self 
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 icmp
ESR-1(config-security-zone-pair-rule)# enable
ESR-1(config-security-zone-pair-rule)# exit
ESR-1(config-security-zone-pair)# rule 2
ESR-1(config-security-zone-pair-rule)# match protocol tcp
ESR-1(config-security-zone-pair-rule)# match destination-port object-group og_bgp 
ESR-1(config-security-zone-pair-rule)# action permit 
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 WAN 
ESR-1(config-security-zone-pair)# rule 1
ESR-1(config-security-zone-pair-rule)# action permit
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)# interface gigabitethernet 1/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# exit
ESR-1(config)# interface gigabitethernet 2/0/1
ESR-1(config-if-gi)# security-zone WAN 
ESR-1(config-if-gi)# exit

Scroll Pagebreak

Создадим track для последующего управления анонсами маршрутов в кластере.

Блок кода
ESR-1(config)# track 1
ESR-1(config-track)# track vrrp id 1 state not master 
ESR-1(config-track)# enable 
ESR-1(config-track)# exit

Создадим route-map, который будет использоваться в дальнейшем при настройке разрешающих анонсов роутерам из другой AS. В route-map запретим анонсировать подсеть для cluster-interface, а также настроим управление as-path prepend для управлениями анонсами bgp:

Блок кода
ESR-1(config)# route-map bgp-out
ESR-1(config-route-map)# rule 1
ESR-1(config-route-map-rule)# match ip address 198.51.100.0/24
ESR-1(config-route-map-rule)# action deny 
ESR-1(config-route-map-rule)# exit
ESR-1(config-route-map)# rule 2
ESR-1(config-route-map-rule)# action set as-path prepend 20 track 1
ESR-1(config-route-map-rule)# action permit 
ESR-1(config-route-map-rule)# exit
ESR-1(config-route-map)# exit

Создадим BGP процесс для AS 2500 для ESR-1 и войдем в режим конфигурирования параметров процесса:

Блок кода
ESR-1(config)# router bgp 2500 unit 1

Сконфигурируем анонсирование подсетей, подключенных напрямую:

Блок кода
ESR-1(config-bgp)# address-family ipv4 unicast 
ESR-1(config-bgp-af)# redistribute connected 
ESR-1(config-bgp-af)# exit

Создадим eBGP с вышестоящим роутером:

Блок кода
ESR-1(config-bgp)# neighbor 203.0.113.2
ESR-1(config-bgp-neighbor)# remote-as 3000
ESR-1(config-bgp-neighbor)# update-source 203.0.113.1

И включим обмен IPv4-маршрутами:

Блок кода
ESR-1(config-bgp-neighbor)# address-family ipv4 unicast
ESR-1(config-bgp-neighbor-af)# route-map bgp-out out
ESR-1(config-bgp-neighbor-af)# enable
ESR-1(config-bgp-neighbor-af)# exit

Включим работу протокола:

Блок кода
ESR-1(config-bgp-neighbor)# enable
ESR-1(config-bgp-neighbor)# exit
ESR-1(config-bgp)# enable
ESR-1(config-bgp)# exit

Создадим BGP процесс для AS 2500 для ESR-2 и войдем в режим конфигурирования параметров процесса:

Блок кода
ESR-1(config)# router bgp 2500 unit 2

Сконфигурируем анонсирование подсетей, подключенных напрямую:

Блок кода
ESR-1(config-bgp)# address-family ipv4 unicast 
ESR-1(config-bgp-af)# redistribute connected 
ESR-1(config-bgp-af)# exit

Создадим eBGP с вышестоящим роутером:

Блок кода
ESR-1(config-bgp)# neighbor 203.0.113.6
ESR-1(config-bgp-neighbor)# remote-as 3500
ESR-1(config-bgp-neighbor)# update-source 203.0.113.5

И включим обмен IPv4-маршрутами:

Блок кода
ESR-1(config-bgp-neighbor)# address-family ipv4 unicast
ESR-1(config-bgp-neighbor-af)# route-map bgp-out out
ESR-1(config-bgp-neighbor-af)# enable
ESR-1(config-bgp-neighbor-af)# exit

Включим работу протокола:

Блок кода
ESR-1(config-bgp-neighbor)# enable
ESR-1(config-bgp-neighbor)# exit
ESR-1(config-bgp)# enable
ESR-1(config-bgp)# exit

Применим конфигурацию на Active устройстве.

Информацию о BGP-пирах можно посмотреть командой:

Блок кода
ESR-1# show bgp neighbors 
BGP neighbor is 203.0.113.2
    BGP state:                          Established
    Type:                               Static neighbor
    Neighbor address:                   203.0.113.2
    Neighbor AS:                        3000
    Neighbor ID:                        8.8.8.8
    Neighbor caps:                      refresh enhanced-refresh restart-aware AS4
    Session:                            external AS4
    Source address:                     203.0.113.1
    Weight:                             0
    Hold timer:                         120/180
    Keepalive timer:                    49/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:03:40  


Блок кода
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:                        3500
    Neighbor ID:                        8.8.8.8
    Neighbor caps:                      refresh enhanced-refresh restart-aware AS4
    Session:                            external AS4
    Source address:                     203.0.113.5
    Weight:                             0
    Hold timer:                         138/180
    Keepalive timer:                    56/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:03:42 

Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:

Блок кода
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.2 advertise-routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
              * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete

     Network              Next Hop             Metric  LocPrf      Weight Path        
*> u 192.0.2.0/24         203.0.113.1          --      --          --     2500 ?
*  u 192.0.2.0/24         203.0.113.1          --      --          --     2500 ?
*> u 203.0.113.0/30       203.0.113.1          --      --          --     2500 ?
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.2 routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
              * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete

     Network              Next Hop             Metric  LocPrf      Weight Path        
*> u 0.0.0.0/0            203.0.113.2          --      100         0      3000 ?


Блок кода
ESR-2# show bgp ipv4 unicast neighbor 203.0.113.6 advertise-routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
              * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete

     Network              Next Hop             Metric  LocPrf      Weight Path        
*> u 192.0.2.0/24         203.0.113.5          --      --          --     2500 20 ?
*> u 203.0.113.4/30       203.0.113.5          --      --          --     2500 20 ?
ESR-2# show bgp ipv4 unicast neighbor 203.0.113.6 routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
              * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete

     Network              Next Hop             Metric  LocPrf      Weight Path        
*> u 0.0.0.0/0            203.0.113.6          --      100         0      3500 ?

Настройка DMVPN

DMVPN (Dynamic Multipoint Virtual Private Network) — технология для создания виртуальных частных сетей, с возможностью динамического создания туннелей между узлами. Преимуществом данного решения является высокая масштабируемость и легкость настройки при подключении филиалов к головному офису. DMVPN используется в топологии Hub-and-Spoke, и позволяет строить прямые VPN-туннели Spoke-to-Spoke в дополнение к обычным Spoke-to-Hub туннелям. Это означает, что филиалы смогут общаться друг с другом напрямую, без необходимости прохождения трафика через Hub.

Чтобы установить такое соединение, клиенты (NHC) по шифрованному IPsec-туннелю отправляют соответствие своего внутреннего (туннельного) адреса и внешнего (NBMA) адреса на NHRP-сервер (NHS). Когда клиент захочет соединиться с другим NHC, он посылает на сервер запрос, чтобы узнать его внешний адрес. Получив ответ от сервера, клиент теперь самостоятельно может устанавливать соединение c удалённым филиалом.

С алгоритмом настройки можно ознакомиться по ссылке в разделе: Алгоритм настройки DMVPN.

Пример настройки DMVPN Single Hub (cluster) Dual Cloud схемы

Задача:

Организовать DMVPN между офисами компании, используя mGRE-туннели, NHRP (Next Hop Resolution Protocol), протокол динамической маршрутизации (BGP), IPsec. В данном примере будет HUB-маршрутизатор и два филиала. HUB – это DMVPN-cервер (NHS), а филиалы – DMPVN-клиенты (NHC).

HUB внешний IP-адрес — 150.115.0.5;
SPOKE-1 внешний IP-адрес — 180.100.0.10;
SPOKE-2 внешний IP-адрес — 140.114.0.4.

Параметры IPsec VPN:

IKE:

  • группа Диффи-Хэллмана: 19;
  • алгоритм шифрования: AES256;
  • алгоритм аутентификации: SHA2-256.

IPsec:

  • группа Диффи-Хэллмана: 19;
  • алгоритм шифрования: AES256;
  • алгоритм аутентификации: SHA2-256.

Image Added

Рисунок 7 — Схема реализации eBGP с общим IP-адресом

Исходная конфигурация CLUSTER-HUB:
Блок кода
titleHUB-1
cluster
  cluster-interface bridge 1
  unit 1
    mac-address a2:00:00:10:a0:00
  exit
  unit 2
    mac-address a2:00:00:10:b0:00
  exit
  enable
exit

hostname HUB-1 unit 1
hostname HUB-2 unit 2

security zone SYNC
exit
security zone LAN
exit
security zone WAN
exit

ip access-list extended LOCAL_1
  rule 1
    action permit
    match source-address 198.51.100.2 255.255.255.255
    enable
  exit
exit
ip access-list extended LOCAL_2
  rule 1
    action permit
    match source-address 198.51.100.6 255.255.255.255
    enable
  exit
exit

route-map PBR_LOCAL
  rule 1
    match ip access-group LOCAL_1
    action set ip next-hop verify-availability 198.51.100.1 1
  exit
  rule 2
    match ip access-group LOCAL_2
    action set ip next-hop verify-availability 198.51.100.5 1
  exit
exit
route-map DMVPN_BGP_OUT_CLOUD_TWO
  rule 1
    match ip address 0.0.0.0/0
    action set metric bgp 2000
  exit
exit
route-map DMVPN_BGP_OUT_CLOUD_ONE
  rule 1
    match ip address 0.0.0.0/0
    action set metric bgp 1000
  exit
exit

ip local policy route-map PBR_LOCAL

bridge 1
  vlan 1
  security-zone SYNC
  ip address 192.0.2.5/29 unit 1
  ip address 192.0.2.6/29 unit 2
  vrrp id 1
  vrrp ip 192.0.2.1/29
  vrrp group 1
  vrrp
  enable
exit

interface gigabitethernet 1/0/1.100
  security-zone WAN
  ip address 192.0.2.9/29
  vrrp id 2
  vrrp ip 198.51.100.2/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.1
  wan load-balance enable
exit
interface gigabitethernet 1/0/1.200
  security-zone WAN
  ip address 192.0.2.17/29
  vrrp id 3
  vrrp ip 198.51.100.6/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.5
  wan load-balance enable
exit
interface gigabitethernet 1/0/2
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 1/0/3
  security-zone LAN
  ip address 128.66.0.2/24
  vrrp id 4
  vrrp ip 128.66.0.1/24
  vrrp group 1
  vrrp
exit
interface gigabitethernet 2/0/1.100
  security-zone WAN
  ip address 192.0.2.10/29
  vrrp id 2
  vrrp ip 198.51.100.2/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.1
  wan load-balance enable
exit
interface gigabitethernet 2/0/1.200
  security-zone WAN
  ip address 192.0.2.18/29
  vrrp id 3
  vrrp ip 198.51.100.6/30
  vrrp group 1
  vrrp
  wan load-balance nexthop 198.51.100.5
  wan load-balance enable
exit
interface gigabitethernet 2/0/2
  mode switchport
  spanning-tree disable
exit
interface gigabitethernet 2/0/3
  security-zone LAN
  ip address 128.66.0.3/24
  vrrp id 4
  vrrp ip 128.66.0.1/24
  vrrp group 1
  vrrp
exit

security zone-pair SYNC self
  rule 1
    action permit
    match protocol vrrp
    enable
  exit
  rule 2
    action permit
    match protocol ah
    enable
  exit
  rule 3
    action permit
    match protocol icmp
    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
  rule 2
    action permit
    match protocol ah
    enable
  exit
exit

ip route 0.0.0.0/0 wan load-balance rule 1

wan load-balance rule 1
  outbound interface gigabitethernet 1/0/1.100
  outbound interface gigabitethernet 1/0/1.200
  outbound interface gigabitethernet 2/0/1.200
  outbound interface gigabitethernet 2/0/1.100
  enable
exit
Исходная конфигурация SPOKE-1:
Блок кода
titleSPOKE-1
hostname SPOKE-1

security zone LAN
exit
security zone WAN
exit

interface gigabitethernet 1/0/1
  security-zone WAN
  ip address 198.51.100.10/30
exit
interface gigabitethernet 1/0/2
  security-zone LAN
  ip address 128.66.1.1/24
exit

ip route 198.51.100.0/30 198.51.100.9
ip route 198.51.100.12/30 198.51.100.9
ip route 198.51.100.4/30 198.51.100.9
Исходная конфигурация SPOKE-2:
Блок кода
titleSPOKE-2
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
Решение:
  • Конфигурирование HUB

Создадим туннели 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, для которого необходимо явно разрешить анонсирование подсетей.

Так как в примере используется два CLOUD, необходимо сделать один из них более приоритетным, используя route-map.

Для ускорения переключения в случае выхода из строя Active устройства в кластере включим также bfd для BGP, а также уменьшим таймер error-wait.

Блок кода
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 3
HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 1
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 3
HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 1
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)# 
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)# 
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

Scroll Pagebreak

Подкорректируем правила зоны безопасности 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
Блок кода
ESR-1(config)# object-group service og_bgp
ESR-1(config-object-group-service)# port-range 179
ESR-1(config-object-group-service)# exit
ESR-1(config)# security zone WAN
ESR-1(config-security-zone)# exit
ESR-1(config)# security zone-pair WAN self 
ESRLAN DMVPN_C_ONE
HUB-1(config-security-zone-pair)# rule 1
ESRHUB-1(config-security-zone-pair-rule)# action permit
ESRHUB-1(config-security-zone-pair-rule)# match protocol icmp
ESRenable
HUB-1(config-security-zone-pair-rule)# enableexit
ESRHUB-1(config-security-zone-pair-rule)# exit
ESRHUB-1(config-security-zone-pair)# rule 2
ESR-1(config-security-security zone-pair-rule)# match protocol tcp
ESRLAN DMVPN_C_TWO
HUB-1(config-security-zone-pair-rule)# match destination-port object-group og_bgp 
ESRrule 1
HUB-1(config-security-zone-pair-rule)# action permit 
ESRHUB-1(config-security-zone-pair-rule)# enable 
ESRHUB-1(config-security-zone-pair-rule)# exit
ESRHUB-1(config-security-zone-pair)# exit
ESRHUB-1(config)# security zone-pair DMVPN_C_ONE LAN WAN 
ESRHUB-1(config-security-zone-pair)# rule 1
ESRHUB-1(config-security-zone-pair-rule)# action permit
ESRHUB-1(config-security-zone-pair-rule)# enable
ESRHUB-1(config-security-zone-pair-rule)# exit
ESRHUB-1(config-security-zone-pair)# exit

И укажем принадлежность интерфейсов к зоне безопасности:

Блок кода
ESR-1(config)# interface gigabitethernet 1/0/1
ESR
HUB-1(config-if-gi)# security zone-zone WAN 
ESRpair DMVPN_C_TWO LAN
HUB-1(config-if-gi)# exit
ESR-1(configsecurity-zone-pair)# interface gigabitethernet 2/0/rule 1
ESRHUB-1(config-security-zone-ifpair-girule)# security-zone WAN 
ESRaction permit
HUB-1(config-if-gi)# exit

Scroll Pagebreak

Создадим track для последующего управления анонсами маршрутов в кластере.

Блок кода
ESR-1(config)# track 1
ESRsecurity-zone-pair-rule)# enable
HUB-1(config-track)# track vrrp id 1 state not master 
ESR-1(config-track)# enable 
ESR-1(config-track)# exit

Создадим route-map, который будет использоваться в дальнейшем при настройке разрешающих анонсов роутерам из другой AS. В route-map запретим анонсировать подсеть для cluster-interface, а также настроим управление as-path prepend для управлениями анонсами bgp:

-security-zone-pair-rule)# exit
HUB-1(config-security-zone-pair)# exit
  • Конфигурирование SPOKE-1

Создадим туннели mGRE, каждый через свой CLOUD, определим принадлежность к зоне безопасности, настроим NHRP и включим туннель и NHRP командой enable:

Блок кода
SPOKE
Блок кода
ESR-1(config)# security route-map bgp-out
ESRzone DMVPN_C_TWO
SPOKE-1(config-routesecurity-mapzone)# rule 1exit
ESRSPOKE-1(config-route-map-rule)# matchsecurity ip address 198.51.100.0/24
ESRzone DMVPN_C_ONE
SPOKE-1(config-route-map-rulesecurity-zone)# exit
SPOKE-1(config)# actiontunnel denygre 1
ESRSPOKE-1(config-route-map-rulegre)# key exit1000
ESRSPOKE-1(config-route-mapgre)# rulettl 264
ESRSPOKE-1(config-route-map-rulegre)# action set as-path prepend 20 track 1
ESRmtu 1400
SPOKE-1(config-route-map-rulegre)# action permit 
ESRmultipoint
SPOKE-1(config-route-map-rulegre)# exit
ESRsecurity-zone DMVPN_C_ONE
SPOKE-1(config-route-mapgre)# exit

Создадим BGP процесс для AS 2500 для ESR-1 и войдем в режим конфигурирования параметров процесса:

Блок кода
ESR local address 198.51.100.10
SPOKE-1(config-gre)# routerip bgp 2500 unit 1

Сконфигурируем анонсирование подсетей, подключенных напрямую:

Блок кода
ESRaddress 203.0.113.2/25
SPOKE-1(config-bgpgre)# address-familyip ipv4tcp unicastadjust-mss 1360
ESRSPOKE-1(config-bgp-afgre)# ip redistributenhrp connectedholding-time 60
ESRSPOKE-1(config-bgp-afgre)# exit

Создадим eBGP с вышестоящим роутером:

Блок кода
ESRip nhrp shortcut
SPOKE-1(config-bgpgre)# ip neighbornhrp map 203.0.113.1 198.51.100.2
ESRSPOKE-1(config-bgp-neighborgre)# remote-as 3000
ESR-1(config-bgp-neighbor)# update-sourceip nhrp nhs 203.0.113.1

И включим обмен IPv4-маршрутами:

Блок кода
ESR
SPOKE-1(config-bgp-neighborgre)# ip address-familynhrp ipv4multicast unicastnhs
ESRSPOKE-1(config-bgp-neighbor-afgre)# route-map bgp-out out
ESRip nhrp enable
SPOKE-1(config-bgp-neighbor-afgre)# enable
ESRSPOKE-1(config-bgp-neighbor-afgre)# exit

Включим работу протокола:

Блок кода
ESR
SPOKE-1(config-bgp-neighbor)# tunnel gre enable2
ESRSPOKE-1(config-bgp-neighborgre)# key exit2000
ESRSPOKE-1(config-bgpgre)# ttl enable64
ESRSPOKE-1(config-bgpgre)# exit

Создадим BGP процесс для AS 2500 для ESR-2 и войдем в режим конфигурирования параметров процесса:

Блок кода
ESR-mtu 1400
SPOKE-1(config-gre)# router bgp 2500 unit 2

Сконфигурируем анонсирование подсетей, подключенных напрямую:

Блок кода
ESRmultipoint
SPOKE-1(config-bgpgre)# addresssecurity-family ipv4 unicast 
ESRzone DMVPN_C_TWO
SPOKE-1(config-bgp-afgre)# redistributelocal connected 
ESR-1(config-bgp-af)# exit

Создадим eBGP с вышестоящим роутером:

Блок кода
ESRaddress 198.51.100.10
SPOKE-1(config-bgpgre)# ip neighboraddress 203.0.113.6130/25
ESRSPOKE-1(config-bgp-neighborgre)# ip tcp remoteadjust-asmss 35001360
ESRSPOKE-1(config-bgp-neighborgre)# ip nhrp updateholding-source 203.0.113.5

И включим обмен IPv4-маршрутами:

Блок кода
ESR-time 60
SPOKE-1(config-bgp-neighborgre)# address-familyip ipv4nhrp unicastshortcut
ESRSPOKE-1(config-bgp-neighbor-afgre)# route-map bgp-out out
ESRip nhrp map 203.0.113.129 198.51.100.6
SPOKE-1(config-bgp-neighbor-afgre)# enable
ESR ip nhrp nhs 203.0.113.129
SPOKE-1(config-bgp-neighbor-afgre)# exit

Включим работу протокола:

Блок кода
ESR-1(config-bgp-neighbor)# enable
ESR ip nhrp multicast nhs
SPOKE-1(config-bgp-neighborgre)# ip nhrp exitenable
ESRSPOKE-1(config-bgpgre)# enable
ESRSPOKE-1(config-bgpgre)# exit

Применим конфигурацию на Active устройстве.

Информацию о BGP-пирах можно посмотреть командой:

Блок кода
ESR-1# show bgp neighbors 
BGP neighbor is 203.0.113.2
    BGP state:                          Established
    Type:                               Static neighbor
    Neighbor address:                   203.0.113.2
    Neighbor AS:                        3000
    Neighbor ID:                        8.8.8.8
    Neighbor caps:                      refresh enhanced-refresh restart-aware AS4
    Session:                            external AS4
    Source address:                     203.0.113.1
    Weight:                             0
    Hold timer:                         120/180
    Keepalive timer:                    49/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:03:40  

Произведём настройку протокола динамической маршрутизации для SPOKE-1. В примере это будет eBGP, для которого необходимо явно разрешить анонсирование подсетей.

Так как в примере используется два CLOUD, необходимо сделать один из них более приоритетным, используя route-map.

Для ускорения переключения в случае выхода из строя Active устройства в кластере включим также bfd для BGP, а также уменьшим таймер error-wait.

Блок кода
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 3
HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 1
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 3
HUB-1(config-ike-gw)# dead-peer-detection retransmit timeout 1
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)# 
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)# 
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

Scroll Pagebreak

Подкорректируем правила зоны безопасности 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







Создадим route-map, который будет использоваться в дальнейшем при настройке разрешающих анонсов роутерам из другой AS. В route-map запретим анонсировать подсеть для cluster-interface:

Блок кода
ESR-1(config)# route-map bgp-out
ESR-1(config-route-map)# rule 1
ESR-1(config-route-map-rule)# match ip address 198.51.100.0/24
ESR-1(config-route-map-rule)# action deny
ESR-1(config-route-map-rule)# exit
ESR-1(config-route-map)# rule 2
ESR-1(config-route-map-rule)# action permit
ESR-1(config-route-map-rule)# exit
ESR-1(config-route-map)# exit

Создадим BGP процесс для AS 2500 и войдем в режим конфигурирования параметров процесса:

Блок кода
ESR-1(config)# router bgp 2500

Сконфигурируем анонсирование подсетей, подключенных напрямую:

Блок кода
ESR-1(config-bgp)# address-family ipv4 unicast 
ESR-1(config-bgp-af)# redistribute connected 
ESR-1(config-bgp-af)# exit

Создадим eBGP с вышестоящим роутером:

Блок кода
ESR-1(config-bgp)# neighbor 203.0.113.2
ESR-1(config-bgp-neighbor)# remote-as 3000
ESR-1(config-bgp-neighbor)# update-source 203.0.113.1

И включим обмен IPv4-маршрутами:

Блок кода
ESR-1(config-bgp-neighbor)# address-family ipv4 unicast
ESR-1(config-bgp-neighbor-af)# route-map bgp-out out
ESR-1(config-bgp-neighbor-af)# enable
ESR-1(config-bgp-neighbor-af)# exit

Включим работу протокола:

Блок кода
ESR-1(config-bgp-neighbor)# enable
ESR-1(config-bgp-neighbor)# exit
ESR-1(config-bgp)# enable
ESR-1(config-bgp)# exit

Применим конфигурацию на Active устройстве.

Информацию о BGP-пирах можно посмотреть командой show bgp neighbors:

Блок кода
ESR-1# show bgp neighbors 
BGP neighbor is 203.0.113.2
    BGP state
Блок кода
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:                        3500
    Neighbor ID:                        8.8.8.8
    Neighbor caps:                      refresh enhanced-refresh restart-aware AS4
    Session:                            external AS4
    Source address:                     203.0.113.5
    Weight:                             0
    Hold timer:                         138/180
    Keepalive timer:                    56/60
    RR client:                          No
    Address family ipv4 unicast:       
      Send-label:                       No
   Established
   Default originateType:                No
      Default information originate:    No
      Outgoing route-map:               bgp-outStatic neighbor
    Neighbor  Preferenceaddress:                       170203.0.113.2
     Neighbor Remove private AS:                No
      Next-hop self: 3000
    Neighbor ID:              No
      Next-hop unchanged:   8.8.8.8
    Neighbor caps:       No
    Uptime (d,h:m:s):          refresh enhanced-refresh     restart-aware AS4
   00,00:03:42 

Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:

Блок кода
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.2 advertise-routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
 Session:                            external AS4
    Source address: * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete

     Network203.0.113.1
    Weight:          Next Hop             Metric  LocPrf   0
   Weight PathHold timer:       
*> u 192.0.2.0/24         203.0.113.1       111/180
   -- Keepalive timer:    --          --     2500 ?23/60
*  u 192.0.2.0/24   RR client:       203.0.113.1           --      --  No
    Address family ipv4 unicast: --     2500 ?
*> u 203.0.113.0/30
      Send-label:              203.0.113.1         No
 --     Default --originate:          --     2500 ?
ESR-1# show bgp ipv4 unicast neighbor 203.0.113.2 routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycastNo
      Default information originate:    No
      Outgoing route-map:               bgp-out
      Preference:        * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
170
     Network Remove private AS:            Next Hop   No
      Next-hop self:   Metric  LocPrf      Weight Path        No
*> u 0.0.0.0/0    Next-hop unchanged:       203.0.113.2        No
  --  Uptime (d,h:m:s):   100         0      3000 ? 00,00:03:06


Блок кода
ESR-2# show bgp ipv4neighbors unicast
BGP neighbor is 203.0.113.6 advertise-routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
2
    BGP state:                     * - valid, > - bestActive
Origin codes: i - IGP, e - EGP, ? - incomplete

 Type:         Network              Next Hop       Static neighbor
    Neighbor Metricaddress:  LocPrf      Weight Path        
*> u 192203.0.113.2.0/24
    Neighbor AS:         203.0.113.5          --     3000
 --   Connect delay:      --     2500 20 ?
*> u 203.0.113.4/30       203.0.113.52/5
    Last error:     --      --          --    Socket: 2500Network is unreachable

Таблицу маршрутов протокола BGP можно просмотреть с помощью команды:

Блок кода
ESR-1#20 ?
ESR-2# show bgp ipv4 unicast neighbor 203.0.113.6 routes 
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
              * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete

     Network              Next Hop             Metric  LocPrf      Weight Path        
*> u 0.0.0.0/0            203.0.113.62          --      100         0      35003000 ? 


Примечание

В случае выхода из строя Active устройства, BGP будет полностью переустанавливаться со Standby устройством.