IPsec Site-to-Site между VPNaaS и MikroTik

Описание

В примере создаётся IPsec-туннель между VPNaaS в SIM-Cloud и маршрутизатором MikroTik удалённого офиса. Оба шлюза имеют публичные IP-адреса и не находятся за NAT.

Исходные условия

  • Сеть VPNaaS: 10.5.4.0/24; публичный адрес 156.67.54.218.

  • Сеть MikroTik: 192.168.255.0/24; публичный адрес 156.67.53.178.

  • VPNaaS 12.0.5 и MikroTik RouterOS 6.45.3.

Разрешите UDP 500, UDP 4500 и ESP между шлюзами. Локальные подсети должны различаться и не пересекаться.

Предупреждение

Синтаксис и доступные параметры могут отличаться в других версиях RouterOS.

Настройка стороны A — VPNaaS

Настройте VPNaaS по инструкции:

  1. ikepolicy: IKEv1, aes-128, sha1, DH group 5, lifetime 86400, режим main.

  2. ipsecpolicy: ESP, tunnel, aes-128, sha1, PFS group 5, lifetime 3600.

  3. Создайте VPNservice на маршрутизаторе проекта.

  4. Создайте local_epg типа SUBNET для 10.5.4.0/24 и remote_epg типа CIDR для 192.168.255.0/24.

  5. Создайте ipsecsiteconn. В Peer Gateway и Peer ID укажите 156.67.53.178, выберите созданные политики и группы, задайте общий надёжный PSK и MTU 1500.

Настройка стороны B — MikroTik

Официальный справочник: Site-to-Site IPsec tunnel.

  1. Создайте профиль Phase 1:

    /ip ipsec profile
    add enc-algorithm=aes-128 hash-algorithm=sha1 dh-group=modp1536 lifetime=1d name=VPNaaS
    
  2. Создайте proposal Phase 2:

    /ip ipsec proposal
    add enc-algorithms=aes-128-cbc auth-algorithms=sha1 pfs-group=modp1536 lifetime=1h name=VPNaaS
    
  3. Добавьте удалённый peer:

    /ip ipsec peer
    add address=156.67.54.218/32 exchange-mode=main profile=VPNaaS name=VPNaaS
    
  4. Создайте identity с тем же PSK, который указан в VPNaaS:

    /ip ipsec identity
    add auth-method=pre-shared-key peer=VPNaaS secret=<НАДЁЖНЫЙ_PSK>
    
  5. Добавьте политику для трафика между локальными сетями:

    /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
    
  6. Добавьте исключение из NAT перед правилом masquerade. Без него исходный адрес изменится до шифрования и не совпадёт с селектором политики:

    /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
    

Те же объекты можно создать в WinBox в разделах IPIPsecProfiles, Proposals, Peers, Identities, Policies, а правило NAT — в IPFirewallNAT. Исключение должно находиться выше masquerade.

Проверка туннеля

Проверьте состояние командами:

/ip ipsec installed-sa print
/ip ipsec active-peers print

Должны отображаться две SA, а состояние peer — established. В VPNaaS соединение должно перейти в Active. После этого проверьте обмен трафиком между хостами двух локальных сетей.

Примечание

Если туннель не устанавливается, проверьте PSK, алгоритмы, lifetime, селекторы подсетей, порядок NAT-правил и разрешения межсетевого экрана.