IPsec VPN між VPNaaS (SIM-Cloud) і маршрутизатором MikroTik у віддаленому офісі

Опис

Нижче описано IPsec VPN між VPNaaS у хмарній інфраструктурі та маршрутизатором MikroTik у віддаленому офісі.
Обидва маршрутизатори мають публічні IP-адреси на WAN-інтерфейсах і не використовують NAT.
Наведено налаштування через графічний інтерфейс і відповідні команди CLI.

Початкові умови

  • Обидва вузли VPN-тунелю мають публічні IP-адреси.

  • Майданчик A — хмарний VPNaaS у SIM-Cloud.

  • Майданчик B — клієнтська інфраструктура на основі MikroTik.

  • Кожен майданчик має власну приватну підмережу:

    • Site «A» - 10.5.4.0/24

    • Site «B» - 192.168.255.0/24

  • Версія VPNaaS: 12.0.5

  • Версія MikroTik: 6.45.3

Попередження

Порядок налаштування може відрізнятися залежно від версії RouterOS.

Примітка

Для налаштування VPN мають виконуватися такі умови:

  • між маршрутизаторами є мережева доступність:

  • UDP, порт 500 — IKE та керування ключами шифрування;

  • UDP, порт 4500 — режим IPsec NAT Traversal;

  • ESP, значення 50 — IPsec;

  • AH, значення 51 — IPsec.

  • Правила брандмауера не блокують трафік між маршрутизаторами та приватними підмережами.

  • Приватні підмережі, з’єднані через IPsec, відрізняються й не містять одна одну.

«Зведена таблиця»

VPN-маршрутизатор

IP VPN-вузла

Приватна мережа

IP шлюзу приватної мережі

IP вузла приватної мережі

Site «A» (VPNaaS)

156.67.54.218

10.5.4.0/24

10.5.4.1/32

10.5.4.7

Site «B» (MikroTik)

156.67.53.178

192.168.255.0/24

192.168.255.23/32

192.168.255.29

У прикладі створюється захищене IPsec-з’єднання між приватними мережами 10.5.4.0/24 і 192.168.255.0/24 за маршрутизаторами.

Налаштування майданчика A VPNaaS

Налаштуйте VPNaaS за інструкцією.

A1. Створіть IKE Policy з такими параметрами:

«IKE Policy»

Name

ikepolicy

Authorization algorithm

sha1

Encryption algorithm

aes-128

IKE version

v1

Lifetime value for IKE keys

86400

Perfect Forward Secrecy

group5

IKE Phase1 negotiation mode

main

A2. Створіть IPsec Policy з такими параметрами:

«IPsec Policy»

Name

ipsecpolicy

Authorization algorithm

sha1

Encapsulation mode

tunnel

Encryption algorithm

aes-128

Lifetime value for IKE keys

3600

Perfect Forward Secrecy

group5

Transform Protocol

esp

A3. Створіть VPN service з такими параметрами:

«VPN service»

Name

VPNservice

Router

Виберіть маршрутизатор проєкту зі списку

A4. Створіть Endpoint Groups із такими параметрами:

«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 із такими параметрами:

«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.178

Peer router identity for authentication (Peer ID)

156.67.53.178

Endpoint group for remote peer CIDR(s)

remote_epg

Pre-Shared Key (PSK) string

Baejii9ahwoo

MTU

1500

A6. Після збереження змін IPsec-з’єднання буде створено зі станом Down. Після налаштування іншого боку й установлення тунелю стан зміниться на Active.

Налаштування майданчика B MikroTik

Інструкцію підготовлено на основі документації виробника Site to Site IPsec tunnel.
Для кожного кроку наведено графічний інтерфейс і відповідну команду CLI.

B1. Створіть профіль для першої фази.

У вебінтерфейсі перейдіть до IP:IPsec, відкрийте вкладку Profiles і натисніть Add New.
Укажіть такі параметри:
Новий профіль

Name

VPNaaS

Hash Algorithms

sha1

Має збігатися зі значенням у VPNaaS

Encryption Algorithm

aes-128

Має збігатися зі значенням у VPNaaS

DH Group

modp1536

Має збігатися зі значенням у VPNaaS

Lifetime

1d

Має збігатися зі значенням у VPNaaS

Збережіть зміни кнопкою OK.

Для створення профілю через CLI виконайте:
/ip ipsec profile
add enc-algorithm=aes-128 hash-algorithm=sha1 dh-group=modp1536 lifetime=1d name=VPNaaS

B2. Створіть proposal для другої фази.

У вебінтерфейсі перейдіть до IP:IPsec, відкрийте вкладку Proposals і натисніть Add New.
Укажіть такі параметри:
Нова пропозиція

Name

VPNaaS

