Стартовая конфигурация оборудования в центральном офисе

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


Рисунок 2. Схема сети центрального офиса из дизайн-документа «Построение сети большого офиса»


Конфигурации оборудования в данной схеме представлены ниже:

RT-GW-1
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
RT-GW-2
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


SW-CORE-1
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
SW-CORE-2
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


SW-AGGR (Unit 1)
stack configuration unit-id 1
!
stack configuration links te1-2
!
stack nsf
SW-AGGR (Unit 2)
stack configuration unit-id 2
!
stack configuration links te1-2
!
stack nsf
SW-AGGR (Config)
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.

SW-DMZ (Unit 1)
stack configuration unit-id 1
!
stack configuration links te1-2
!
stack nsf
SW-DMZ (Unit 2)
stack configuration unit-id 2
!
stack configuration links te1-2
!
stack nsf
SW-DMZ (Config)
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.

SW-DIST-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
SW-DIST-2
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 в демилитаризованном сегменте сети центрального офиса

Маршрутизаторы, выполняющие роль 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 имена:

RT-HUB-1
hostname RT-HUB-1
RT-HUB-2
hostname RT-HUB-2


Настроим агрегированные интерфейсы на стороне DMVPN Hub:

RT-HUB-1
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
RT-HUB-2
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-сегмента сети:

SW-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 в сети провайдеров центрального офиса с использованием Static NAT

DMVPN Hub должны быть доступны для подключения через сеть Интернет для DMVPN Spoke, то есть они либо должны функционировать на публичных адресах, предоставляемых интернет-провайдером, либо доступ им в публичную сеть должен предоставить интернет-шлюз при помощи Static NAT. Именно второй вариант будет рассмотрен в данном руководстве.

Для организации выхода DMVPN Hub в Интернет организуем сетевую связность между DMVPN Hub и интернет-шлюзами центрального офиса. Для этого через уже построенный L2-сегмент протянем VLAN для каждого интернет-провайдера, а на интернет-шлюзах и DMVPN Hub добавим саб-интерфейсы на агрегированных каналах в сторону коммутаторов ядра и DMZ соответственно. При настройке будем использовать параметры сети, представленные в таблице 3.


Таблица 3. Параметры локальных сетей, используемых для выхода DMVPN Hub в публичные сети интернет-провайдеров центрального офиса

Интернет-провайдерVLANПодсеть
ISP-121010.0.0.0/30
ISP-222010.0.0.8/30


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

SW-CORE-1
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
SW-CORE-2
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


SW-DMZ
vlan database
 vlan 210
 vlan 220
exit
!
interface range Port-Channel1-4
 switchport general allowed vlan add 210,220 tagged
exit


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


RT-GW-1
interface port-channel 1.210
  description "DMZ | RT-HUB-1 uplink to ISP-1"
  ip address 10.0.0.1/30
exit
RT-GW-2
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. Такая схема организации транспорта для виртуальной сети дает следующие преимущества:

  • возможность использования маршрута по умолчанию как в виртуальной сети, так и в транспортной сети;
  • отсутствие пересечения маршрутной информации между транспортной и виртуальной сетью;
  • дополнительный уровень безопасности виртуальной сети, поскольку трафик из неё не может попасть в транспортную сеть без настроенной инкапсуляции в туннель.
RT-HUB-1
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
RT-HUB-2
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 из этой зоны безопасности:

RT-GW-1
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
RT-GW-2
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


RT-HUB-1
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
RT-HUB-2
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 на интернет-шлюзах, еще один публичный адрес из пула, выданного нам каждым провайдером:

RT-GW-1
object-group network ISP_1_PROXY
  ip address-range 203.0.113.4
exit
RT-GW-2
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». 
RT-GW-1
object-group network DMVPN_HUB_1
  description "DMZ | RT-HUB-1"
  ip prefix 10.0.0.2/32
exit
RT-GW-2
object-group network DMVPN_HUB_2
  description "DMZ | RT-HUB-2"
  ip prefix 10.0.0.10/32
