Схема:
Задача:
Настроить GRE over IPsec туннель между ESR-1 и ESR-2 для предоставления доступа между подсетями 192.0.2.128/25 и 198.51.100.128/25. Firewall включен.
Используемые алгоритмы для IKE SA:
1) IKE version: 12) Authentication algorithm: sha2-2563) Encryption algorithm: aes256cbc4) DH-group: 19
Используемые алгоритмы для IPseс SA:
1) Authentication algorithm: sha2-2562) Encryption algorithm: aes256cbc3) PFS DH-group: 194) Protocol: ESP
Решение:Поэтапная настройка ESR-1:1) Создадим зоны безопасности, настроим интерфейсы и определим их к зонам безопасности в соответствии со схемой, а также настроим маршрут по умолчанию:
ESR-1# configure terminal ESR-1(config)# security zone trustedESR-1(config-security-zone)# exitESR-1(config)# security zone untrustedESR-1(config-security-zone)# exitESR-1(config)# ESR-1(config)# interface gigabitethernet 1/0/1 ESR-1(config-if-gi)# security-zone untrusted ESR-1(config-if-gi)# ip address 203.0.113.2/30 ESR-1(config-if-gi)# exitESR-1(config)# ESR-1(config)# interface gigabitethernet 1/0/2ESR-1(config-if-gi)# security-zone trusted ESR-1(config-if-gi)# ip address 192.0.2.129/25 ESR-1(config-if-gi)# exitESR-1(config)# ESR-1(config)# ip route 0.0.0.0/0 203.0.113.1
2) Настроим туннель GRE согласно схеме, туннель GRE отнесём к зоне безопасности trusted, а также добавить маршрут до подсети 198.51.100.128/25 через данный туннель:
ESR-1(config)# tunnel gre 1 ESR-1(config-gre)# ttl 255ESR-1(config-gre)# mtu 1400ESR-1(config-gre)# keepalive enableESR-1(config-gre)# security-zone trusted ESR-1(config-gre)# local address 203.0.113.2ESR-1(config-gre)# remote address 203.0.113.6ESR-1(config-gre)# ip address 192.0.2.1/30 ESR-1(config-gre)# ip tcp adjust-mss 1360ESR-1(config-gre)# enable ESR-1(config-gre)# exitESR-1(config)# ESR-1(config)# ip route 198.51.100.128/25 tunnel gre 1
3) Настроим IPsec согласно исходным алгоритмам.
Создадим профиль протокола IKE. В профиле укажем DH-group 19, алгоритм шифрования aes256cbc, алгоритм аутентификации sha2-256. Данные параметры безопасности используются для защиты IKE-соединения.
ESR-1(config)# security ike proposal ike_proposalESR-1(config-ike-proposal)# authentication algorithm sha2-256ESR-1(config-ike-proposal)# encryption algorithm aes256ESR-1(config-ike-proposal)# dh-group 19ESR-1(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы. Также настроим ключ для аутентификации по PSK:
ESR-1(config)# security ike policy ike_policyESR-1(config-ike-policy)# pre-shared-key ascii-text passwordESR-1(config-ike-policy)# proposal ike_proposalESR-1(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном шлюзе необходимо указать политику IKE, версию IKE (по умолчанию используется 1-ая версия и настраивать не обязательно), селекторы трафика, режим для Policy IPsec, а также DPD в режиме clear:
ESR-1(config)# security ike gateway ike_gatewayESR-1(config-ike-gw)# ike-policy ike_policyESR-1(config-ike-gw)# version v1-onlyESR-1(config-ike-gw)# local address 203.0.113.2ESR-1(config-ike-gw)# local network 203.0.113.2/32 protocol gre ESR-1(config-ike-gw)# remote address 203.0.113.6ESR-1(config-ike-gw)# remote network 203.0.113.6/32 protocol gre ESR-1(config-ike-gw)# mode policy-based
ESR-1(config-ike-gw)# dead-peer-detection action clearESR-1(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем PFS DH-group 19, алгоритм шифрования aes256cbc, алгоритм аутентификации sha2-256. Данные параметры безопасности используются для защиты IPsec-туннеля.
ESR-1(config)# security ipsec proposal ipsec_proposalESR-1(config-ipsec-proposal)# authentication algorithm sha2-256ESR-1(config-ipsec-proposal)# encryption algorithm aes256ESR-1(config-ipsec-proposal)# pfs dh-group 19ESR-1(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
ESR-1(config)# security ipsec policy ipsec_policyESR-1(config-ipsec-policy)# proposal ipsec_proposalESR-1(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IPsec-туннеля, способ установления соединения. После ввода всех параметров включим туннель командой enable:
ESR-1(config)# security ipsec vpn ipsec_vpnESR-1(config-ipsec-vpn)# ike establish-tunnel routeESR-1(config-ipsec-vpn)# ike gateway ike_gatewayESR-1(config-ipsec-vpn)# ike ipsec-policy ipsec_policyESR-1(config-ipsec-vpn)# enableESR-1(config-ipsec-vpn)# exit
4) Настроим Firewall.
Разрешим прохождения любого трафика между tunnel gre 1 и interfaces gigabitethernet 1/0/2:
ESR-1(config)# security zone-pair trusted trusted ESR-1(config-security-zone-pair)# rule 1ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
Настроим разрешающие правила для обработки протоколов ISAKMP, ESP и GRE для трафика из зоны безопасности интерфейса (untrusted) в зону маршрутизатора (self):
ESR-1(config)# security zone-pair untrusted self ESR-1(config-security-zone-pair)# rule 1ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol udp ESR-1(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORTS ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 2ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol esp ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# rule 3ESR-1(config-security-zone-pair-rule)# action permit ESR-1(config-security-zone-pair-rule)# match protocol gre ESR-1(config-security-zone-pair-rule)# enable ESR-1(config-security-zone-pair-rule)# exit ESR-1(config-security-zone-pair)# exit
5. Применим и сохраним конфигурацию:
ESR-1(config)# exit Warning: you have uncommitted configuration changes.ESR-1# commit ESR-1# confirm
Аналогичным образом настроим ESR-2 в соответствии со схемой:
ESR-2# configure terminal ESR-2(config)# security zone trustedESR-2(config-security-zone)# exitESR-2(config)# security zone untrustedESR-2(config-security-zone)# exitESR-2(config)# ESR-2(config)# interface gigabitethernet 1/0/1 ESR-2(config-if-gi)# security-zone untrusted ESR-2(config-if-gi)# ip address 203.0.113.6/30 ESR-2(config-if-gi)# exitESR-2(config)# ESR-2(config)# interface gigabitethernet 1/0/2ESR-2(config-if-gi)# security-zone trusted ESR-2(config-if-gi)# ip address 198.51.100.129/25 ESR-2(config-if-gi)# exitESR-2(config)# ESR-2(config)# ip route 0.0.0.0/0 203.0.113.5ESR-2(config)# ESR-2(config)# tunnel gre 1 ESR-2(config-gre)# ttl 255ESR-2(config-gre)# mtu 1400
ESR-2(config-gre)# keepalive enableESR-2(config-gre)# security-zone trusted ESR-2(config-gre)# local address 203.0.113.6ESR-2(config-gre)# remote address 203.0.113.2ESR-2(config-gre)# ip address 192.0.2.2/30 ESR-2(config-gre)# ip tcp adjust-mss 1360ESR-2(config-gre)# enable ESR-2(config-gre)# exitESR-2(config)# ESR-2(config)# ip route 192.0.2.128/25 tunnel gre 1ESR-2(config)# ESR-2(config)# security ike proposal ike_proposalESR-2(config-ike-proposal)# authentication algorithm sha2-256ESR-2(config-ike-proposal)# encryption algorithm aes256ESR-2(config-ike-proposal)# dh-group 19ESR-2(config-ike-proposal)# exitESR-2(config)# ESR-2(config)# security ike policy ike_policyESR-2(config-ike-policy)# pre-shared-key ascii-text passwordESR-2(config-ike-policy)# proposal ike_proposalESR-2(config-ike-policy)# exitESR-2(config)# ESR-2(config)# security ike gateway ike_gatewayESR-2(config-ike-gw)# ike-policy ike_policyESR-1(config-ike-gw)# version v1-onlyESR-2(config-ike-gw)# local address 203.0.113.6ESR-2(config-ike-gw)# local network 203.0.113.6/32 protocol gre ESR-2(config-ike-gw)# remote address 203.0.113.2ESR-2(config-ike-gw)# remote network 203.0.113.2/32 protocol gre ESR-2(config-ike-gw)# mode policy-based
ESR-2(config-ike-gw)# dead-peer-detection action clearESR-2(config-ike-gw)# exitESR-2(config)# ESR-2(config)# security ipsec proposal ipsec_proposalESR-2(config-ipsec-proposal)# authentication algorithm sha2-256ESR-2(config-ipsec-proposal)# encryption algorithm aes256ESR-2(config-ipsec-proposal)# pfs dh-group 19ESR-2(config-ipsec-proposal)# exitESR-2(config)# ESR-2(config)# security ipsec policy ipsec_policyESR-2(config-ipsec-policy)# proposal ipsec_proposalESR-2(config-ipsec-policy)# exitESR-2(config)# ESR-2(config)# security ipsec vpn ipsec_vpnESR-2(config-ipsec-vpn)# ike establish-tunnel routeESR-2(config-ipsec-vpn)# ike gateway ike_gatewayESR-2(config-ipsec-vpn)# ike ipsec-policy ipsec_policyESR-2(config-ipsec-vpn)# enableESR-2(config-ipsec-vpn)# exitESR-2(config)# ESR-2(config)# security zone-pair trusted trusted ESR-2(config-security-zone-pair)# rule 1ESR-2(config-security-zone-pair-rule)# action permit ESR-2(config-security-zone-pair-rule)# enable ESR-2(config-security-zone-pair-rule)# exit ESR-2(config-security-zone-pair)# exit ESR-2(config)# ESR-2(config)# object-group service ISAKMP_PORTSESR-2(config-object-group-service)# port-range 500ESR-2(config-object-group-service)# port-range 4500ESR-2(config-object-group-service)# exit ESR-2(config)# ESR-2(config)# security zone-pair untrusted self ESR-2(config-security-zone-pair)# rule 1ESR-2(config-security-zone-pair-rule)# action permit ESR-2(config-security-zone-pair-rule)# match protocol udp ESR-2(config-security-zone-pair-rule)# match destination-port object-group ISAKMP_PORTS ESR-2(config-security-zone-pair-rule)# enable ESR-2(config-security-zone-pair-rule)# exit ESR-2(config-security-zone-pair)# rule 2ESR-2(config-security-zone-pair-rule)# action permit ESR-2(config-security-zone-pair-rule)# match protocol esp ESR-2(config-security-zone-pair-rule)# enable ESR-2(config-security-zone-pair-rule)# exit ESR-2(config-security-zone-pair)# rule 3ESR-2(config-security-zone-pair-rule)# action permit ESR-2(config-security-zone-pair-rule)# match protocol gre ESR-2(config-security-zone-pair-rule)# enable ESR-2(config-security-zone-pair-rule)# exit ESR-2(config-security-zone-pair)# exit