Auth. Algorithms

sha1

Має збігатися зі значенням у VPNaaS

Encr. Algorithms

aes-128 cbc

Має збігатися зі значенням у VPNaaS

Lifetime

01:00:00

Має збігатися зі значенням у VPNaaS

PFS Group

modp1536

Має збігатися зі значенням у VPNaaS

Збережіть зміни кнопкою OK.

Для створення proposal через CLI виконайте:
/ip ipsec proposal
add enc-algorithms=aes-128-cbc auth-algorithms=sha1 pfs-group=modp1536 lifetime=1h name=VPNaaS

B3. Укажіть параметри віддаленого вузла.

У вебінтерфейсі перейдіть до IP:IPsec, відкрийте вкладку Peers і натисніть Add New.
Укажіть такі параметри:
Новий віддалений вузол

Name

VPNaaS

Address

156.67.54.218/32

IP-адреса сервісу VPNaaS

Profile

VPNaaS

Профіль створено раніше

Exchange Mode

main

Має збігатися зі значенням у VPNaaS

Збережіть зміни кнопкою OK.

Для створення вузла через CLI виконайте:
/ip ipsec peer
add address=156.67.54.218/32 exchange-mode=main profile=VPNaaS name=VPNaaS

B4. Укажіть механізм ідентифікації.

У вебінтерфейсі перейдіть до IP:IPsec, відкрийте вкладку Identities і натисніть Add New.
Укажіть такі параметри:
Нова ідентифікація

Peer

VPNaaS

Віддалений вузол створено раніше

Auth. Method

pre shared key

Secret

Baejii9ahwoo

Має збігатися зі значенням у VPNaaS

Збережіть зміни кнопкою OK.

Для створення identity через CLI виконайте:
/ip ipsec identity
add auth-method=pre-shared-key peer=VPNaaS secret=Baejii9ahwoo

B5. Створіть IPsec-правило, яке дозволяє трафік із локальної приватної мережі до віддаленої через тунель.

У вебінтерфейсі перейдіть до IP:IPsec, відкрийте вкладку Policies і натисніть Add New.
Укажіть такі параметри:
Нова політика

Peer

VPNaaS

Віддалений вузол створено раніше

Tunnel

checked

Увімкнути тунелювання

Src. Address

192.168.255.0/24

Локальна мережа з боку MikroTik

Dst. Address

10.5.4.0/24

Локальна мережа з боку VPNaaS

Action

encrypt

IPsec Protocols

esp

Має збігатися зі значенням у VPNaaS

Proposal

VPNaaS

Пропозицію створено раніше

Збережіть зміни кнопкою OK.

Для створення правила через CLI виконайте:
/ip ipsec policy
add src-address=192.168.255.0/24 src-port=any dst-address=10.5.4.0/24 dst-port=any tunnel=yes action=encrypt proposal=VPNaaS ipsec-protocols=esp peer=VPNaaS

B6. На цьому етапі пакети з боку MikroTik, надіслані через IPsec-тунель, буде втрачено.

Причина — правило NAT masquerade змінює адресу джерела до шифрування пакета. Маршрутизатор не може зашифрувати пакет, оскільки адреса джерела не відповідає політиці. Докладніше дивіться в описі обробки IPsec-пакетів.

Додайте до MikroTik правило обходу NAT.
У вебінтерфейсі перейдіть до IP:Firewall, відкрийте вкладку NAT і натисніть Add New.
Укажіть такі параметри:
Нове правило NAT

Chain

srcnat

Src. Address

192.168.255.0/24

Локальна мережа з боку MikroTik

Dst. Address

10.5.4.0/24

Локальна мережа з боку VPNaaS

action

accept

Збережіть зміни кнопкою OK і перетягніть створене правило на початок списку.

Для створення правила через CLI виконайте:
/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=192.168.255.0/24 dst-address=10.5.4.0/24

Перевірка роботи тунелю

Після застосування змін тунель має встановитися, а трафік між локальними мережами — проходити через нього.
Перевірте з’єднання командою ping між вузлами різних локальних мереж.

Примітка

Якщо тунель не встановився, перезапустіть VPN-сервіс з обох боків.

  • Перевірте стан тунелю в MikroTik:

    У графічному інтерфейсі перейдіть до IP:IPsec.

    • На вкладці Installed SAs мають бути два рядки з параметрами з’єднань між вузлами.

    • На вкладці Policies параметр PH2 State має значення established.


    Для перевірки через CLI виконайте:
    /ip ipsec
    
    installed-sa print
      (you should see two lines of properties of connections between the peers)
    
    active-peers print
      (the  STATE of the connection should have the value established)
    
  • Стан IPsec-з’єднання у VPNaaS має змінитися на Active.