В качестве примера инфраструктуры центрального офиса рассмотрим топологию из дизайн-документа «Построение сети большого офиса». В рамках данного дизайн-документа была организована работа офисной сети с выходом локальных пользователей в Интернет через одного из двух доступных интернет-провайдеров. Также на схеме можно заметить сегмент демилитаризованной зоны для размещения сервисов с возможностью их публикации в сети Интернет с использованием технологии Destination или Static NAT.

Рисунок 2. Схема сети центрального офиса из дизайн-документа «Построение сети большого офиса»
Конфигурации оборудования в данной схеме представлены ниже:
hostname RT-GW-1
object-group network CUSTOMER_POOL
description "LAN | CUSTOMER"
ip prefix 10.100.0.0/24
exit
object-group network ISP_1_PROXY
description "ISP-1 | ARP PROXY"
ip address-range 203.0.113.3
exit
security zone UNTRUSTED
description "ISP-1 | Uplink"
exit
security zone MGMT
description "MGMT | Management"
exit
security zone CUSTOMER
description "LAN | CUSTOMER"
exit
interface port-channel 1
exit
interface port-channel 1.250
description "MGMT | Management link"
security-zone MGMT
ip address 10.250.0.1/24
exit
interface port-channel 1.100
description "LAN | CUSTOMER"
security-zone CUSTOMER
ip address 10.100.0.253/24
vrrp 1
ip address 10.100.0.1/24
priority 101
priority track 1 decrement 10
group 1
preempt disable
enable
exit
exit
interface gigabitethernet 1/0/1
description "ISP-1 | Uplink"
security-zone UNTRUSTED
ip address 203.0.113.2/25
ip nat proxy-arp ISP_1_PROXY
exit
interface gigabitethernet 1/0/3
mode switchport
channel-group 1 mode auto
lldp transmit
lldp receive
exit
interface gigabitethernet 1/0/4
mode switchport
channel-group 1 mode auto
lldp transmit
lldp receive
exit
security zone-pair MGMT self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
security zone-pair CUSTOMER self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
rule 20
description "Permit | VRRP | From ANY | To ANY"
action permit
match protocol vrrp
enable
exit
exit
security zone-pair CUSTOMER UNTRUSTED
rule 10
description "Permit | ANY | From CUSTOMER | To ISP-1"
action permit
match source-address object-group network CUSTOMER_POOL
enable
exit
exit
nat source
pool CUSTOMER_PUBLIC_IP
ip address-range 203.0.113.3
exit
ruleset SNAT
to zone UNTRUSTED
rule 10
description "Source | CUSTOMER"
match source-address object-group network CUSTOMER_POOL
action source-nat pool CUSTOMER_PUBLIC_IP
enable
exit
exit
exit
ip route 0.0.0.0/0 203.0.113.1 name ISP-1
ip sla
ip sla logging status
ip sla test 1
description "Check Google Public DNS available"
icmp-echo 8.8.4.4 source-ip 203.0.113.2 num-packets 5
enable
exit
ip sla test 2
description "Check ya.ru available"
icmp-echo 77.88.44.242 source-ip 203.0.113.2 num-packets 5
enable
exit
ip sla schedule all life forever start-time now
track 1
description "Check ISP-1 available"
track sla test 1 mode state fail
track sla test 2 mode state fail
enable
exit
|
hostname RT-GW-2
object-group network CUSTOMER_POOL
description "LAN | CUSTOMER"
ip prefix 10.100.0.0/24
exit
object-group network ISP_2_PROXY
description "ISP-2 | ARP PROXY"
ip address-range 203.0.113.131
exit
security zone UNTRUSTED
description "ISP-2 | Uplink"
exit
security zone MGMT
description "MGMT | Management"
exit
security zone CUSTOMER
description "LAN | CUSTOMER"
exit
interface port-channel 1
exit
interface port-channel 1.250
description "MGMT | Management link"
security-zone MGMT
ip address 10.250.0.2/24
exit
interface port-channel 1.100
description "LAN | CUSTOMER"
security-zone CUSTOMER
ip address 10.100.0.254/24
vrrp 1
ip address 10.100.0.1/24
priority 100
group 1
preempt disable
enable
exit
exit
interface gigabitethernet 1/0/1
description "ISP-2 | Uplink"
security-zone UNTRUSTED
ip address 203.0.113.130/25
ip nat proxy-arp ISP_2_PROXY
exit
interface gigabitethernet 1/0/3
mode switchport
channel-group 1 mode auto
lldp transmit
lldp receive
exit
interface gigabitethernet 1/0/4
mode switchport
channel-group 1 mode auto
lldp transmit
lldp receive
exit
security zone-pair MGMT self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
security zone-pair CUSTOMER self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
rule 20
description "Permit | VRRP | From ANY | To ANY"
action permit
match protocol vrrp
enable
exit
exit
security zone-pair CUSTOMER UNTRUSTED
rule 10
description "Permit | ANY | From CUSTOMER | To ISP-1"
action permit
match source-address object-group network CUSTOMER_POOL
enable
exit
exit
nat source
pool CUSTOMER_PUBLIC_IP
ip address-range 203.0.113.131
exit
ruleset SNAT
to zone UNTRUSTED
rule 10
description "Source | CUSTOMER"
match source-address object-group network CUSTOMER_POOL
action source-nat pool CUSTOMER_PUBLIC_IP
enable
exit
exit
exit
ip route 0.0.0.0/0 203.0.113.129 name ISP-2
|
hostname SW-CORE-1 ! vlan database vlan 100,250 exit ! vpc domain 1 peer detection peer detection ipaddr 1.1.1.2 1.1.1.1 peer keepalive role priority 1 peer link port-channel 1 exit ! vpc ! vpc group 2 domain 1 vpc-port port-channel 2 exit ! vpc group 3 domain 1 vpc-port port-channel 3 exit ! vpc group 4 domain 1 vpc-port port-channel 4 exit ! vpc group 5 domain 1 vpc-port port-channel 5 exit ! vpc group 6 domain 1 vpc-port port-channel 6 exit ! vpc group 7 domain 1 vpc-port port-channel 7 exit ! ! interface TenGigabitEthernet1/0/1 ip address 1.1.1.1 255.255.255.252 exit ! interface TenGigabitEthernet1/0/2 channel-group 1 mode auto exit ! interface TenGigabitEthernet1/0/3 channel-group 1 mode auto exit ! interface TenGigabitEthernet1/0/4 channel-group 2 mode auto exit ! interface TenGigabitEthernet1/0/5 channel-group 3 mode auto exit ! interface TenGigabitEthernet1/0/6 channel-group 4 mode auto exit ! interface TenGigabitEthernet1/0/7 channel-group 5 mode auto exit ! interface TenGigabitEthernet1/0/8 channel-group 6 mode auto exit ! interface TenGigabitEthernet1/0/9 channel-group 7 mode auto exit ! interface range Port-Channel1 switchport mode general switchport general allowed vlan add 100,250 tagged exit ! interface range Port-Channel2-5 switchport mode general switchport general allowed vlan add 100,250 tagged exit ! interface range Port-Channel6-7 switchport mode general switchport general allowed vlan add 250 tagged exit ! interface vlan 100 name Internet exit ! interface vlan 250 name Management ip address 10.250.0.10 255.255.255.0 exit ! ! end |
hostname SW-CORE-2 ! vlan database vlan 100,250 exit ! vpc domain 1 peer detection peer detection ipaddr 1.1.1.1 1.1.1.2 peer keepalive role priority 1 peer link port-channel 1 exit ! vpc ! vpc group 2 domain 1 vpc-port port-channel 2 exit ! vpc group 3 domain 1 vpc-port port-channel 3 exit ! vpc group 4 domain 1 vpc-port port-channel 4 exit ! vpc group 5 domain 1 vpc-port port-channel 5 exit ! vpc group 6 domain 1 vpc-port port-channel 6 exit ! vpc group 7 domain 1 vpc-port port-channel 7 exit ! ! interface TenGigabitEthernet1/0/1 ip address 1.1.1.2 255.255.255.252 exit ! interface TenGigabitEthernet1/0/2 channel-group 1 mode auto exit ! interface TenGigabitEthernet1/0/3 channel-group 1 mode auto exit ! interface TenGigabitEthernet1/0/4 channel-group 2 mode auto exit ! interface TenGigabitEthernet1/0/5 channel-group 3 mode auto exit ! interface TenGigabitEthernet1/0/6 channel-group 4 mode auto exit ! interface TenGigabitEthernet1/0/7 channel-group 5 mode auto exit ! interface TenGigabitEthernet1/0/8 channel-group 6 mode auto exit ! interface TenGigabitEthernet1/0/9 channel-group 7 mode auto exit ! interface range Port-Channel1 switchport mode general switchport general allowed vlan add 100,250 tagged exit ! interface range Port-Channel2-5 switchport mode general switchport general allowed vlan add 100,250 tagged exit ! interface range Port-Channel6-7 switchport mode general switchport general allowed vlan add 250 tagged exit ! interface vlan 100 name Internet exit ! interface vlan 250 name Management ip address 10.250.0.11 255.255.255.0 exit ! ! end |
stack configuration unit-id 1 ! stack configuration links te1-2 ! stack nsf |
stack configuration unit-id 2 ! stack configuration links te1-2 ! stack nsf |
hostname SW-AGGR ! vlan database vlan 100,250 exit ! interface GigabitEthernet1/0/1 channel-group 1 mode auto exit ! interface GigabitEthernet1/0/2 channel-group 2 mode auto exit ! interface GigabitEthernet1/0/3 channel-group 3 mode auto exit ! interface GigabitEthernet1/0/4 channel-group 4 mode auto exit ! interface GigabitEthernet2/0/1 channel-group 1 mode auto exit ! interface GigabitEthernet2/0/2 channel-group 2 mode auto exit ! interface GigabitEthernet2/0/3 channel-group 3 mode auto exit ! interface GigabitEthernet2/0/4 channel-group 4 mode auto exit ! interface range Port-Channel1-4 switchport mode general switchport general allowed vlan add 100,250 tagged switchport forbidden default-vlan exit ! interface vlan 100 name Internet exit ! interface vlan 250 name Management ip address 10.250.0.20 255.255.255.0 exit ! ! end |
Перед базовой конфигурацией коммутаторов уровня агрегации (в рассматриваемой схеме) необходимо настроить стекирование. После конфигурации cтековых настроек устройства необходимо перезагрузить, чтобы настройки применились. Перезагрузку лучше начать с юнита 1. |
stack configuration unit-id 1 ! stack configuration links te1-2 ! stack nsf |
stack configuration unit-id 2 ! stack configuration links te1-2 ! stack nsf |
hostname SW-DMZ ! vlan database vlan 250 exit ! interface GigabitEthernet1/0/1 channel-group 1 mode auto exit ! interface GigabitEthernet1/0/2 channel-group 2 mode auto exit ! interface GigabitEthernet2/0/1 channel-group 1 mode auto exit ! interface GigabitEthernet2/0/2 channel-group 2 mode auto exit ! interface range Port-Channel1-2 switchport mode general switchport general allowed vlan add 250 tagged switchport forbidden default-vlan exit ! interface vlan 100 name Internet exit ! interface vlan 250 name Management ip address 10.250.0.40 255.255.255.0 exit ! ! end |
Перед базовой конфигурацией коммутаторов DMZ-семента (в рассматриваемой схеме) необходимо настроить стекирование. После конфигурации cтековых настроек устройства необходимо перезагрузить, чтобы настройки применились. Перезагрузку лучше начать с юнита 1. |
hostname SW-DIST-1 ! vlan database vlan 100,250 exit ! loopback-detection enable loopback-detection mode multicast-mac-addr loopback-detection interval 1 ! errdisable recovery cause loopback-detection ! ip dhcp snooping ip dhcp snooping vlan 100 ! ! ip arp inspection ip arp inspection vlan 100 ! ip ssh server ! no ip telnet server ! interface range gigabitethernet1/0/1-24 loopback-detection enable ip dhcp snooping limit clients 2 storm-control broadcast kbps 2048 trap storm-control unicast kbps 2048 trap storm-control multicast kbps 2048 trap spanning-tree disable spanning-tree bpdu filtering switchport mode general switchport general allowed vlan add 100 untagged switchport general pvid 100 switchport protected-port voice vlan enable exit ! interface tengigabitethernet1/0/1 channel-group 1 mode auto exit ! interface tengigabitethernet1/0/2 channel-group 1 mode auto exit ! interface Port-channel1 ip arp inspection trust ip dhcp snooping trust switchport mode general switchport general allowed vlan add 100,250 tagged switchport forbidden default-vlan exit ! interface vlan 100 name Internet exit ! interface vlan 250 name Management ip address 10.250.0.31 255.255.255.0 exit ! ! end |
hostname SW-DIST-2 ! vlan database vlan 100,250 exit ! loopback-detection enable loopback-detection mode multicast-mac-addr loopback-detection interval 1 ! errdisable recovery cause loopback-detection ! ip dhcp snooping ip dhcp snooping vlan 100 ! ! ip arp inspection ip arp inspection vlan 100 ! ip ssh server ! no ip telnet server ! interface range gigabitethernet1/0/1-24 loopback-detection enable ip dhcp snooping limit clients 2 storm-control broadcast kbps 2048 trap storm-control unicast kbps 2048 trap storm-control multicast kbps 2048 trap spanning-tree disable spanning-tree bpdu filtering switchport mode general switchport general allowed vlan add 100 untagged switchport general pvid 100 switchport protected-port voice vlan enable exit ! interface tengigabitethernet1/0/1 channel-group 1 mode auto exit ! interface tengigabitethernet1/0/2 channel-group 1 mode auto exit ! interface Port-channel1 ip arp inspection trust ip dhcp snooping trust switchport mode general switchport general allowed vlan add 100,250 tagged switchport forbidden default-vlan exit ! interface vlan 100 name Internet exit ! interface vlan 250 name Management ip address 10.250.0.32 255.255.255.0 exit ! ! end |
Маршрутизаторы, выполняющие роль DMVPN Hub, разместим в DMZ-сегменте сети центрального офиса. Они будут заниматься терминацией IPsec и GRE-туннелей от удаленных DMVPN Spoke и маршрутизировать трафик на интернет-шлюзы центрального офиса.
Разграничение функции DMVPN Hub и корпоративного интернет-шлюза на разные маршрутизаторы рекомендовано с связи с повышенной нагрузкой на плоскость управления маршрутизатора, терминирующего на себе множество DMVPN-туннелей. |
Таким образом, схема размещения DMVPN Hub в центральном офисе будет выглядеть так:

Рисунок 3. Размещение DMVPN Hub в демилитаризованном сегменте сети центрального офиса
Оба DMVPN Hub подключим к стеку коммутаторов DMZ-сегмента сети, используя технологию агрегации каналов LAG с включенной поддержкой протокола LACP. За счет того, что коммутаторы DMZ-сегмента собраны в стек, LAG, поднятый до разных коммутаторов, будет восприниматься маршрутизатором ESR как единый агрегированный канал.
Для начала зададим маршрутизаторам DMVPN Hub имена:
hostname RT-HUB-1 |
hostname RT-HUB-2 |
Настроим агрегированные интерфейсы на стороне DMVPN Hub:
interface port-channel 1 exit interface gigabitethernet 1/0/1 mode switchport channel-group 1 mode auto exit interface gigabitethernet 1/0/2 mode switchport channel-group 1 mode auto exit |
interface port-channel 1 exit interface gigabitethernet 1/0/1 mode switchport channel-group 1 mode auto exit interface gigabitethernet 1/0/2 mode switchport channel-group 1 mode auto exit |
И аналогично настроим агрегированные интерфейсы в стеке коммутаторов DMZ-сегмента сети:
interface GigabitEthernet1/0/3 channel-group 3 mode auto exit ! interface GigabitEthernet1/0/4 channel-group 4 mode auto exit ! interface GigabitEthernet2/0/3 channel-group 3 mode auto exit ! interface GigabitEthernet2/0/4 channel-group 4 mode auto exit ! interface range Port-Channel3-4 switchport mode general switchport general allowed vlan add 250 tagged switchport forbidden default-vlan exit |
DMVPN Hub должны быть доступны для подключения через сеть Интернет для DMVPN Spoke, то есть они либо должны функционировать на публичных адресах, предоставляемых интернет-провайдером, либо доступ им в публичную сеть должен предоставить интернет-шлюз при помощи Static NAT. Именно второй вариант будет рассмотрен в данном руководстве.
Для организации выхода DMVPN Hub в Интернет организуем сетевую связность между DMVPN Hub и интернет-шлюзами центрального офиса. Для этого через уже построенный L2-сегмент протянем VLAN для каждого интернет-провайдера, а на интернет-шлюзах и DMVPN Hub добавим саб-интерфейсы на агрегированных каналах в сторону коммутаторов ядра и DMZ соответственно. При настройке будем использовать параметры сети, представленные в таблице 3.
Таблица 3. Параметры локальных сетей, используемых для выхода DMVPN Hub в публичные сети интернет-провайдеров центрального офиса
| Интернет-провайдер | VLAN | Подсеть |
|---|---|---|
| ISP-1 | 210 | 10.0.0.0/30 |
| ISP-2 | 220 | 10.0.0.8/30 |
Для начала добавим VLAN подсети до каждого из провайдеров на коммутаторы ядра и DMZ-сегмента:
vlan 210 name ISP-1 vlan 220 name ISP-2 ! interface range Port-Channel1 switchport general allowed vlan add 210,220 exit ! interface range Port-Channel2-3 switchport general allowed vlan add 210,220 exit ! interface range Port-Channel6-7 switchport general allowed vlan add 210,220 exit |
vlan 210 name ISP-1 vlan 220 name ISP-2 ! interface range Port-Channel1 switchport general allowed vlan add 210,220 exit ! interface range Port-Channel2-3 switchport general allowed vlan add 210,220 exit ! interface range Port-Channel6-7 switchport general allowed vlan add 210,220 exit |
vlan database vlan 210 vlan 220 exit ! interface range Port-Channel1-4 switchport general allowed vlan add 210,220 tagged exit |
Создадим саб-интерфейсы на агрегированных каналах интернет-шлюзов, поднятых в сторону коммутаторов ядра:
interface port-channel 1.210 description "DMZ | RT-HUB-1 uplink to ISP-1" ip address 10.0.0.1/30 exit |
interface port-channel 1.220 description "DMZ | RT-HUB-2 uplink to ISP-2" ip address 10.0.0.9/30 exit |
Аналогично поступим на стороне DMVPN Hub, но создаваемый саб-интерфейс вынесем в отдельный VRF.
Схема подключения, в которой транспортная сеть для некой виртуальной сети выносится в отдельное сетевое пространство имен называется Front-Door VRF. Такая схема организации транспорта для виртуальной сети дает следующие преимущества:
|
ip vrf ISP_1 exit interface port-channel 1.210 description "ISP-1 | Uplink" ip vrf forwarding ISP_1 ip address 10.0.0.2/30 exit ip route vrf ISP_1 0.0.0.0/0 10.0.0.1 name ISP-1 |
ip vrf ISP_2 exit interface port-channel 1.220 description "ISP-2 | Uplink" ip vrf forwarding ISP_2 ip address 10.0.0.10/30 exit ip route vrf ISP_2 0.0.0.0/0 10.0.0.9 name ISP-2 |
Создадим для данных сетей отдельную зону безопасности на интернет-шлюзах и DMVPN Hub и добавим в неё созданные раннее саб-интерфейсы агрегированных каналов. Разрешим входящий с точки зрения маршрутизаторов трафик протокола ICMP из этой зоны безопасности:
security zone DMVPN_ISP_1
description "DMZ | RT-HUB-1 uplink"
exit
interface port-channel 1.210
security-zone DMVPN_ISP_1
exit
security zone-pair DMVPN_ISP_1 self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit |
security zone DMVPN_ISP_2
description "DMZ | RT-HUB-2 uplink"
exit
interface port-channel 1.220
security-zone DMVPN_ISP_2
exit
security zone-pair DMVPN_ISP_2 self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
security zone DMVPN_ISP_1
description "ISP-1 | Uplink"
ip vrf forwarding ISP_1
exit
interface port-channel 1.210
security-zone DMVPN_ISP_1
exit
security zone-pair DMVPN_ISP_1 self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
security zone DMVPN_ISP_2
description "ISP-2 | Uplink"
ip vrf forwarding ISP_2
exit
interface port-channel 1.220
security-zone DMVPN_ISP_2
exit
security zone-pair DMVPN_ISP_2 self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
Добавим в существующий профиль IP-адресов, который используется для функционала ARP Proxy на интернет-шлюзах, еще один публичный адрес из пула, выданного нам каждым провайдером:
object-group network ISP_1_PROXY ip address-range 203.0.113.4 exit |
object-group network ISP_2_PROXY ip address-range 203.0.113.132 exit |
Добавим новый профиль IP-адресов, в котором укажем адрес DMVPN Hub в локальной сети центрального офиса.
| Для функционала Static NAT требуется, чтобы размер подсети, в которую осуществляется Static NAT совпадал с размером подсети, которая указывается в правилах NAT. В связи с этим в профиле IP-адресов, создаваемого для дальнейшего использования в правиле Static NAT, необходимо указывать только одну запись и только при помощи команды «ip prefix». |
object-group network DMVPN_HUB_1 description "DMZ | RT-HUB-1" ip prefix 10.0.0.2/32 exit |
object-group network DMVPN_HUB_2 description "DMZ | RT-HUB-2" ip prefix 10.0.0.10/32 exit |
Сконфигурируем правило Static NAT в уже имеющемся наборе правил Source NAT:
nat source
ruleset SNAT
rule 20
description "Static | RT-HUB-1"
match source-address object-group network DMVPN_HUB_1
action source-nat netmap 203.0.113.4/32 static
enable
exit
exit
exit |
nat source
ruleset SNAT
rule 20
description "Static | RT-HUB-2"
match source-address object-group network DMVPN_HUB_2
action source-nat netmap 203.0.113.132/32 static
enable
exit
exit
exit
|
И разрешим прохождение транзитного ICMP-трафика из глобальной сети до DMVPN Hub и наоборот:
security zone-pair UNTRUSTED DMVPN_ISP_1
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
security zone-pair DMVPN_ISP_1 UNTRUSTED
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
security zone-pair UNTRUSTED DMVPN_ISP_2
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
security zone-pair DMVPN_ISP_2 UNTRUSTED
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit |
Для маршрутизации трафика между интернет-шлюзами центрального офиса и DMVPN Hub добавим отдельную подсеть, параметры которой описаны в таблице 4.
Таблица 4. Параметры локальной сети, используемой для выхода DMVPN Hub в локальную сеть центрального офиса
| Назначение | VLAN | Подсеть |
|---|---|---|
| Подсеть для IP-связности DMVPN Hub и интернет-шлюзов | 300 | 10.0.0.16/29 |
Добавим VLAN создаваемой сети на коммутаторы ядра и DMZ-сегмента:
vlan 300 name DMVPN_LAN ! interface range Port-Channel1 switchport general allowed vlan add 300 exit ! interface range Port-Channel2-3 switchport general allowed vlan add 300 exit ! interface range Port-Channel6-7 switchport general allowed vlan add 300 exit |
vlan 300 name DMVPN_LAN ! interface range Port-Channel1 switchport general allowed vlan add 300 exit ! interface range Port-Channel2-3 switchport general allowed vlan add 300 exit ! interface range Port-Channel6-7 switchport general allowed vlan add 300 exit |
vlan database vlan 300 exit ! interface range Port-Channel1-4 switchport general allowed vlan add 300 tagged exit |
Создадим соответствующие саб-интерфейсы на агрегированных каналах:
interface port-channel 1.300 description "DMZ | RT-HUB-1 dowlink" ip address 10.0.0.17/29 exit |
interface port-channel 1.300 description "DMZ | RT-HUB-2 dowlink" ip address 10.0.0.18/29 exit |
interface port-channel 1.300 description "DMVPN | Downlink to RT-GW" ip address 10.0.0.19/29 exit |
interface port-channel 1.300 description "DMVPN | Downlink to RT-GW" ip address 10.0.0.20/29 exit |
Создадим для данных сетей отдельную зону безопасности на интернет-шлюзах и DMVPN Hub и добавим в неё созданные раннее саб-интерфейсы агрегированных каналов. Разрешим входящий с точки зрения маршрутизаторов трафик протокола ICMP из этой зоны безопасности:
security zone DMVPN_LAN
description "DMZ | RT-HUB-1 downlink"
exit
interface port-channel 1.300
security-zone DMVPN_LAN
exit
security zone-pair DMVPN_LAN self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
security zone DMVPN_LAN
description "DMZ | RT-HUB-2 downlink"
exit
interface port-channel 1.300
security-zone DMVPN_LAN
exit
security zone-pair DMVPN_LAN self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit |
security zone DMVPN_LAN
description "DMVPN | Downlink to RT-GW"
exit
interface port-channel 1.300
security-zone DMVPN_LAN
exit
security zone-pair DMVPN_LAN self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
security zone DMVPN_LAN
description "DMVPN | Downlink to RT-GW"
exit
interface port-channel 1.300
security-zone DMVPN_LAN
exit
security zone-pair DMVPN_LAN self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
Настройка IPsec для будущего облака DMVPN является важной частью данного руководства. Корректная настройка IPsec гарантирует приватность и защищенность трафика между офисами. При дальнейшей настройке будем использовать параметры IKE и IPsec, представленные в таблице 5.
Таблица 5. Параметры IKE и IPsec, используемые для настройки туннелирования IPsec на маршрутизаторах DMVPN Hub
| RT-HUB-1 | RT-HUB-2 | ||
|---|---|---|---|
| Параметры IKE | Алгоритм шифрования | AES-256 | AES-256 |
| Алгоритм хеширования | SHA2-256 | SHA2-256 | |
| Группа Диффи-Хеллмана | 19 | 19 | |
| Время жизни IKE-сеcсии в секундах | 86400 | 86400 | |
| Идентификатор IKE-сессии | hub1.company.loc | hub2.company.loc | |
| Интервал отправки DPD-сообщений | 40 | 40 | |
| Общий таймаут ожидания ответа на DPD-сообщение | 160 | 160 | |
| Действие при наступлении таймаута DPD | Закрытие сессии IKE | Закрытие сессии IKE | |
| Параметры IPsec | Алгоритм шифрования | AES-256 | AES-256 |
| Алгоритм хеширования | SHA2-256 | SHA2-256 | |
| Группа Диффи-Хеллмана для механизма PFS | 19 | 19 | |
| Время жизни IPsec-сесcии в секундах | 28800 | 28800 | |
| Время жизни IPsec-сесcии в килобайтах | 4608000 | 4608000 | |
| Интервал ранней реаутентификации IKE-сессии/Интервал раннего рекеинга IPsec-сессии в секундах | 3600 | 3600 | |
| Пороговое значение ранней реаутентификации IKE-сессии/Пороговое значение раннего рекеинга IPsec-сессии в килобайтах | 86400 | 86400 | |
Начинается настройка IPsec с настройки наборов криптографических алгоритмов для протокола IKE:
security ike proposal DMVPN_IKE_PROP_1 description "DMVPN | IKE proposal #1" authentication algorithm sha2-256 encryption algorithm aes256 dh-group 19 exit |
security ike proposal DMVPN_IKE_PROP_1 description "DMVPN | IKE proposal #1" authentication algorithm sha2-256 encryption algorithm aes256 dh-group 19 exit |
Затем создадим набор ключей аутентификации IKE. Поскольку в дальнейшей настройке планируется использовать в качестве идентификатора IPsec-соседа доменные имена, в наборе ключей тоже используем доменные имена:
security ike keyring DMVPN_IKE_KEYRING description "DMVPN | IKE keyring" identity dns *.company.loc pre-shared-key ascii-text password exit |
security ike keyring DMVPN_IKE_KEYRING description "DMVPN | IKE keyring" identity dns *.company.loc pre-shared-key ascii-text password exit |
Создадим политику IKE. Она включает в себя наборы алгоритмов шифрования, выбор метода аутентификации и время жизни IKE-сессии:
security ike policy DMVPN_IKE_POL description "DMVPN | IKE policy" lifetime seconds 86400 keyring DMVPN_IKE_KEYRING authentication method keyring proposal DMVPN_IKE_PROP_1 exit |
security ike policy DMVPN_IKE_POL description "DMVPN | IKE policy" lifetime seconds 86400 keyring DMVPN_IKE_KEYRING authentication method keyring proposal DMVPN_IKE_PROP_1 exit |
Создадим криптошлюз IKE.
Объем возможных настроек в криптошлюзе IKE достаточно велик, в связи с этим обратим внимание на самые важные пункты настройки:
|
security ike gateway DMVPN_IKE_GW description "DMVPN | IKE gateway" version v2-only ike-policy DMVPN_IKE_POL local interface port-channel 1.210 local network dynamic protocol gre local id dns "hub1.company.loc" remote address any remote network any protocol gre mode policy-based mobike disable dead-peer-detection action clear dead-peer-detection interval 40 dead-peer-detection timeout 160 exit |
security ike gateway DMVPN_IKE_GW description "DMVPN | IKE gateway" version v2-only ike-policy DMVPN_IKE_POL local interface port-channel 1.220 local network dynamic protocol gre local id dns "hub2.company.loc" remote address any remote network any protocol gre mode policy-based mobike disable dead-peer-detection action clear dead-peer-detection interval 40 dead-peer-detection timeout 160 exit |
1) Указываем в качестве «local interface» саб-интерфейс агрегированного канала в сторону интернет-шлюза, трафик которого попадет под Static NAT. 2) Использование «local id» и «remote id» — один из удобных способов идентификации IKE-соседей. Поскольку в «security ike keyring» использованы доменные имена, тот же тип ID используем и здесь. |
Настроим политику в отношении дубликатов IKE-сессий — при возникновении дубликатов будем замещать существующие IKE-сессии:
security ike session uniqueids replace |
security ike session uniqueids replace |
Создадим набор криптографифеских алгоритмов уже непосредственно для туннеля IPsec:
security ipsec proposal DMVPN_IPSEC_PROP_1 description "DMVPN | IPsec proposal #1" authentication algorithm sha2-256 encryption algorithm aes256 pfs dh-group 19 exit |
security ipsec proposal DMVPN_IPSEC_PROP_1 description "DMVPN | IPsec proposal #1" authentication algorithm sha2-256 encryption algorithm aes256 pfs dh-group 19 exit |
Затем создадим политику IPsec. Она включает в себя наборы алгоритмов шифрования и время жизни IPsec-сессии, непосредственно отвечающей за шифрование пользовательского трафика. В отличие от IKE-сессии, время жизни IPsec-сессии можно задавать как в секундах, так и в объеме пользовательского трафика, прошедшего через туннель. Зададим оба варианта:
security ipsec policy DMVPN_IPSEC_POL description "DMVPN | IPsec policy" lifetime seconds 28800 lifetime kilobytes 4608000 proposal DMVPN_IPSEC_PROP_1 exit |
security ipsec policy DMVPN_IPSEC_POL description "DMVPN | IPsec policy" lifetime seconds 28800 lifetime kilobytes 4608000 proposal DMVPN_IPSEC_PROP_1 exit |
Наконец все собранные настройки IKE и IPsec можно объединить в один общий VPN-профиль. Для IPsec VPN-профилей, использующихся на туннелях GRE в схеме DMVPN, обязательно включение транспортного режима:
security ipsec vpn DMVPN_IPSEC_VPN description "DMVPN | IPsec VPN profile" type transport ip vrf forwarding ISP_1 ike establish-tunnel route ike gateway DMVPN_IKE_GW ike ipsec-policy DMVPN_IPSEC_POL ike rekey margin kilobytes 86400 ike rekey margin seconds 3600 enable exit |
security ipsec vpn DMVPN_IPSEC_VPN description "DMVPN | IPsec VPN profile" type transport ip vrf forwarding ISP_2 ike establish-tunnel route ike gateway DMVPN_IKE_GW ike ipsec-policy DMVPN_IPSEC_POL ike rekey margin kilobytes 86400 ike rekey margin seconds 3600 enable exit |
Настройки рекеинга также влияют на реаутентификацию IKE-сессий. |
Разрешим прохождение трафика, связанного с IPsec-туннелями, через сеть центрального офиса. Для этого сначала опишем профили портов для протокола IKE и упакованного в UDP шифрованного трафика протоколов IKE и ESP:
object-group service IKE_AND_IPSEC description "IKE, IKE encrypted, ESP encap UDP" port-range 500 port-range 4500 exit |
object-group service IKE_AND_IPSEC description "IKE, IKE encrypted, ESP encap UDP" port-range 500 port-range 4500 exit |
1) UDP/500 порт используется протоколом IKEv2 в момент первичного пакетообмена с удаленным IKE-соседом. 2) UDP/4500 порт используется для отправки сообщений протокола IKEv2 при определении наличия NAT посередине между пирами. 3) Также UDP/4500 порт используется для отправки запакованных в UDP сообщений протокола ESP, сообщения которого представляют собой шифрованный пользовательский трафик в туннеле. |
object-group service IKE_AND_IPSEC description "IKE, IKE encrypted, ESP encap UDP" port-range 500 port-range 4500 exit |
object-group service IKE_AND_IPSEC description "IKE, IKE encrypted, ESP encap UDP" port-range 500 port-range 4500 exit |
На интернет-шлюзах разрешим прохождение трафика IPsec-туннелей транзитом от интерфейсов в сторону нтернет-провайдеров в сторону DMVPN Hub:
security zone-pair UNTRUSTED DMVPN_ISP_1
rule 20
description "Permit | IKE/IPsec | From ISP-1 | To RT-HUB-1"
action permit
match protocol udp
match destination-address object-group network DMVPN_HUB_1
match destination-port object-group IKE_AND_IPSEC
enable
exit
exit
security zone-pair DMVPN_ISP_1 UNTRUSTED
rule 20
description "Permit | IKE/IPsec | From RT-HUB-1 | To ISP-1"
action permit
match protocol udp
match source-address object-group network DMVPN_HUB_1
match source-port object-group IKE_AND_IPSEC
enable
exit
exit |
security zone-pair UNTRUSTED DMVPN_ISP_2
rule 20
description "Permit | IKE/IPsec | From ISP-2 | To RT-HUB-2"
action permit
match protocol udp
match destination-address object-group network DMVPN_HUB_2
match destination-port object-group IKE_AND_IPSEC
enable
exit
exit
security zone-pair DMVPN_ISP_2 UNTRUSTED
rule 20
description "Permit | IKE/IPsec | From RT-HUB-2 | To ISP-2"
action permit
match protocol udp
match source-address object-group network DMVPN_HUB_2
match source-port object-group IKE_AND_IPSEC
enable
exit
exit |
Пользовательский трафик запаковывается в протокол ESP, и при наличии NAT посередине между IPsec-соседями сообщения протокола ESP, в свою очередь, запаковываются в протокол UDP, порт 4500. Наличие NAT в текущей схеме гарантировано настройкой Static NAT на стороне интернет-шлюзов центрального офиса, в связи с этим ESP трафика, не запакованного в UDP, в сети присутствовать не будет. Так что для протокола ESP отдельное разрешающее правило не требуется. |
В свою очередь на DMVPN Hub разрешим этот же трафик, но уже как входящий:
security zone-pair DMVPN_ISP_1 self
rule 20
description "Permit | IKE/IPsec | From ISP-1 | To ANY"
action permit
match protocol udp
match destination-port object-group IKE_AND_IPSEC
enable
exit
exit
|
security zone-pair DMVPN_ISP_2 self
rule 20
description "Permit | IKE/IPsec | From ISP-2 | To ANY"
action permit
match protocol udp
match destination-port object-group IKE_AND_IPSEC
enable
exit
exit
|
Настроим туннели GRE в многоточечном режиме с поддержкой протокола NHRP на DMVPN Hub. Основные параметры туннелей GRE для обоих DMVPN Hub представлены в таблице 6.
Таблица 6. Параметры туннелей GRE на маршрутизаторах DMVPN Hub
| Hostname | DMVPN Cloud | Номер туннеля GRE | Туннельная адресация | Ключ туннеля GRE | Время жизни NHRP-записей, секунды |
|---|---|---|---|---|---|
| RT-HUB-1 | ISP-1 Cloud | 10 | 172.16.1.1/24 | 1000 | 600 |
| RT-HUB-2 | ISP-2 Cloud | 10 | 172.16.2.1/24 | 2000 | 600 |
Сначала настроим общие настройки туннеля GRE на каждом из DMVPN Hub. К таким настройкам относятся:
tunnel gre 10 description "DMVPN | Cloud 1" key 1000 ttl 64 mtu 1400 multipoint tunnel-source vrf ISP_1 local interface port-channel 1.210 ip address 172.16.1.1/24 ip tcp adjust-mss 1360 enable exit |
tunnel gre 10 description "DMVPN | Cloud 2" key 2000 ttl 64 mtu 1400 multipoint tunnel-source vrf ISP_2 local interface port-channel 1.220 ip address 172.16.2.1/24 ip tcp adjust-mss 1360 enable exit |
Маршрутизаторы DMVPN Hub с точки зрения протокола NHRP выполняют роль NHRP серверов, регистрирующих новых членов облака DMVPN и сообщающих о доступности члена облака DMVPN через его внешний NBMA адрес. В связи с этим большая часть настроек протокола NHRP будет связана с входящими на DMVPN Hub обращениями.
Для корректного построения Spoke-to-Spoke-туннелей, маршрутизация на которых весь трафик заводит на DMVPN Hub, включим опцию «ip nhrp redirect», которая включит на DMVPN Hub отслеживание неоптимального прохождения трафика между DMVPN Spoke и отправку специального сообщения протокола NHRP «Traffic Indication» тому DMVPN Spoke, чей трафик мог бы идти другому DMVPN Spoke напрямую, минуя DMVPN Hub. Такая схема организации маршрутизации и построения Spoke-to-Spoke-туннелей в облаках DMVPN общепринято именуется третьей фазой DMVPN. |
tunnel gre 10 ip nhrp authentication password ip nhrp holding-time 600 ip nhrp redirect ip nhrp ipsec DMVPN_IPSEC_VPN dynamic ip nhrp multicast dynamic ip nhrp enable exit |
tunnel gre 10 ip nhrp authentication password ip nhrp holding-time 600 ip nhrp redirect ip nhrp ipsec DMVPN_IPSEC_VPN dynamic ip nhrp multicast dynamic ip nhrp enable exit |
Из-за особенностей декапсуляции трафика из IPsec-туннелей, работающих в транспортном режиме инкапсуляции, трафик после дешифровки попадает на тот же сетевой интерфейс, который терминирует IPsec-туннель. В связи с этим в правилах межсетевого экранирования на DMVPN Hub необходимо разрешить прием не только шифрованных IPsec-пакетов, но и GRE-пакетов, которые попадают на интерфейс после дешифрования. |
security zone-pair DMVPN_ISP_1 self
rule 30
description "Permit | GRE | From ANY | To ANY"
action permit
match protocol gre
enable
exit
exit
|
security zone-pair DMVPN_ISP_2 self
rule 30
description "Permit | GRE | From ANY | To ANY"
action permit
match protocol gre
enable
exit
exit |
Для фильтрации трафика внутри облака DMVPN создадим отдельную зону безопасности и назначим её на GRE-туннель. Разрешим прохождение входящего ICMP-трафика в этой зоне:
security zone DMVPN_NET_1
description "DMVPN | Cloud 1"
exit
tunnel gre 10
security-zone DMVPN_NET_1
exit
security zone-pair DMVPN_NET_1 self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
security zone DMVPN_NET_2
description "DMVPN | Cloud 2"
exit
tunnel gre 10
security-zone DMVPN_NET_2
exit
security zone-pair DMVPN_NET_2 self
rule 10
description "Permit | ICMP | From ANY | To ANY"
action permit
match protocol icmp
enable
exit
exit
|
В качестве протокола динамической маршрутизации для схемы DMVPN используем BGP. Его возможности обеспечат в текущей схеме весь необходимый функционал, малый размер конфигурации, а в сочетании с протоколом BFD — быстрое определение нарушения связности между BGP-соседями и оперативное перестроение сетевой топологии.
Схема членства настраиваемых маршрутизаторов в автономных системах представлена на рисунке 4:

Рисунок 4. Логическая схема членства маршрутизаторов в автономных системах
Настройку начнем с DMVPN Hub, для входящих BGP-соединений от DMVPN Spoke настроим динамических BGP-соседей. При этом отдавать в сторону DMVPN Spoke мы будем только маршрут по умолчанию, так весь трафик облаков DMVPN будет проходить через Hub:
router bgp log-neighbor-changes
router bgp 65001
peer-group DMVPN_NET_1
remote-as 65000
update-source gre 10
address-family ipv4 unicast
default-originate
enable
exit
exit
listen-range 172.16.1.0/24
peer-group DMVPN_NET_1
enable
exit
enable
exit
|
router bgp log-neighbor-changes
router bgp 65002
peer-group DMVPN_NET_2
remote-as 65000
update-source gre 10
address-family ipv4 unicast
default-originate
enable
exit
exit
listen-range 172.16.2.0/24
peer-group DMVPN_NET_2
enable
exit
enable
exit
|
В связи с тем, что DMVPN Spoke и DMVPN Hub находятся в разных автономных системах, анонсирование маршрутной информации по умолчанию проводиться не будет. Создадим route-map, разрешающий отправку маршрута по умолчанию на DMVPN Spoke.
Для того чтобы выделить роль RT-HUB-1 как основного DMVPN Hub для обработки трафика в облаке DMVPN, в его route-map увеличим значение метрики протокола BGP. Таким образом, для DMVPN Spoke маршрут по умолчанию в его сторону будет более приоритетным.
Созданный route-map указываем для семейства IPv4-маршрутов в существующей peer-group:
route-map DMVPN_NET_1_OUT
rule 10
description "DMZ | Default for DMVPN Spokes"
match ip address 0.0.0.0/0
action set metric bgp 100
exit
exit
router bgp 65001
peer-group DMVPN_NET_1
address-family ipv4 unicast
route-map DMVPN_NET_1_OUT out
exit
exit
exit |
route-map DMVPN_NET_2_OUT
rule 10
description "DMZ | Default for DMVPN Spokes"
match ip address 0.0.0.0/0
action set metric bgp 200
exit
exit
router bgp 65002
peer-group DMVPN_NET_2
address-family ipv4 unicast
route-map DMVPN_NET_2_OUT out
exit
exit
exit
|
Включим поддержку BFD для созданных BGP-соседств. Учтем скорость сходимости IPsec и mGRE-туннелей и увеличим BFD-таймеры:
ip bfd log-adjacency-changes
ip bfd min-rx-interval 1000
ip bfd min-tx-interval 1000
ip bfd multiplier 8
router bgp 65001
peer-group DMVPN_NET_1
fall-over bfd
exit
exit |
ip bfd log-adjacency-changes
ip bfd min-rx-interval 1000
ip bfd min-tx-interval 1000
ip bfd multiplier 8
router bgp 65002
peer-group DMVPN_NET_2
fall-over bfd
exit
exit |
Разрешим прохождение входящего трафика протокола BGP и BFD в зоне безопасности, настроенной на туннелях GRE:
object-group service BGP
description "BGP"
port-range 179
exit
object-group service BFD
description "BFD"
port-range 3784
exit
security zone-pair DMVPN_NET_1 self
rule 20
description "Permit | BGP | From ANY | To ANY"
action permit
match protocol tcp
match destination-port object-group BGP
enable
exit
rule 30
description "Permit | BFD | From ANY | To ANY"
action permit
match protocol udp
match destination-port object-group BFD
enable
exit
exit
|
object-group service BGP
description "BGP"
port-range 179
exit
object-group service BFD
description "BFD"
port-range 3784
exit
security zone-pair DMVPN_NET_2 self
rule 20
description "Permit | BGP | From ANY | To ANY"
action permit
match protocol tcp
match destination-port object-group BGP
enable
exit
rule 30
description "Permit | BFD | From ANY | To ANY"
action permit
match protocol udp
match destination-port object-group BFD
enable
exit
exit
|
В сторону интернет-шлюзов центрального офиса также настроим BGP-соседей, только статических. Поскольку настройки подключения к обоим интернет-шлюзам одинаковы, настроим peer-group и уже её укажем в конфигурации статичных BGP-соседей:
router bgp 65001
peer-group DMVPN_LAN
remote-as 65500
update-source port-channel 1.300
address-family ipv4 unicast
enable
exit
exit
neighbor 10.0.0.17
description "DMZ | RT-GW-1"
peer-group DMVPN_LAN
enable
exit
neighbor 10.0.0.18
description "DMZ | RT-GW-2"
peer-group DMVPN_LAN
enable
exit
exit |
router bgp 65002
peer-group DMVPN_LAN
remote-as 65500
update-source port-channel 1.300
address-family ipv4 unicast
enable
exit
exit
neighbor 10.0.0.17
description "DMZ | RT-GW-1"
peer-group DMVPN_LAN
enable
exit
neighbor 10.0.0.18
description "DMZ | RT-GW-2"
peer-group DMVPN_LAN
enable
exit
exit
|
Создадим route-map, разрешающий анонсы маршрутной информации в сторону интернет-шлюзов, метрики BGP установим те же, что и для DMVPN Spoke:
route-map DMVPN_LAN_OUT
rule 10
description "DMVPN | Redistribute to RT-GW"
action set metric bgp 100
exit
exit
router bgp 65001
peer-group DMVPN_LAN
address-family ipv4 unicast
route-map DMVPN_LAN_OUT out
exit
exit
exit
|
route-map DMVPN_LAN_OUT
rule 10
description "DMVPN | Redistribute to RT-GW"
action set metric bgp 200
exit
exit
router bgp 65002
peer-group DMVPN_LAN
address-family ipv4 unicast
route-map DMVPN_LAN_OUT out
exit
exit
exit
|
Добавим в анонсируемые маршруты туннельные подсети облака DMVPN. За счет указанных route-map информация о туннельных маршрутах поступит только на интернет-шлюзы.
router bgp 65001
address-family ipv4 unicast
network 172.16.1.0/24
exit
exit
|
router bgp 65002
address-family ipv4 unicast
network 172.16.2.0/24
exit
exit
|
Для статичных BGP-соседей также включим поддержку протокола BFD:
router bgp 65001
peer-group DMVPN_LAN
fall-over bfd
exit
exit
|
router bgp 65002
peer-group DMVPN_LAN
fall-over bfd
exit
exit
|
Разрешим прохождение входящего трафика протокола BGP и BFD в зоне безопасности, настроенной на саб-интерфейсах агрегированных каналов в сторону интернет-шлюзов:
security zone-pair DMVPN_LAN self
rule 20
description "Permit | BGP | From ANY | To ANY"
action permit
match protocol tcp
match destination-port object-group BGP
enable
exit
rule 30
description "Permit | BFD | From ANY | To ANY"
action permit
match protocol udp
match destination-port object-group BFD
enable
exit
exit
|
security zone-pair DMVPN_LAN self
rule 20
description "Permit | BGP | From ANY | To ANY"
action permit
match protocol tcp
match destination-port object-group BGP
enable
exit
rule 30
description "Permit | BFD | From ANY | To ANY"
action permit
match protocol udp
match destination-port object-group BFD
enable
exit
exit |
Теперь настроим BGP-соседей в сторону DMVPN Hub на стороне интернет-шлюзов. В связи с шаблонностью настроек в сторону DMVPN Hub также воспользуемся peer-group. В сторону DMVPN Hub включим анонс маршрута по умолчанию, поскольку трафик, выходящий за пределы облака DMVPN должен маршрутизироваться на интернет-шлюзах центрального офиса:
router bgp 65500
peer-group DMVPN_LAN
update-source port-channel 1.300
address-family ipv4 unicast
default-originate
enable
exit
exit
neighbor 10.0.0.19
description "DMZ | RT-HUB-1"
remote-as 65001
peer-group DMVPN_LAN
enable
exit
neighbor 10.0.0.20
description "DMZ | RT-HUB-2"
remote-as 65002
peer-group DMVPN_LAN
enable
exit
enable
exit
|
router bgp 65500
peer-group DMVPN_LAN
update-source port-channel 1.300
address-family ipv4 unicast
default-originate
enable
exit
exit
neighbor 10.0.0.19
description "DMZ | RT-HUB-1"
remote-as 65001
peer-group DMVPN_LAN
enable
exit
neighbor 10.0.0.20
description "DMZ | RT-HUB-2"
remote-as 65002
peer-group DMVPN_LAN
enable
exit
enable
exit
|
Создадим route-map, разрешающий анонсы маршрутной информации в сторону интернет-шлюзов.
Отдельное внимание стоит уделить настройкам метрик BGP-маршрутов. Поскольку выход в глобальную сеть Интернет у каждого из интернет-шлюзов осуществляется через своего интернет-провайдера, маршрут по умолчанию, анонсируемый в сторону DMVPN Hub, должен быть более приоритетным у того интернет-шлюза, у которого сейчас есть выход в сеть Интернет. Поскольку в конфигурации интернет-шлюза RT-GW-1 уже есть настроенный объект отслеживания, благодаря которому переключается VRRP-мастерство для пользователей в локальной сети центрального офиса, этот же объект отслеживания будем использовать в route-map для изменения метрики BGP-маршрута по умолчанию, который RT-GW-1 анонсирует в сторону DMVPN Hub. |
route-map DMVPN_LAN_OUT
rule 10
description "DMZ | Default for DMVPN Hub"
match ip address 0.0.0.0/0
action set metric bgp 300 track 1 default 100
exit
exit
router bgp 65500
peer-group DMVPN_LAN
address-family ipv4 unicast
route-map DMVPN_LAN_OUT out
exit
exit
exit |
route-map DMVPN_LAN_OUT
rule 10
description "DMZ | Default for DMVPN Hub"
match ip address 0.0.0.0/0
action set metric bgp 200
exit
exit
router bgp 65500
peer-group DMVPN_LAN
address-family ipv4 unicast
route-map DMVPN_LAN_OUT out
exit
exit
exit |
При такой настройке RT-GW-1 в случае наличия доступа в Интернет через своего интернет-провайдера будет анонсировать маршрут по умолчанию с метрикой BGP 100, а в случае обрыва связи — с метрикой BGP 300. |
Включим поддержку протокола BFD, аналогично настройкам DMVPN Hub увеличим таймеры BFD:
ip bfd log-adjacency-changes
ip bfd min-rx-interval 1000
ip bfd min-tx-interval 1000
ip bfd multiplier 8
router bgp 65500
peer-group DMVPN_LAN
fall-over bfd
exit
exit
|
ip bfd log-adjacency-changes
ip bfd min-rx-interval 1000
ip bfd min-tx-interval 1000
ip bfd multiplier 8
router bgp 65500
peer-group DMVPN_LAN
fall-over bfd
exit
exit
|
Разрешим прохождение входящего трафика протокола BGP и BFD в зоне безопасности, настроенной на саб-интерфейсах агрегированных каналов в сторону DMVPN Hub:
object-group service BGP
description "BGP"
port-range 179
exit
object-group service BFD
description "BFD"
port-range 3784
exit
security zone-pair DMVPN_LAN self
rule 20
description "Permit | BGP | From ANY | To ANY"
action permit
match protocol tcp
match destination-port object-group BGP
enable
exit
rule 30
description "Permit | BFD | From ANY | To ANY"
action permit
match protocol udp
match destination-port object-group BFD
enable
exit
exit
|
object-group service BGP
description "BGP port"
port-range 179
exit
object-group service BFD
description "BFD port"
port-range 3784
exit
security zone-pair DMVPN_LAN self
rule 20
description "Permit | BGP | From ANY | To ANY"
action permit
match protocol tcp
match destination-port object-group BGP
enable
exit
rule 30
description "Permit | BFD | From ANY | To ANY"
action permit
match protocol udp
match destination-port object-group BFD
enable
exit
exit
|
Поскольку теперь построенное облако DMVPN обеспечивает выход трафика пользователей удаленных офисов через интернет-шлюз центрального офиса, необходимо произвести дополнительные настройки Firewall и NAT.
Начнем с разрешения транзитного трафика из облака DMVPN в сторону интернет-шлюзов центрального офиса:
security zone-pair DMVPN_NET_1 DMVPN_LAN
rule 10
description "Permit | ANY | From DMVPN Cloud 1 | To DMVPN Downlink"
action permit
enable
exit
exit
security zone-pair DMVPN_LAN DMVPN_NET_1
rule 10
description "Permit | ANY | From DMVPN Downlink | To DMVPN Cloud 1"
action permit
enable
exit
exit |
security zone-pair DMVPN_NET_2 DMVPN_LAN
rule 10
description "Permit | ANY | From DMVPN Cloud 2 | To DMVPN Downlink"
action permit
enable
exit
exit
security zone-pair DMVPN_LAN DMVPN_NET_2
rule 10
description "Permit | ANY | From DMVPN Downlink | To DMVPN Cloud 2"
action permit
enable
exit
exit
|
Теперь разрешим прохождение трафика из облака DMVPN до локальных пользователей центрального офиса. Для этого создадим профиль IP-адресов, в который будем указывать адреса подсетей удаленных офисов:
object-group network DMVPN_INET_POOL description "DMZ | DMVPN Cloud Remote LANs" ip prefix 192.168.11.0/24 ip prefix 192.168.12.0/24 ip prefix 192.168.13.0/24 ip prefix 192.168.14.0/24 ip prefix 192.168.15.0/24 exit |
object-group network DMVPN_INET_POOL description "DMZ | DMVPN Cloud Remote LANs" ip prefix 192.168.11.0/24 ip prefix 192.168.12.0/24 ip prefix 192.168.13.0/24 ip prefix 192.168.14.0/24 ip prefix 192.168.15.0/24 exit |
И для этого профиля разрешим доступ к пользователям локальной сети:
security zone-pair DMVPN_LAN CUSTOMER
rule 10
description "Permit | ANY | From DMVPN Cloud | To CUSTOMER"
match source-address object-group network DMVPN_INET_POOL
action permit
enable
exit
exit
security zone-pair CUSTOMER DMVPN_LAN
rule 10
description "Permit | ANY | From CUSTOMER | To DMVPN Cloud"
match destination-address object-group network DMVPN_INET_POOL
action permit
enable
exit
exit
|
security zone-pair DMVPN_LAN CUSTOMER
rule 10
description "Permit | ANY | From DMVPN Cloud | To CUSTOMER"
match source-address object-group network DMVPN_INET_POOL
action permit
enable
exit
exit
security zone-pair CUSTOMER DMVPN_LAN
rule 10
description "Permit | ANY | From CUSTOMER | To DMVPN Cloud"
match destination-address object-group network DMVPN_INET_POOL
action permit
enable
exit
exit
|
Также разрешим трафику из облака DMVPN выход в Интернет:
security zone-pair DMVPN_LAN UNTRUSTED
rule 10
description "Permit | ANY | From DMVPN Cloud | To ISP-1"
match source-address object-group network DMVPN_INET_POOL
action permit
enable
exit
exit
|
security zone-pair DMVPN_LAN UNTRUSTED
rule 10
description "Permit | ANY | From DMVPN Cloud | To ISP-2"
match source-address object-group network DMVPN_INET_POOL
action permit
enable
exit
exit
|
Также добавим для трафика из облака DMVPN Source NAT. Производить Source NAT будем в уже созданный NAT pool для пользователей центрального офиса:
nat source
ruleset SNAT
rule 30
description "Source | DMVPN Cloud"
match source-address object-group network DMVPN_INET_POOL
action source-nat pool CUSTOMER_PUBLIC_IP
enable
exit
exit
exit
|
nat source
ruleset SNAT
rule 30
description "Source | DMVPN Cloud"
match source-address object-group network DMVPN_INET_POOL
action source-nat pool CUSTOMER_PUBLIC_IP
enable
exit
exit
exit
|
На этом настройку DMVPN в центральном офисе можно считать завершенной.