VPN IPSec (site-to-site) между VPNaaS (SIM-Cloud) и роутером OPNsense (remote office)¶
- Описание
- Начальные условия
- Конфигурация Site «A» (VPNaaS)
- Конфигурация Site «B» (OPNsense)
- Проверка работы туннеля
Описание¶
Начальные условия¶
- Оба узла, между которыми строится VPN туннель, имеют реальные IP адреса.
- Site «A» - сервис VPNaaS в облаке SIM-Cloud
- Site «B» - клиентская инфраструктура на основе OPNsense.
- Каждая сторона имеет свою собственную приватную подсеть:
- Site «A» - 10.5.4.0/24
- Site «B» - 192.168.255.0/24
- Версия VPNaaS - v. 12.0.5
- Версия OPNsense - v. 19.7-amd64
Предупреждение
В зависимости от версии ОС роутера или программного обеспечения, дальнейшая настройка может отличаться.
Примечание
Для установления VPN-соединения необходимо обеспечить выполнения обязательных условий:
Сетевая доступность между маршрутизаторами:
- Protocol: UDP, port 500 (for IKE, to manage encryption keys).
- Protocol: UDP, port 4500 (for IPSEC NAT-Traversal mode).
- Protocol: ESP, value 50 (for IPSEC).
- Protocol: AH, value 51 (for IPSEC).
Правила фаерволов не должны блокировать сетевой трафик между маршрутизаторами и приватными подсетями.
Приватные подсети, которые будут соединяться средствами IPSec, должны быть разными, а также не включать в себя друг друга.
VPN Router | VPN Peer IP | Private Network | Private Network GW IP | Private Network Host IP |
---|---|---|---|---|
Site «A» (VPNaaS) | 156.67.54.218 | 10.5.4.0/24 | 10.5.4.1/32 | 10.5.4.7 |
Site «B» (OPNsense) | 156.67.53.137 | 192.168.255.0/24 | 192.168.255.21/32 | 192.168.255.29 |
В данном примере будет выполнена первоначальная настройка защищенного VPN соединения IPSec «site-to-site». Тем самым мы соединим приватные сети 10.5.4.0/24 и 192.168.255.0/24, которые находятся за маршрутизаторами.
Конфигурация Site «A» (VPNaaS)¶
Сервис VPNaaS настраиваем согласно имеющейся в документации инструкции:
A1. Выполним настройку IKE Policy. На этом этапе будем использовать следующие параметры:
Name | ikepolicy |
Authorization algorithm | sha1 |
Encryption algorithm | 3des |
IKE version | v2 |
Lifetime value for IKE keys | 86400 |
Perfect Forward Secrecy | group5 |
IKE Phase1 negotiation mode | main |
A2. Выполним настройку IPsec Policy. На этом этапе будем использовать следующие параметры:
Name | ipsecpolicy |
Authorization algorithm | sha1 |
Encapsulation mode | tunnel |
Encryption algorithm | 3des |
Lifetime value for IKE keys | 3600 |
Perfect Forward Secrecy | group5 |
Transform Protocol | esp |
A3. Выполним настройку VPN service. На этом этапе будем использовать следующие параметры:
Name | VPNservice |
Router | выберем из списка роутер облачного проекта |
A4. Выполним настройку Endpoint Groups. На этом этапе будем использовать следующие параметры:
Endpoint group name | Type | Value |
---|---|---|
local_epg | SUBNET | 10.5.4.0/24 |
remote_epg | CIDR | 192.168.255.0/24 |
A5. Выполним настройку IPsec site connection. На этом этапе будем использовать следующие параметры:
Name | ipsecsiteconn |
VPN service associated with this connection | VPNservice |
Endpoint group for local subnet(s) | local_epg |
IKE policy associated with this connection | ikepolicy |
IPsec policy associated with this connection | ipsecpolicy |
Peer gateway public IPv4/IPv6 Address or FQDN | 156.67.53.137 |
Peer router identity for authentication (Peer ID) | 156.67.53.137 |
Endpoint group for remote peer CIDR(s) | remote_epg |
Pre-Shared Key (PSK) string | Baejii9ahwoo |
MTU | 1500 |
A6. После всех проведённых манипуляций видим, что «IPsec site connection» успешно создался и имеет статус - «Down». Когда туннель будет настроен с другой стороны и успешно поднимется, статус изменится на «Active».
Конфигурация Site «B» (OPNsense)¶
При настройке VPN соединения на ПО OPNsense, будем руководствоваться оригинальной статьей от производителя ПО - «Setup IPsec site to site tunnel».
- B0-1. Перед непосредственной настройкой VPN туннеля, необходимо разрешить маршрутизацию трафика с приватных сетей (определённых в RFC1918) через WAN интерфейс.
- Для этого перейдём в меню «Interfaces ‣ [WAN]» и снимем отметку с пункта «Block private networks».Сохраним изменения нажатием на кнопку «Save» и применим их нажатием на кнопку «Apply changes».
- B0-2. Чтобы разрешить соединения IPSec туннелей, настроим в firewall правила для протоколов:
- Protocol ESP
- UDP Traffic on Port 500 (ISAKMP)
- UDP Traffic on Port 4500 (NAT-T)
Для этого перейдем в меню «Firewall ‣ Rules ‣ WAN» и создадим правила согласно таблице:
Action | Interface | TCP/IP Version | Protocol | Destination | Destination port range | Description |
---|---|---|---|---|---|---|
Pass | WAN | IPv4 | ESP | WAN address | Any | IPsec ESP |
Pass | WAN | IPv4 | TCP/UDP | WAN address | ISAKMP | IPsec ISAKMP |
Pass | WAN | IPv4 | TCP/UDP | WAN address | IPsec NAT-T | IPsec NAT-T |
Примечание
Для дополнительной безопасности, в поле «Source» правил можно указать IP адрес VPNaaS маршрутизатора (в данном примере это 156.67.54.218)
После создания правил применим изменения нажатием на кнопку «Apply changes»
B1. Настройка VPN IPsec туннеля. Phase 1
Connection method | default | |
Key Exchange version | V2 | должно совпадать с версией установленной в VPNaaS |
Internet Protocol | IPv4 | |
Interface | WAN | должен быть выбран интерфейс смотрящий в сеть интернет |
Remote gateway | 156.67.54.218 | в нашем случае, публичный IP адрес VPNaaS |
Description | VPNaaS | описание |
Authentication method | Mutual PSK | Используем Pre-shared Key |
My identifier | My IP address | Простая идентификация, если используем фиксированный ip |
Peer identifier | Peer IP address | Простая идентификация, если используем фиксированный ip |
Pre-Shared Key | Baejii9ahwoo | Случайная фраза, должна совпадать с введённой с другой стороны |
Encryption algorithm | 3DES | должно совпадать с версией установленной в VPNaaS |
Hash algoritm | SHA1 | должно совпадать с версией установленной в VPNaaS |
DH key group | 5 | должно совпадать с версией установленной в VPNaaS |
Lifetime | 86400 | должно совпадать с версией установленной в VPNaaS |
Disable Rekey | Unchecked | Перезапросить ключ, когда истекает срок его действия |
Disable Reauth | Unchecked | For IKEv2 only re-authenticate peer on rekeying |
NAT Traversal | Disabled | For IKEv2 NAT traversal всегда включён |
Dead Peer Detection | Unchecked |
Сохраним изменения нажатием на кнопку «Save»
B2. Настройка VPN IPsec туннеля. Phase 2
Mode | Tunnel IPv4 | Выберем Tunnel mode |
Description | Локальная сеть в VPNaaS | Описание |
Type | LAN subnet | Route the local LAN subnet |
Type | Network | Route a remote network |
Address | 10.5.4.0/24 | The remote LAN subnet |
Protocol | ESP | Выберем ESP для шифрования |
Encryption algorithms | 3DES | должно совпадать с версией установленной в VPNaaS |
Hash algortihms | SHA1 | должно совпадать с версией установленной в VPNaaS |
PFS Key group | 5(1536bits) | должно совпадать с версией установленной в VPNaaS |
Lifetime | 3600 | должно совпадать с версией установленной в VPNaaS |
Сохраним изменения нажатием на кнопку «Save» и применим их нажатием на кнопку «Apply changes».
B3. Включение VPN IPsec туннеля.
B4. Добавим правила в firewall, чтобы разрешить прохождение трафика через IPsec туннель в нашу локальную сеть.
Для этого перейдем в меню «Firewall ‣ Rules ‣ IPsec» и добавим правило согласно таблице:
Action | Interface | TCP/IP Version | Protocol | Destination | Destination port range | Description |
---|---|---|---|---|---|---|
Pass | IPsec | IPv4 | any | LAN net | any | Allow IPsec traffic to LAN net |
После создания правил применим изменения нажатием на кнопку «Apply changes»
Проверка работы туннеля¶
Примечание
Если туннель не поднялся, нужно рестартовать VPN сервис с обоих сторон.
- Для просмотра статуса туннеля в OPNsense нужно зайти в меню «VPN ‣ IPsec ‣ Status Overview». Там же можно нажать на пиктограмму с символом «(i)», чтобы увидеть детали для «phase 2»
- Cтатус «IPsec site connection» в VPNaaS изменился на «Active».