...
Настройка SNMP
Протокол SNMP позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.
В текущей схеме SNMP-трафик будет идти на интерфейсы Gi1/0/2.7 и Gi2/0/2.7. Необходимо настроить snmp-server и snmp-traps, чтобы удаленно получать информацию о состоянии сети и при необходимости изменять её конфигурацию.
Создайте зону безопасности для MGMT (management):
| Блок кода |
|---|
|
ESR-1(config)# security zone MGMT
ESR-1(config-security-zone)# exit |
Откройте SNMP-порты и порт для SSH-подключения:
| Блок кода |
|---|
|
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 |
Решение:
Сконфигурируем необходимые сетевые интерфейсы для подключения к устройству управления с указанием их принадлежности к зоне безопасности:
| Блок кода |
|---|
|
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 |
| Блок кода |
|---|
|
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 зону безопасности:
| Блок кода |
|---|
|
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-портов:
| Блок кода |
|---|
|
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 для обеспечения аутентификации и корректного доступа к данным мониторинга:
| Блок кода |
|---|
|
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-интерфейсы:
| Блок кода |
|---|
|
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:
| Блок кода |
|---|
|
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:
| Блок кода |
|---|
|
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-сервер:
| Блок кода |
|---|
|
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 |
Настройте SNMP-уведомления на команды конфигурирования commit/confirm:
| Блок кода |
|---|
|
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:
| Блок кода |
|---|
|
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 |
Решение:
Сконфигурируем необходимые сетевые интерфейсы для подключения к провайдеру с указанием их принадлежности к зоне безопасности:
| Блок кода |
|---|
|
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-адресов, которые будут иметь возможность выхода в Интернет:
| Блок кода |
|---|
|
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, что обеспечивает соблюдение установленных ограничений на выход в публичную сеть:
| Блок кода |
|---|
|
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-интерфейсу:
| Блок кода |
|---|
|
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-адрес интерфейса:
| Блок кода |
|---|
|
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-адресов, которые будут иметь возможность выхода в Интернет:
| Блок кода |
|---|
|
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 трансляций осуществляется посредством следующей команды:
| Блок кода |
|---|
|
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-интерфейсу:
| Блок кода |
|---|
|
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-адрес интерфейса:
| Блок кода |
|---|
|
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 трансляций осуществляется посредством следующей команды:
| Блок кода |
|---|
|
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-адресом
Исходная конфигурация кластера:
| Блок кода |
|---|
|
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-адресам
Исходные конфигурации маршрутизаторов в кластере:
| Блок кода |
|---|
|
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-адресам
Исходные конфигурации маршрутизаторов в кластере:
| Блок кода |
|---|
|
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 |
Создадим 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:
| Блок кода |
|---|
|
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:
| Блок кода |
|---|
|
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:
| Блок кода |
|---|
|
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, для которого необходимо явно разрешить анонсирование подсетей.
Так как в примере используется два 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 |
Подкорректируем правила зоны безопасности 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 |
Создадим 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 |
Создадим туннели 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 |
Подкорректируем правила зоны безопасности 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 устройством. |