Fortigate и его друзья (ipsec tunnel between fortigate and cisco router) | NetConfig

Fortigate и его друзья (ipsec tunnel between fortigate and cisco router)

Причинами создания туннелей на разновендорном оборудовании могут быть масса факторов, приятно то, что “подружить” получается практически все. В моем случае причиной стало любопытство 🙂 . В тестовой среде была организована видимость внешних адресов наших маршрутизаторов, а дальше все строго по нижеизложенному тексту:

Ниже представлена схематическая модель подключения двух маршрутизаторов и сетей за ними, где внешними адресами выступают адреса из “серого” диапазона, естественно, в реальной ситуации этими адресами должны быть адреса из общественного пула, и естественно – все совпадения прошу считать случайными.

Настройка FORTIGATE

Настройка IPsec туннеля со стороны Fortigate подразумевает первично подготовленные интерфейсы маршрутизатора: адресация, dhcp, доступ в интернет, и все что еще заблагорассудится, с чем, я думаю, проблем не возникнет. У нас это :

  • port1 – 172.16.16.61/255.255.255.0 (WAN)
  • port2 – 10.0.0.1/255.255.255.0 (LAN)

И за каждым маршрутизатором мы повесили по одному устройству, для проверки будущего туннеля. Адресация этих устройств *.*.*.2 для каждой сети.

Первым делом переходим на вкладку “VPN > IPsec tunnels” и создаем туннель.

Мастер создания туннеля предложит использовать преднастройки для уже известных типов соединения, но нас интересует ручная настройка – “Custom”.

Также необходимодать имя виртуальному интерфейсу, мы назвали его “corp-tun”, а затем:

Здесь мы указали :

Remote Gateway – адрес соседа является статическим

IP Address – собственно сам адрес соседа

Interface – наш внешний интерфейс

NAT Traversal – включаем инкапсуляцию трафика (NAT-T)

Keepalive Frequency – частота проверки активности

Dead Peer Detection – включение механизма обнаружения простоя соединения (DPD)

 

Далее указываем:

Method – метод проверки

Pre-shared Key – значение общего ключа, как пример “5PA$$Netc)nfiG!8”

Version – версия набора протоколов (IKE)

Mode – режим подключения

В агрессивном режиме профиль безопасности на одном маршрутизаторе должен строго совпадать с профилем на другом маршрутизаторе.

 

В профиле установим протокол шифрования, проверки подлинности, версию DH и время его жизни (Phase 1):

Encryption – DES

Authentication – SHA1

Diffie-Hellman Group – 5

Key Lifetime – 86400

Отключаем механизм расширенной аутентификации (XAuth)

Переходим ко второй фазе:

Такими настройками как:

Local Port – ALL

Remote Port – ALL

Protocol – ALL

Local Adress – 0.0.0.0/0

Remote Address – 0.0.0.0/0

мы указываем какой трафик нужно будет шифровать, в нашем случае весь.

по-моему так

Дальше указываем шифрование, аутентификацию и версию протокола Диффи-Хеллмана (DH)

Соответственно:

Encryption – DES

Authentication – SHA1

Diffie-Hellman Group – 5

И наконец оставшиеся параметры:

Enable Replay Detection – Функция обнаружения повторяющихся пакетов

Perfect Forward Secrecy – Функция генерации ключей DH по истечении Key Lifetime

Key Lifetime – время жизни ключа

Seconds – значение “Key Lifetime” в секундах

Более подробно о второй фазе (Phase 2) 

По скольку такой тип соединения является route-based vpn, то с обеих сторон туннеля необходимо добавить маршруты в сети по ту сторону туннеля через виртуальный интерфейс, на Fortigate это можно сделать так:

На вкладке “Static Routes” добавляем запись.

Destination – сеть по ту сторону туннеля

Interface – интерфейс туннеля с нашей стороны

