Дерево страниц

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

Ключ

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

...

  1. Конфигурирование Hub.
    Создадим туннель GRE:

    Блок кода
    esr# configure
    esr(config)# tunnel gre 5

    Укажем IP-адрес интерфейса, граничащего с ISP:

    Блок кода
    esr(config-gre)# local address 150.115.0.5


  2. Зададим значение MTU:

    Блок кода
    esr(config-gre)# mtu 1416

    Установим значение ttl:

    Блок кода
    esr(config-gre)# ttl 16

    Отключим firewall:

    Блок кода
    esr(config-gre)# ip firewall disable

    Scroll Pagebreak

    Зададим IP-адрес GRE-туннеля:

    Блок кода
    esr(config-gre)# ip address 10.10.0.5/24

    Переведём GRE-туннель в mutipoint режим для возможности соединения с несколькими точками:

    Блок кода
    esr(config-gre)# multipoint

    Перейдём к настройке NHRP. Настроим отправку мультикастовых рассылок в динамически узнаваемые адреса:

    Блок кода
    esr(config-gre)# ip nhrp multicast dynamic
    

    Произведём настройку протокола динамической маршрутизации для Hub. В примере это будет BGP.

    Поскольку в примере используется eBGP необходимо явно разрешить анонсирование подсетей:

    Блок кода
    esr(config)# route-map PERMIT_ALL
    esr(config-route-map)# rule 1
    


    Блок кода
    esr(config)# router bgp 65005
    esr(config-bgp)# neighbor 10.10.0.8
    esr(config-bgp-neighbor)# remote-as 65008
    esr(config-bgp-neighbor)# enable
    esr(config-bgp-neighbor)# address-family ipv4 unicast
    esr(config-bgp-neighbor-af)# route-map PERMIT_ALL out
    esr(config-bgp-neighbor-af)# enable
    esr(config-bgp-neighbor-af)# exit
    esr(config-bgp-neighbor)# exit
    esr(config-bgp)# neighbor 10.10.0.4
    esr(config-bgp-neighbor)# remote-as 65004
    esr(config-bgp-neighbor)# enable
    esr(config-bgp-neighbor)# address-family ipv4 unicast
    esr(config-bgp-neighbor-af)# route-map PERMIT_ALL out
    esr(config-bgp-neighbor-af)# enable
    esr(config-bgp-neighbor-af)# exit
    esr(config-bgp-neighbor)# exit
    esr(config-bgp)# address-family ipv4 unicast
    esr(config-bgp-af)# exit
    esr(config-bgp)# enable
    esr(config-bgp)# exit

    Произведём настройку IPsec для Hub:

    Блок кода
    esr(config)# security ike proposal IKEPROP
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# exit


    Блок кода
    esr(config)# security ike policy IKEPOLICY
    esr(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF
    esr(config-ike-policy)# proposal IKEPROP
    esr(config-ike-policy)# exit


    Блок кода
    esr(config)# security ike gateway IKEGW
    esr(config-ike-gw)# ike-policy IKEPOLICY
    esr(config-ike-gw)# local address 150.115.0.5
    esr(config-ike-gw)# local network 150.115.0.5/32 protocol gre
    esr(config-ike-gw)# remote address any
    esr(config-ike-gw)# remote network any
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit


    Блок кода
    esr(config)# security ipsec proposal IPSECPROP
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# exit


    Блок кода
    esr(config)# security ipsec policy IPSECPOLICY
    esr(config-ipsec-policy)# proposal IPSECPROP
    esr(config-ipsec-policy)# exit


    Блок кода
    esr(config)# security ipsec vpn IPSECVPN
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# type transport
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway IKEGW
    esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY
    esr(config-ipsec-vpn)# enable

    Привяжем IPsec к GRE-туннелю, чтобы клиенты могли устанавливать шифрованное соединение:

    Блок кода
    esr(config)# tunnel gre 5
    esr(config-gre)# ip nhrp ipsec IPSECVPN dynamic

    Включим работу NHRP и сам туннель:

    Блок кода
    esr(config-gre)# ip nhrp enableesr(config-gre)# enable
    
    


  3. Конфигурирование Spoke

    Проведём стандартную настройку DMVPN на туннеле:

    Блок кода
    esr# configure
    esr(config)# tunnel gre 8
    esr(config-gre)# mtu 1416
    esr(config-gre)# ttl 16
    esr(config-gre)# multipoint
    esr(config-gre)# ip firewall disable
    esr(config-gre)# local address 180.100.0.10
    esr(config-gre)# ip address 10.10.0.8/24

    Указываем, сколько времени будет храниться запись о клиенте на сервере:

    Блок кода
    esr(config-gre)# ip nhrp holding-time 300

    Scroll Pagebreak

    Указываем туннельный адрес NHS:

    Блок кода
    esr(config-gre)# ip nhrp nhs 10.10.0.5/24

    Зададим соответствие туннельному адресу – реальный:

    Блок кода
    esr(config-gre)# ip nhrp map 10.10.0.5 150.115.0.5

    Настроим мультикастовую рассылку на NHRP-сервер:

    Блок кода
    esr(config-gre)# ip nhrp multicast nhs

    Произведём настройку BGP для spoke. Поскольку в примере используется eBGP необходимо явно разрешить анонсирование подсетей:

    Блок кода
    esr(config)# route-map PERMIT_ALL
    esr(config-route-map)# rule 1
    
    esr(config)# router bgp 65008
    esr(config-bgp)# neighbor 10.10.0.5
    esr(config-bgp-neighbor)# remote-as 65005
    esr(config-bgp-neighbor)# enable
    esr(config-bgp-neighbor)# address-family ipv4 unicast
    esr(config-bgp-neighbor-af)# route-map PERMIT_ALL out
    esr(config-bgp-neighbor-af)# enable
    esr(config-bgp-neighbor-af)# exit
    esr(config-bgp-neighbor)# exit
    esr(config-bgp)# address-family ipv4 unicast
    esr(config-bgp-af)# exit
    esr(config-bgp)# enable

    Произведём настройку IPsec. При создании шлюза протокола IKE для NHS, укажем конкретные адреса назначения. A при создании шлюза IKE для NHC – адрес назначения будет any:

    Блок кода
    esr(config)# security ike proposal IKEPROP
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# exit


    Блок кода
    esr(config)# security ike policy IKEPOLICY
    esr(config-ike-policy)# pre-shared-key ascii-text encrypted 8CB5107EA7005AFF
    esr(config-ike-policy)# proposal IKEPROP
    esr(config-ike-policy)# exit


    Блок кода
    esr(config)# security ike gateway IKEGW_HUB
    esr(config-ike-gw)# ike-policy IKEPOLICY
    esr(config-ike-gw)# local address 180.100.0.10
    esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre
    esr(config-ike-gw)# remote address 150.115.0.5
    esr(config-ike-gw)# remote network 150.115.0.5/32 protocol gre
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit


    Блок кода
    esr(config)# security ike gateway IKEGW_SPOKE
    esr(config-ike-gw)# ike-policy IKEPOLICY
    esr(config-ike-gw)# local address 180.100.0.10
    esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre
    esr(config-ike-gw)# remote address any
    esr(config-ike-gw)# remote network any
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit


    Блок кода
    esr(config)# security ipsec proposal IPSECPROP
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# exit


    Блок кода
    esr(config)# security ipsec policy IPSECPOLICY
    esr(config-ipsec-policy)# proposal IPSECPROP
    esr(config-ipsec-policy)# exit


    Блок кода
    esr(config)# security ipsec vpn IPSECVPN_HUB
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# type transport
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway IKEGW_HUB
    esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit


    Блок кода
    esr(config)# security ipsec vpn IPSECVPN_SPOKE
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# type transport
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway IKEGW_SPOKE
    esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit

    Scroll Pagebreak
    Привяжем IPsec к GRE-туннелю для возможности установления шифрованного соединения с сервером и с другими клиентами сети:

    Блок кода
    esr(config)# tunnel gre 8
    esr(config-gre)# ip nhrp ipsec IPSECVPN_HUB static
    esr(config-gre)# ip nhrp ipsec IPSECVPN_SPOKE dynamic

    Включим работу NHRP и сам туннель:

    Блок кода
    esr(config-gre)# ip nhrp enable
    esr(config-gre)# enable
    
    

    Сохраним конфигурацию:

    Блок кода
    esr# commit
    esr# confirm


    Примечание

    Для использования firewall необходимо произвести его настройку. В данном примере firewall был отключён.

    Состояние NHRP-записей можно посмотреть командой:

    Блок кода
    esr# show ip nhrp peers

    Очистить NHRP-записи можно командой:

    Блок кода
    esr# clear ip nhrp peers


...

  1. Конфигурирование HUB:
    Предварительно настроим протокол OSPF:

    Блок кода
    esr(config)# router ospf log-adjacency-changes
    esr(config)# router ospf 1
    esr(config-ospf)# router-id 77.77.77.77
    esr(config-ospf)# area 10.10.0.0
    esr(config-ospf-area)# enable
    esr(config-ospf-area)# exit
    esr(config-ospf)# enable
    esr(config-ospf)# exit

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

    Блок кода
    esr(config)# security zone untrusted
    esr(config-zone)# exit
    esr(config)# interface gigabitethernet 1/0/1
    esr(config-if-gi)# security-zone untrusted
    esr(config-if-gi)# ip address 150.115.0.5/30
    esr(config-if-gi)# exit

    Настроим GRE-туннель, определим принадлежность к зоне безопасности, настроим OSPF на GRE-туннеле, настроим NHRP и включим туннель и NHRP командой enable. Чтобы HUB стал DR, необходимо выставить максимальный приоритет:

    Блок кода
    esr(config)# tunnel gre 1
    esr(config-gre)# ttl 16
    esr(config-gre)# mtu 1416
    esr(config-gre)# multipoint
    esr(config-gre)# security-zone untrusted 
    esr(config-gre)# local address 150.115.0.5
    esr(config-gre)# ip address 10.10.0.1/28
    esr(config-gre)# ip ospf instance 1
    esr(config-gre)# ip ospf area 10.10.0.0
    esr(config-gre)# ip ospf priority 255
    esr(config-gre)# ip ospf
    esr(config-gre)# ip nhrp multicast dynamic
    esr(config-gre)# ip nhrp enable
    esr(config-gre)# enable
    esr(config-gre)# exit

    Создадим статические маршруты для подсетей интерфейсов spoke 180.100.0.8/30 и 140.114.0.4/30:

    Блок кода
    esr(config)# ip route 180.100.0.8/30 150.115.0.6
    esr(config)# ip route 140.114.0.4/30 150.115.0.6

    Scroll Pagebreak

    Произведём настройку IPsec для HUB:

    Блок кода
    esr(config)# security ike proposal ike_prop1
    esr(config-ike-proposal)# authentication algorithm md5
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# exit


    Блок кода
    esr(config)# security ike policy ike_pol1
    esr(config-ike-policy)# pre-shared-key ascii-text password
    esr(config-ike-policy)# proposal ike_prop1
    esr(config-ike-policy)# exit


    Блок кода
    esr(config)# security ike gateway ike_spoke
    esr(config-ike-gw)# ike-policy ike_pol1
    esr(config-ike-gw)# local address 150.115.0.5
    esr(config-ike-gw)# local network 150.115.0.5/32 protocol gre 
    esr(config-ike-gw)# remote address any
    esr(config-ike-gw)# remote network any
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit


    Блок кода
    esr(config)# security ipsec proposal ipsec_prop1
    esr(config-ipsec-proposal)# authentication algorithm md5
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# pfs dh-group 2
    esr(config-ipsec-proposal)# exit


    Блок кода
    esr(config)# security ipsec policy ipsec_pol1
    esr(config-ipsec-policy)# proposal ipsec_prop1
    esr(config-ipsec-policy)# exit


    Блок кода
    esr(config)# security ipsec vpn ipsec_spoke
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# type transport
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway ike_spoke
    esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit

    Привяжем IPsec к GRE-туннелю, чтобы клиенты могли устанавливать шифрованное соединение:

    Блок кода
    esr(config)# tunnel gre 1
    esr(config-gre)# ip nhrp ipsec ipsec_spoke dynamic
    esr(config-gre)# exit

    Scroll Pagebreak

  2. Конфигурирование SPOKE:
    Предварительно настроим протокол OSPF с анонсированием подсети LAN1:

    Блок кода
    esr(config)# router ospf log-adjacency-changes
    esr(config)# router ospf 1
    esr(config-ospf)# router-id 1.1.1.1
    esr(config-ospf)# area 10.10.0.0
    esr(config-ospf-area)# network 192.168.1.0/24
    esr(config-ospf-area)# enable
    esr(config-ospf-area)# exit
    esr(config-ospf)# enable
    esr(config-ospf)# exit

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

    Блок кода
    esr(config)# security zone untrusted
    esr(config-zone)# exit
    esr(config)# interface gigabitethernet 1/0/1
    esr(config-if-gi)# security-zone untrusted
    esr(config-if-gi)# ip address 180.100.0.10/30
    esr(config-if-gi)# exit

    Настроим GRE-туннель, определим принадлежность к зоне безопасности, настроим OSPF на GRE-туннеле, настроим NHRP и включим туннель и NHRP командой enable. Чтобы HUB стал DR, необходимо выставить минимальный приоритет на spoke:

    Блок кода
    esr(config)# tunnel gre 1
    esr(config-gre)# ttl 16
    esr(config-gre)# mtu 1416
    esr(config-gre)# multipoint
    esr(config-gre)# ipsecurity-zone firewalluntrusted
    disable
    esr(config-gre)# local address 180.100.0.10
    esr(config-gre)# ip address 10.10.0.2/28
    esr(config-gre)# ip ospf instance 1
    esr(config-gre)# ip ospf area 10.10.0.0
    esr(config-gre)# ip ospf priority 0
    esr(config-gre)# ip ospf
    esr(config-gre)# ip nhrp holding-time 300
    esr(config-gre)# ip nhrp map 10.10.0.1 150.115.0.5
    esr(config-gre)# ip nhrp nhs 10.10.0.1/28
    esr(config-gre)# ip nhrp multicast nhs
    esr(config-gre)# ip nhrp enable
    esr(config-gre)# enable
    esr(config-gre)# exit

    Создадим статические маршруты для подсетей интерфейсов spoke 180.100.0.8/30 и 140.114.0.4/30:

    Блок кода
    esr(config)# ip route 150.115.0.4/30 180.100.0.9
    esr(config)# ip route 140.114.0.4/30 180.100.0.9

    Scroll Pagebreak

    Произведём настройку IPsec для SPOKE:

    Блок кода
    esr(config)# security ike proposal ike_prop1
    esr(config-ike-proposal)# authentication algorithm md5
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# exit


    Блок кода
    esr(config)# security ike policy ike_pol1
    esr(config-ike-policy)# pre-shared-key ascii-text password
    esr(config-ike-policy)# proposal ike_prop1
    esr(config-ike-policy)# exit


    Блок кода
    esr(config)# security ike gateway ike_spoke
    esr(config-ike-gw)# ike-policy ike_pol1
    esr(config-ike-gw)# local address 180.100.0.10
    esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre 
    esr(config-ike-gw)# remote address any
    esr(config-ike-gw)# remote network any
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit
    esr(config)# security ike gateway ike_hub
    esr(config-ike-gw)# ike-policy ike_pol1
    esr(config-ike-gw)# local address 180.100.0.10
    esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre 
    esr(config-ike-gw)# remote address 150.115.0.5
    esr(config-ike-gw)# remote network 150.115.0.5/32 protocol gre 
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit


    Блок кода
    esr(config)# security ipsec proposal ipsec_prop1
    esr(config-ipsec-proposal)# authentication algorithm md5
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# pfs dh-group 2
    esr(config-ipsec-proposal)# exit


    Блок кода
    esr(config)# security ipsec policy ipsec_pol1
    esr(config-ipsec-policy)# proposal ipsec_prop1
    esr(config-ipsec-policy)# exit


    Блок кода
    esr(config)# security ipsec vpn ipsec_spoke
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# type transport
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway ike_spoke
    esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit
    esr(config)# security ipsec vpn ipsec_hub
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# type transport
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway ike_hub
    esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit

    Привяжем IPsec к GRE-туннелю, для возможности установления шифрованного соединения с сервером и с другими клиентами сети:

    Блок кода
    esr(config)# tunnel gre 1
    esr(config-gre)# ip nhrp ipsec ipsec_hub static
    esr(config-gre)# ip nhrp ipsec ipsec_spoke dynamic
    esr(config-gre)# exit


  3. Состояние NHRP-записей можно посмотреть командой:

    Блок кода
    esr# show ip nhrp

    Scroll Pagebreak

  4. Дополнительно в security zone-pair untrusted self необходимо разрешить протоколы для GRE over IPSec-туннеля, а также для протокола OSPF:

    Блок кода
    esr(config)# object-group service ISAKMP_PORT
    esr(config-object-group-service)# port-range 500
    esr(config-object-group-service)# port-range 4500
    esr(config-object-group-service)# exit
    esr(config)# security zone-pair untrusted self
    esr(config-zone-pair)# rule 1
    esr(config-zone-pair-rule)# action permit
    esr(config-zone-pair-rule)# match protocol udp
    esr(config-zone-pair-rule)# match destination-port ISAKMP_PORT
    esr(config-zone-pair-rule)# enable
    esr(config-zone-pair-rule)# exit
    esr(config-zone-pair)# rule 2
    esr(config-zone-pair-rule)# action permit
    esr(config-zone-pair-rule)# match protocol gre
    esr(config-zone-pair-rule)# enable
    esr(config-zone-pair-rule)# exit
    esr(config-zone-pair)# rule 3
    esr(config-zone-pair-rule)# action permit
    esr(config-zone-pair-rule)# match protocol esp
    esr(config-zone-pair-rule)# enable
    esr(config-zone-pair-rule)# exit
    esr(config-zone-pair)# rule 4
    esr(config-zone-pair-rule)# action permit
    esr(config-zone-pair-rule)# match protocol ahospf
    esr(config-zone-pair-rule)# enable
    esr(config-zone-pair-rule)# exit
    esr(config-zone-pair)# exit
    
    


Якорь
Настройка L2TPv3-туннелей
Настройка L2TPv3-туннелей

...

Примечание

Предварительно в firewall необходимо разрешить протокол ESP и ISAKMP (UDP-порт 500, 4500).

  1. Конфигурирование R1
    Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:

    Блок кода
    esr# configure
    esr(config)# interface gi 1/0/1
    esr(config-if-gi)# ip address 180.100.0.1/24
    esr(config-if-gi)# security-zone untrusted
    esr(config-if-gi)# exit

    Создадим туннель VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов, граничащих с WAN:

    Блок кода
    esr(config)# tunnel vti 1
    esr(config-vti)# local address 180.100.0.1
    esr(config-vti)# remote address 120.11.5.1
    esr(config-vti)# enable
    esr(config-vti)# exit

    Scroll Pagebreak

    Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:

    Блок кода
    esr(config)# object-group service ISAKMP
    esr(config-object-group-service)# port-range 500,4500
    esr(config-object-group-service)# exit

    Создадим статический маршрут до удаленной LAN-сети. Для каждой подсети, которая находится за IPsec-туннелем, нужно указать маршрут через VTI-туннель:

    Блок кода
    esr(config)# ip route 192.0.2.0/24 tunnel vti 1

    Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:

    Блок кода
    esr(config)# security ike proposal ike_prop1
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# authentication algorithm md5
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# exit

    Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:

    Блок кода
    esr(config)# security ike policy ike_pol1
    esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF
    esr(config-ike-policy)# proposal ike_prop1
    esr(config-ike-policy)# exit

    Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель. Поддержка MOBIKE отключается для route-based IPsec в обязательном порядке:

    Блок кода
    esr(config)# security ike gateway ike_gw1
    esr(config-ike-gw)# ike-policy ike_pol1
    esr(config-ike-gw)# mode route-based
    esr(config-ike-gw)# mobike disable
    esr(config-ike-gw)# bind-interface vti 1
    esr(config-ike-gw)# version v2-only
    esr(config-ike-gw)# exit

    Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:

    Блок кода
    esr(config)# security ipsec proposal ipsec_prop1
    esr(config-ipsec-proposal)# authentication algorithm md5
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# exit

    Scroll Pagebreak

    Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы:

    Блок кода
    esr(config)# security ipsec policy ipsec_pol1
    esr(config-ipsec-policy)# proposal ipsec_prop1
    esr(config-ipsec-policy)# exit

    Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable:

    Блок кода
    esr(config)# security ipsec vpn ipsec1
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway ike_gw1
    esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit
    esr(config)# exit


  2. Конфигурирование R2

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

    Блок кода
    esr# configure
    esr(config)# interface gi 1/0/1
    esr(config-if)# ip address 120.11.5.1/24
    esr(config-if)# security-zone untrusted
    esr(config-if)# exit

    Создадим туннель VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов, граничащих с WAN:

    Блок кода
    esr(config)# tunnel vti 1
    esr(config-vti)# remote address 180.100.0.1
    esr(config-vti)# local address 120.11.5.1
    esr(config-vti)# enable
    esr(config-vti)# exit

    Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:

    Блок кода
    esr(config)# object-group service ISAKMP
    esr(config-object-group-service)# port-range 500,4500
    esr(config-object-group-service)# exit

    Создадим статический маршрут до удаленной LAN-сети. Для каждой подсети, которая находится за IPsec-туннелем, нужно указать маршрут через VTI-туннель:

    Блок кода
    esr(config)# ip route 10.0.0.0/16 tunnel vti 1

    Scroll Pagebreak

    Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:

    Блок кода
    esr(config)# security ike proposal ike_prop1
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# authentication algorithm md5
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# exit
    esr(config)#

    Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:

    Блок кода
    esr(config)# security ike policy ike_pol1
    esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF
    esr(config-ike-policy)# proposal ike_prop1
    esr(config-ike-policy)# exit

    Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:

    Блок кода
    esr(config)# security ike gateway ike_gw1
    esr(config-ike-gw)# ike-policy ike_pol1
    esr(config-ike-gw)# mode route-based
    esr(config-ike-gw)# bind-interface vti 1
    esr(config-ike-gw)# version v2-only
    esr(config-ike-gw)# exit

    Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:

    Блок кода
    esr(config)# security ipsec proposal ipsec_prop1
    esr(config-ipsec-proposal)# authentication algorithm md5
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# exit

    Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.

    Блок кода
    esr(config)# security ipsec policy ipsec_pol1
    esr(config-ipsec-policy)# proposal ipsec_prop1
    esr(config-ipsec-policy)# exit

    Scroll Pagebreak
    Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable:

    Блок кода
    esr(config)# security ipsec vpn ipsec1
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway ike_gw1
    esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit
    esr(config)# exit

    Состояние туннеля можно посмотреть командой:

    Блок кода
    esr# show security ipsec vpn status ipsec1

    Конфигурацию туннеля можно посмотреть командой:

    Блок кода
    esr# show security ipsec vpn configuration ipsec1


...

Примечание

Предварительно в firewall необходимо разрешить протокол ESP и ISAKMP (UDP-порт 500, 4500).

  1. Конфигурирование R1

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

    Блок кода
    esr# configure
    esr(config)# interface gigabitethernet 1/0/1
    esr(config-if-gi)# ip address 198.51.100.1/24
    esr(config-if-gi)# security-zone untrusted
    esr(config-if-gi)# exit

    Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:

    Блок кода
    esr(config)# object-group service ISAKMP
    esr(config-object-group-service)# port-range 500,4500
    esr(config-object-group-service)# exit

    Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:

    Блок кода
    esr(config)# security ike proposal ike_prop1
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# authentication algorithm md5
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# exit

    Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:

    Блок кода
    esr(config)# security ike policy ike_pol1
    esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF
    esr(config-ike-policy)# proposal ike_prop1
    esr(config-ike-policy)# exit

    Scroll Pagebreak
    Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:

    Блок кода
    esr(config)# security ike gateway ike_gw1
    esr(config-ike-gw)# ike-policy ike_pol1
    esr(config-ike-gw)# local address 198.51.100.1
    esr(config-ike-gw)# local network 10.0.0.0/16
    esr(config-ike-gw)# remote address 203.0.113.1
    esr(config-ike-gw)# remote network 192.0.2.0/24
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit

    Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:

    Блок кода
    esr(config)# security ipsec proposal ipsec_prop1
    esr(config-ipsec-proposal)# authentication algorithm md5
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# exit

    Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.

    Блок кода
    esr(config)# security ipsec policy ipsec_pol1
    esr(config-ipsec-policy)# proposal ipsec_prop1
    esr(config-ipsec-policy)# exit

    Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.

    Блок кода
    esr(config)# security ipsec vpn ipsec1
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway ike_gw1
    esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit
    esr(config)# exit


  2. Конфигурирование R2
  3. Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:

    Блок кода
    esr# configure
    esr(config)# interface gi 1/0/1
    esr(config-if)# ip address 203.0.113.1/24
    esr(config-if)# security-zone untrusted
    esr(config-if)# exit

    Scroll Pagebreak
    Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:

    Блок кода
    esr(config)# object-group service ISAKMP
    esr(config-addr-set)# port-range 500
    esr(config-addr-set)# exit

    Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:

    Блок кода
    esr(config)# security ike proposal ike_prop1
    esr(config-ike-proposal)# dh-group 2
    esr(config-ike-proposal)# authentication algorithm md5
    esr(config-ike-proposal)# encryption algorithm aes128
    esr(config-ike-proposal)# exit
    esr(config)#

    Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:

    Блок кода
    esr(config)# security ike policy ike_pol1
    esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF
    esr(config-ike-policy)# proposal ike_prop1
    esr(config-ike-policy)# exit

    Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:

    Блок кода
    esr(config)# security ike gateway ike_gw1
    esr(config-ike-gw)# ike-policy ike_pol1
    esr(config-ike-gw)# remote address 198.51.100.1
    esr(config-ike-gw)# remote network 10.0.0.0/16
    esr(config-ike-gw)# local address 203.0.113.1
    esr(config-ike-gw)# local network 192.0.2.0/24
    esr(config-ike-gw)# mode policy-based
    esr(config-ike-gw)# exit

    Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:

    Блок кода
    esr(config)# security ipsec proposal ipsec_prop1
    esr(config-ipsec-proposal)# authentication algorithm md5
    esr(config-ipsec-proposal)# encryption algorithm aes128
    esr(config-ipsec-proposal)# exit

    Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.

    Блок кода
    esr(config)# security ipsec policy ipsec_pol1
    esr(config-ipsec-policy)# proposal ipsec_prop1
    esr(config-ipsec-policy)# exit

    Scroll Pagebreak
    Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.

    Блок кода
    esr(config)# security ipsec vpn ipsec1
    esr(config-ipsec-vpn)# mode ike
    esr(config-ipsec-vpn)# ike establish-tunnel route
    esr(config-ipsec-vpn)# ike gateway ike_gw1
    esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1
    esr(config-ipsec-vpn)# enable
    esr(config-ipsec-vpn)# exit
    esr(config)# exit

    Состояние туннеля можно посмотреть командой:

    Блок кода
    esr# show security ipsec vpn status ipsec1

    Конфигурацию туннеля можно посмотреть командой:

    Блок кода
    esr# show security ipsec vpn configuration ipsec1


...

<MODE> – режим переподключения, принимает следующие значения:

  • no – установленное подключение XAUTH будет удалено, если для нового подключения XAUTH инициатором соединения будет отправлено уведомление "INITIAL_CONTACT", будет назначен ранее использованный IP-адрес. В противном случае, установленное соединение XAUTH будет удержано. Для нового подключения XAUTH будет назначен новый IP-адрес.
  • never – установленное подключение XAUTH будет удержано. Для нового подключения XAUTH будет назначен новый IP-адрес. Уведомление "INITIAL_CONTACT" будет в любом случае проигнорировано.
  • replace – установленное подключение XAUTH будет удалено. Для нового подключения XAUTH будет использован ранее использованный IP-адрес.
  • keep – установленное подключение XAUTH будет удержано. Новое подключение XAUTH будет отклонено. 

...