IPsec между виртуальными маршрутизаторами SIM-Cloud за NAT

Описание

В примере два виртуальных маршрутизатора MikroTik в разных проектах SIM-Cloud устанавливают IPsec Site-to-Site. Оба подключены к Интернету через маршрутизатор провайдера и используют NAT-T. Настройку можно выполнить через CLI или WinBox.

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

Сторона

Плавающий IP

Адрес VPC

Локальная сеть

A, MikroTik № 1

156.67.54.238

172.16.0.12

10.10.10.0/24

B, MikroTik № 2

156.67.54.143

172.16.0.15

10.5.4.0/24

Пример рассчитан на RouterOS 6.41.2 CHR и WinBox 3.18. Разрешите между сторонами UDP 500 и UDP 4500. Межсетевые экраны не должны блокировать ESP и трафик локальных подсетей, а сами подсети не должны пересекаться.

../../../_images/IPSec_Mikrotik.png

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

  1. Создайте peer. Параметр my-id содержит внутренний адрес VPC, так как маршрутизатор находится за NAT:

    /ip ipsec peer
    add address=156.67.54.143/32 my-id=address:172.16.0.12 auth-method=pre-shared-key secret="<НАДЁЖНЫЙ_PSK>"
    
  2. Проверьте, что предложение Phase 2 одинаково на обеих сторонах:

    /ip ipsec proposal print
    
  3. Создайте политику:

    /ip ipsec policy
    add src-address=10.10.10.0/24 src-port=any dst-address=10.5.4.0/24 dst-port=any sa-src-address=172.16.0.12 sa-dst-address=156.67.54.143 tunnel=yes action=encrypt proposal=default
    
  4. Проверьте конфигурацию:

    /ip ipsec peer print
    /ip ipsec policy print
    

Те же параметры доступны в WinBox:

../../../_images/site_a_peers_general.png ../../../_images/site_a_peers_advanced.png ../../../_images/site_a_policies.png ../../../_images/site_a_policy_action.png

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

  1. Создайте peer с публичным адресом стороны A и локальным адресом VPC стороны B:

    /ip ipsec peer
    add address=156.67.54.238/32 my-id=address:172.16.0.15 auth-method=pre-shared-key secret="<НАДЁЖНЫЙ_PSK>"
    
  2. Убедитесь, что параметры default proposal совпадают со стороной A.

  3. Создайте обратную политику:

    /ip ipsec policy
    add src-address=10.5.4.0/24 src-port=any dst-address=10.10.10.0/24 dst-port=any sa-src-address=172.16.0.15 sa-dst-address=156.67.54.238 tunnel=yes action=encrypt proposal=default
    
  4. Проверьте peer и политику командами /ip ipsec peer print и /ip ipsec policy print.

../../../_images/site_b_peers_general.png ../../../_images/site_b_policies.png

Проверка соединения

На обоих маршрутизаторах выполните:

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

Состояние peer должно быть established, флаг N означает работу через NAT-T. В installed-sa должны присутствовать две ассоциации ESP.

Исключения из NAT

Masquerade меняет исходный адрес до шифрования, поэтому на каждой стороне нужно добавить правило accept выше остальных правил NAT.

Сторона A:

/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=10.10.10.0/24 dst-address=10.5.4.0/24
../../../_images/site_a_firewall_nat.png

Сторона B:

/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=10.5.4.0/24 dst-address=10.10.10.0/24
../../../_images/site_b_firewall_nat.png

Примечание

Если туннель запускался до добавления исключений, очистите соответствующие записи connection tracking или перезапустите оба маршрутизатора. Правила исключения должны находиться выше masquerade.