exit


Сконфигурируем правило Static NAT в уже имеющемся наборе правил Source NAT:

RT-GW-1
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
RT-GW-2
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 и наоборот:

RT-GW-1
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
RT-GW-2
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 в локальную сеть центрального офиса

Для маршрутизации трафика между интернет-шлюзами центрального офиса и DMVPN Hub добавим отдельную подсеть, параметры которой описаны в таблице 4.


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

НазначениеVLANПодсеть
Подсеть для IP-связности DMVPN Hub и интернет-шлюзов30010.0.0.16/29


Добавим VLAN создаваемой сети на коммутаторы ядра и DMZ-сегмента:

SW-CORE-1
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
SW-CORE-2
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


SW-DMZ-1
vlan database
 vlan 300
exit
!
interface range Port-Channel1-4
 switchport general allowed vlan add 300 tagged
exit


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

RT-GW-1
interface port-channel 1.300
  description "DMZ | RT-HUB-1 dowlink"
  ip address 10.0.0.17/29
exit
RT-GW-2
interface port-channel 1.300
  description "DMZ | RT-HUB-2 dowlink"
  ip address 10.0.0.18/29
exit


RT-HUB-1
interface port-channel 1.300
  description "DMVPN | Downlink to RT-GW"
  ip address 10.0.0.19/29
exit
RT-HUB-2
interface port-channel 1.300
  description "DMVPN | Downlink to RT-GW"
  ip address 10.0.0.20/29
exit


Создадим для данных сетей отдельную зону безопасности на интернет-шлюзах и DMVPN Hub и добавим в неё созданные раннее саб-интерфейсы агрегированных каналов. Разрешим входящий с точки зрения маршрутизаторов трафик протокола ICMP из этой зоны безопасности:

RT-GW-1
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
RT-GW-2
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


RT-HUB-1
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
RT-HUB-2
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


Настройка IKEv2 и IPsec-туннелирования на DMVPN Hub

Настройка IPsec для будущего облака DMVPN является важной частью данного руководства. Корректная настройка IPsec гарантирует приватность и защищенность трафика между офисами. При дальнейшей настройке будем использовать параметры IKE и IPsec, представленные в таблице 5.


Таблица 5. Параметры IKE и IPsec, используемые для настройки туннелирования IPsec на маршрутизаторах DMVPN Hub


RT-HUB-1RT-HUB-2
Параметры IKEАлгоритм шифрованияAES-256AES-256
Алгоритм хешированияSHA2-256SHA2-256
Группа Диффи-Хеллмана1919
Время жизни IKE-сеcсии в секундах8640086400
Идентификатор IKE-сессииhub1.company.lochub2.company.loc
Интервал отправки DPD-сообщений4040
Общий таймаут ожидания ответа на DPD-сообщение160160
Действие при наступлении таймаута DPDЗакрытие сессии IKEЗакрытие сессии IKE
Параметры IPsecАлгоритм шифрованияAES-256AES-256
Алгоритм хешированияSHA2-256SHA2-256
Группа Диффи-Хеллмана для механизма PFS1919
Время жизни IPsec-сесcии в секундах2880028800
Время жизни IPsec-сесcии в килобайтах46080004608000
Интервал ранней реаутентификации IKE-сессии/Интервал раннего рекеинга IPsec-сессии в секундах36003600
Пороговое значение ранней реаутентификации IKE-сессии/Пороговое значение раннего рекеинга IPsec-сессии в килобайтах8640086400


Начинается настройка IPsec с настройки наборов криптографических алгоритмов для протокола IKE:

RT-HUB-1
security ike proposal DMVPN_IKE_PROP_1
  description "DMVPN | IKE proposal #1"
  authentication algorithm sha2-256
  encryption algorithm aes256
  dh-group 19
exit
RT-HUB-2
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-соседа доменные имена, в наборе ключей тоже используем доменные имена:

RT-HUB-1
security ike keyring DMVPN_IKE_KEYRING
  description "DMVPN | IKE keyring"
  identity dns *.company.loc pre-shared-key ascii-text password
exit
RT-HUB-2
security ike keyring DMVPN_IKE_KEYRING
  description "DMVPN | IKE keyring"
  identity dns *.company.loc pre-shared-key ascii-text password
exit


Создадим политику IKE. Она включает в себя наборы алгоритмов шифрования, выбор метода аутентификации и время жизни IKE-сессии:

RT-HUB-1
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
RT-HUB-2
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 достаточно велик, в связи с этим обратим внимание на самые важные пункты настройки:
  • Для использования протокола IKE версии 2 обязательна команда «version v2-only», в противном случае туннель будет использовать протокол IKE версии 1.
  • Поддержку протокола MOBIKE необходимо отключать, в схеме DMVPN он может привести к ошибкам построения туннелей между DMVPN Hub и DMVPN Spoke.
  • В случае привязки криптошлюза к интерфейсу командой «local interface» привязать локальную сеть к адресу на этом интерфейсе можно командой «local network dynamic».
  • В схеме DMVPN в туннели IPsec помещается только GRE-трафик, поэтому корректным будет указывать ключ «protocol gre» в командах «local network» и «remote network».
RT-HUB-1
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
RT-HUB-2
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-сессии:

RT-HUB-1
security ike session uniqueids replace
RT-HUB-2
security ike session uniqueids replace


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

RT-HUB-1
security ipsec proposal DMVPN_IPSEC_PROP_1
  description "DMVPN | IPsec proposal #1"
  authentication algorithm sha2-256
  encryption algorithm aes256
  pfs dh-group 19
exit
RT-HUB-2
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-сессии можно задавать как в секундах, так и в объеме пользовательского трафика, прошедшего через туннель. Зададим оба варианта:

RT-HUB-1
security ipsec policy DMVPN_IPSEC_POL
  description "DMVPN | IPsec policy"
  lifetime seconds 28800
  lifetime kilobytes 4608000
  proposal DMVPN_IPSEC_PROP_1
exit
RT-HUB-2
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, обязательно включение транспортного режима:

RT-HUB-1
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
RT-HUB-2
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:

RT-GW-1
object-group service IKE_AND_IPSEC
  description "IKE, IKE encrypted, ESP encap UDP"
  port-range 500
  port-range 4500
exit
RT-GW-2
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, сообщения которого представляют собой шифрованный пользовательский трафик в туннеле.
RT-HUB-1
object-group service IKE_AND_IPSEC
  description "IKE, IKE encrypted, ESP encap UDP"
  port-range 500
  port-range 4500
exit
RT-HUB-2
object-group service IKE_AND_IPSEC
  description "IKE, IKE encrypted, ESP encap UDP"
  port-range 500
  port-range 4500
exit


На интернет-шлюзах разрешим прохождение трафика IPsec-туннелей транзитом от интерфейсов в сторону нтернет-провайдеров в сторону DMVPN Hub:

RT-GW-1
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
RT-GW-2
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 разрешим этот же трафик, но уже как входящий:

RT-HUB-1
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
RT-HUB-2
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


Настройка mGRE-туннелей на DMVPN Hub

Настроим туннели GRE в многоточечном режиме с поддержкой протокола NHRP на DMVPN Hub. Основные параметры туннелей GRE для обоих DMVPN Hub представлены в таблице 6.


Таблица 6. Параметры туннелей GRE на маршрутизаторах DMVPN Hub

HostnameDMVPN CloudНомер туннеля GREТуннельная адресацияКлюч туннеля GREВремя жизни NHRP-записей, секунды
RT-HUB-1ISP-1 Cloud10172.16.1.1/241000600
RT-HUB-2ISP-2 Cloud10172.16.2.1/242000600


