Связать несколько филиалов: VPN Site-to-Site

VPN типа Site-to-site — VPN-соединение, известное как соединение типа “point-to-point”. При межсетевом взаимодействии два одноранговых узла общаются напрямую. VPN типа Site-to-site обеспечивает прозрачную связь между двумя сетями, расположенными в разных офисах.

Защищенный туннель VPN по типу site-to-site позволяет устанавливать безопасные соединения между несколькими частными сетями удалённых филиалов или отделов. На базе решений FortiGate можно настроить IPsec VPN между вашей инфраструктурой в дата-центрах Selectel и облаком или офисом, где расположена другая инфраструктура и рабочие места сотрудников. О преимуществах аппаратного решения читайте на сайте.

IPsec — набор протоколов, который используется для аутентификации и шифрования трафика между двумя одноранговыми узлами. Три наиболее часто используемых протокола в наборе:

  • Internet Key Exchange (IKE) — выполняет “рукопожатие”, обслуживание туннеля и отключение;
  • Encapsulation Security Payload (ESP) — обеспечивает целостность данных и шифрование;
  • Authentication Header (AH) — предлагает только целостность данных, но не шифрование.

FortiGate использует только ESP для передачи полезной нагрузки пакета. AH не используется FortiGate.

**IKE (The Internet Key Exchange)*** — стандартный протокол набора протоколов IPsec, используемый для обеспечения безопасности взаимодействия в VPN, то есть IKE устанавливает туннель IPsec VPN.Для того, чтобы протоколы в составе IPsec могли выполнять свою работу по защите передаваемых данных, протокол IKE устанавливает между двумя конечными точками логическое соединение — безопасную ассоциацию (Security Association, SA). SA определяет аутентификацию, ключи и настройки, которые будут использоваться для шифрования и расшифрования пакетов.

* IKE определяет две фазы (Phase 1 и Phase 2):

  • Phase 1 — согласование параметров безопасного обмена данными о настройках, что происходит, когда каждая конечная точка туннеля подключается и начинает настраивать VPN. В процессе Phase 1 участники аутентифицируют друг друга и договариваются о параметрах установки специального канала, необходимого только для обмена информацией о желаемых алгоритмах шифрования и прочих деталях будущего IPsec-туннеля, то есть:
    • создание одной двунаправленной IKE SA для определения безопасного канала и согласование настроек;
    • обмен ключами по алгоритму Диффи-Хеллмана, которые будут использоваться в Phase 2;
    • аутентификация обоих концов туннеля на основе общего ключа (Pre-Shared Key) или цифровой подписи (сертификата);
  • После того, как в Phase 1 установлен в некоторой степени безопасный канал и закрытые ключи, начинается Phase 2, где уже доверяющие друг другу участники договариваются о том, как строить основной туннель для передачи непосредственно данных;
  • Phase 2 — согласование параметров защиты передаваемого трафика между конечными точками, согласовываются параметры безопасности для двух однонаправленных IPsec SA — не путать с IKE SA. Это SA для Phase 2, которые уже ESP использует для передачи данных между сетями.

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

Периодически обновляются ключи шифрования для основного туннеля: участники вновь связываются туннелю, установленному в Phase 1, затем проходят Phase 2 и заново устанавливают SA.

Каждая Phase 1 может иметь несколько Phase 2, например, если требуется использовать разные ключи шифрования для каждой подсети, трафик которой пересекает туннель.

По окончании Phase 2 устанавливается VPN-подключение.

Настроить базовый VPN Site-to-site между двумя FortiGate

В данном подразделе будет рассмотрена настройка IPsec VPN между двумя межсетевыми экранами FortiGate.

Для создания VPN туннеля на межсетевом экране требуется:

  • наличие настроенного внешнего интерфейса, через который будут подключаться устройства;
  • внутренняя сеть;
  • доступ к веб-интерфейсу FortiGate.

Настроить Brunch

  1. Перейдите в раздел VPN → IPSec Wizard. В мастере настройки предстоит пройти три этапа: VPN Setup, Authentication и Policy & Routing.
  2. На этапе VPN Setup установите Template Type в значение Site to Site.
  3. Установите Remote Device Type в значение FortiGate
  4. Установите NAT Configuration в значение No NAT between sites.
  5. Нажмите кнопку Next для продолжения настройки.
  6. На этапе Authentication установите Remote device в значение IP Address.
  7. В поле Remote IP Address укажите внешний адрес другой площадки.
  8. В Outgoing Interface выберите внешний интерфейс (в примере используется wan(port1)).
  9. Убедитесь, что в Authentication Method выбрано значение Pre-shared key.
  10. Укажите значение ключа в поле Pre-shared Key.
  11. Нажмите кнопку Next для продолжения настройки.
  12. На этапе Policy & Routing в Local Interface выберите внутренний интерфейс (в примере используется lan(port2)).
  13. Адрес локальной подсети автоматически добавится в поле Local subnets.
  14. Укажите в Remote Subnets адрес локальной подсети другой площадки.
  15. Установите Internet Access в значение None.

После создания VPN туннеля на экране появится сводная информация о созданных объектах.

Настроить HQ

Выполните настройки по аналогии с предыдущим разделом.

В результате:

  • в списке всех туннелей IPsec VPN отобразится новый HQ to Brunch со статусом Up;
  • в списке интерфейсов — новый интерфейс под внешним, через который проходит подключение.

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

Если нужно сгенерировать трафик для проверки соединения, отправьте эхо-запрос на внутренний интерфейс Branch FortiGate из внутренней сети HQ. Для этого установите в качестве источника внутренний интерфейс для операции ping в CLI:

HQ # exec ping-options source 192.168.200.2
 
HQ # exec ping 192.168.100.2
PING 192.168.100.2 (192.168.100.2): 56 data bytes
64 bytes from 192.168.100.2: icmp_seq=0 ttl=255 time=0.6 ms
64 bytes from 192.168.100.2: icmp_seq=1 ttl=255 time=0.4 ms
64 bytes from 192.168.100.2: icmp_seq=2 ttl=255 time=0.4 ms
64 bytes from 192.168.100.2: icmp_seq=3 ttl=255 time=0.4 ms
64 bytes from 192.168.100.2: icmp_seq=4 ttl=255 time=0.6 ms
 
--- 192.168.100.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.4/0.4/0.6 ms