Administrative Distanse – степень доверия к маршруту (http://www.netconfig.org/routing/1047)

Для прохождения трафика из туннеля в локальную сеть и назад необходимо создать в меню Policy & objects > IPv4 Policy несколько сетевых политик (правил фаервола), в нашем случае правила 2 и 5:

Первое правило работает как обычный NAT, а последнее является запрещающим.

Настройка CISCO

Теперь по аналогии проделаем те же манипуляции на втором маршрутизаторе.

Для начала подготовим внутренний и внешний интерфейсы:

CISCO#conf t
CISCO(config)#interface fastEthernet 0/0
CISCO(config-if)#ip address 192.168.10.1 255.255.255.0
CISCO(config-if)#ip nat inside
CISCO(config-if)#no shutdown
CISCO(config-if)#exit
 
CISCO(config)#interface fastEthernet 0/1
CISCO(config-if)#ip address 172.16.16.64 255.255.255.0
CISCO(config-if)#ip nat outside
CISCO(config-if)#no shutdown
CISCO(config-if)#exit

Затем доступ в интернет, создав список доступа и разрешив ему отправлять весь трафик через внешний Fa 0/1, а также указав этот интерфейс в качестве шлюза по умолчанию.

CISCO(config)#ip access-list extended LAN10
CISCO(config-ext-nacl)#permit ip 192.168.10.0 0.0.0.255 any
CISCO(config-ext-nacl)#exit
CISCO(config)#ip route 0.0.0.0 0.0.0.0 FastEthernet0/1
CISCO(config)#ip nat inside source list LAN10 interface fastEthernet 0/1 overload

Переходим к первой фазе, тут все то же самое за исключение номера политики – в случае, когда политик больше одной, ее номер влияет на порядок проверки этой политик при установлении первой фазы.

CISCO(config)#crypto isakmp policy 20
CISCO(config-isakmp)#authentication pre-share
CISCO(config-isakmp)#group 5
CISCO(config-isakmp)exit

Ровно также связываем адрес соседа с общим ключем:

CISCO(config)#crypto isakmp key 5PA$$Netc)nfiG!8 address 172.16.16.61

Настройка второй фазы выглядит так: создаем transform-set а затем добавляем его в профиль, в котором указываем версию DH.

CISCO(config)#crypto ipsec transform-set FORTI-SET esp-des esp-sha-hmac
CISCO(cfg-crypto-trans)#exit
CISCO(config)#crypto ipsec profile FORTI-PROFILE
CISCO(ipsec-profile)#set transform-set FORTI-SET
CISCO(ipsec-profile)#set pfs group5
CISCO(ipsec-profile)#exit

После этого необходимо настроить виртуальный интерфейс, связав его с внешним интерфейсом маршрутизатора:

CISCO(config)#interface Tunnel61
CISCO(config-if)#ip unnumbered FastEthernet0/1
CISCO(config-if)# ip nat inside
CISCO(config-if)# ip virtual-reassembly
CISCO(config-if)# tunnel source 172.16.16.64
CISCO(config-if)# tunnel destination 172.16.16.61
CISCO(config-if)# tunnel mode ipsec ipv4
CISCO(config-if)#exit

И добавляем маршрут в удаленную сеть через все тот-же виртуальный интерфейс:

CISCO(config)#ip route 10.0.0.0 255.255.255.0 Tunnel61

Туннель готов!
Сохраняемся:

CISCO(config)#do wr

Мониторинг

Проверка первой фазы на cisco.

R1#show crypto isakmp sa
R1#show crypto isakmp sa detail

Проверка второй фазы на cisco.

R1#show crypto ipsec sa
R1#show crypto ipsec sa detail
R1#show crypto ipsec transform-set

Просмотр сессии на cisco.

R1#show crypto session
R1#show crypto session detail

Дебаг.

sh#debug crypto ipsec *
sh#debug crypto isakmp *

У Fortigate для этого есть следующие инструменты:

Монитор.

И лог VPN событий.

Как видим, узлы в локальных сетях увидели своих соседей по туннелю:

На этом пока все, пока пока.



                    



Fatal error: Uncaught Error: Call to undefined function wp_related_posts() in /home2/netconfi/public_html/wp-content/themes/theme/single.php:56 Stack trace: #0 /home2/netconfi/public_html/wp-includes/template-loader.php(106): include() #1 /home2/netconfi/public_html/wp-blog-header.php(19): require_once('/home2/netconfi...') #2 /home2/netconfi/public_html/index.php(17): require('/home2/netconfi...') #3 {main} thrown in /home2/netconfi/public_html/wp-content/themes/theme/single.php on line 56