Сначала настроим общие настройки туннеля GRE на каждом из DMVPN Hub. К таким настройкам относятся:

  • режим работы multipoint;
  • значение key;
  • значение TTL;
  • размер MTU;
  • значение TCP adjust-mss;
  • туннельный IP-адрес;
  • интерфейс, с которого будет строиться GRE-туннель;
  • имя транспортного VRF.
RT-HUB-1
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
RT-HUB-2
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.

RT-HUB-1
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
RT-HUB-2
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-пакетов, которые попадают на интерфейс после дешифрования.

RT-HUB-1
security zone-pair DMVPN_ISP_1 self
   rule 30
    description "Permit | GRE | From ANY | To ANY"
    action permit
    match protocol gre
    enable
  exit 
exit
RT-HUB-2
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-трафика в этой зоне:

RT-HUB-1
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
RT-HUB-2
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 в центральном офисе

В качестве протокола динамической маршрутизации для схемы DMVPN используем BGP. Его возможности обеспечат в текущей схеме весь необходимый функционал, малый размер конфигурации, а в сочетании с протоколом BFD — быстрое определение нарушения связности между BGP-соседями и оперативное перестроение сетевой топологии.

Схема членства настраиваемых маршрутизаторов в автономных системах представлена на рисунке 4:

Рисунок 4. Логическая схема членства маршрутизаторов в автономных системах


Настройку начнем с DMVPN Hub, для входящих BGP-соединений от DMVPN Spoke настроим динамических BGP-соседей. При этом отдавать в сторону DMVPN Spoke мы будем только маршрут по умолчанию, так весь трафик облаков DMVPN будет проходить через Hub:

RT-HUB-1
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
RT-HUB-2
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:

RT-HUB-1
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
RT-HUB-2
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-таймеры:

RT-HUB-1
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
RT-HUB-2
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:

RT-HUB-1
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
RT-HUB-2
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-соседей:

RT-HUB-1
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
RT-HUB-2
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:

RT-HUB-1
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
RT-HUB-2
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 информация о туннельных маршрутах поступит только на интернет-шлюзы.

RT-HUB-1
router bgp 65001
  address-family ipv4 unicast
    network 172.16.1.0/24
  exit
exit
RT-HUB-2
router bgp 65002
  address-family ipv4 unicast
    network 172.16.2.0/24
  exit
exit


Для статичных BGP-соседей также включим поддержку протокола BFD:

RT-HUB-1
router bgp 65001
  peer-group DMVPN_LAN
    fall-over bfd
  exit
exit
RT-HUB-2
router bgp 65002
  peer-group DMVPN_LAN
    fall-over bfd
  exit
exit


Разрешим прохождение входящего трафика протокола BGP и BFD в зоне безопасности, настроенной на саб-интерфейсах агрегированных каналов в сторону интернет-шлюзов:

RT-HUB-1
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
RT-HUB-2
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 должен маршрутизироваться на интернет-шлюзах центрального офиса:

RT-GW-1
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
RT-GW-2
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.

RT-GW-1
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
RT-GW-2
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:

RT-GW-1
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
RT-GW-2
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:

RT-GW-1
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
RT-GW-2
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


Настройка Zone-Based Firewall и Source NAT для пользователей удаленных офисов

Поскольку теперь построенное облако DMVPN обеспечивает выход трафика пользователей удаленных офисов через интернет-шлюз центрального офиса, необходимо произвести дополнительные настройки Firewall и NAT.

Начнем с разрешения транзитного трафика из облака DMVPN в сторону интернет-шлюзов центрального офиса:

RT-HUB-1
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
RT-HUB-2
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-адресов, в который будем указывать адреса подсетей удаленных офисов:

RT-GW-1
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
RT-GW-2
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


И для этого профиля разрешим доступ к пользователям локальной сети:


RT-GW-1
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
RT-GW-2
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 выход в Интернет:

RT-GW-1
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
RT-GW-2
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 для пользователей центрального офиса:

RT-GW-1
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
RT-GW-2
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 в центральном офисе можно считать завершенной.


  • Нет меток