Как настроить IPsec тунель Mikrotik -- Strongswan?

Здравствуйте!
Есть сервер-шлюз на Ubuntu с установленным Strongswan. Strongswan настроен и работает если подключатся с клиентов Windows, Android – проблем нет. Но появилась задача объединить два офиса - во втором офисе роль шлюза выполняет Mikrotik, с ним и возникли проблемы в настройке.
Mikrotik авторизуется на сервере (strongswan), подтягиваются политики, Strongswan говорит, что соединение установлено, но пакеты не ходят ни с одной стороны ни с другой.

Linux шлюз:
Внутренняя сеть: 192.168.10.0/24
Адрес шлюза: 192.168.10.1
Внешний адрес: x.x.x.x

Mikrotik:
Внутренняя сеть:
192.168.88.0/24
Адрес шлюза: 192.168.88.1
Внешний адрес: динамический (y.y.y.y)

Конфиг Strongswan

# basic configuration
config setup
# strictcrlpolicy=yes
# uniqueids = no
conn %default
dpdaction=clear
dpddelay=35s
dpdtimeout=300s
fragmentation=yes
rekey=no
ike=aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,aes256-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
esp=aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes182-sha1-modp2048,aes128-sha1-modp1024,aes128-sha1,3des-sha1!
left=%any
leftauth=pubkey
leftcert=server.crt
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightauth=pubkey
rightsourceip=192.168.3.0/24
rightdns=8.8.8.8
conn ikev2-pubkey
keyexchange=ikev2
auto=add

Firewall:
-A POSTROUTING -m policy --dir out --pol ipsec -j MASQUERADE
-A POSTROUTING -o ppp0 -j SNAT --to-source x.x.x.x

В фильтре - все разрешено
Конфиг Mikrotik

Peer:
address=x.x.x.x/32 auth-method=rsa-signature certificate=client.crt generate-policy=port-strict policy-template-group=default exchange-mode=ike2 mode-config=request-only send-initial-contact=yes hash-algorithm=sha1 enc-algorithm=aes-256,camellia-256,aes-192,camellia-192,aes-128,camellia-128,3des,blowfish,des dh-group= modp4096, modp2048, modp1024,modp768 dpd-interval=2m

Policy:
DA src-address=192.168.3.1/32 src-port=any dst-address=0.0.0.0/0 dst-port=any protocol=all action=encrypt level=unique ipsec-protocols=esp tunnel=yes sa-src-address=y.y.y.y sa-dst-address=x.x.x.x proposal=default ph2-count=1

Firewall:
0 chain=srcnat action=masquerade out-interface=pppoe-out1 log=no log-prefix=""

Правила фильтра – все разрешено, и политика по умолчанию – все разрешено


Помогите, пожалуйста, разобраться.
  • Вопрос задан
  • 3753 просмотра
Решения вопроса 1
CityCat4
@CityCat4 Куратор тега VPN
Если я чешу в затылке - не беда!
Версия микротика? IKEv2 там не так давно стало поддерживаться.
Еще вопрос - в политике dst-address указан 0.0.0.0/0 намеренно? Чтобы шифровались все пакеты, вышедшие из 192.168.3.1? И почему в src-address только один IP? при обьединении офисов обычно используют соединение "сеть-сеть".
Вот у меня политика для подключения домашней сети (рассчитана на микротик-микротик, но не суть):
/ip ipsec policy
add dst-address=10.54.200.0/24 proposal=proposal1 sa-dst-address=1.2.3.4 sa-src-address=1.3.4.5 src-address=10.87.1.0/24 tunnel=yes
/ip ipsec proposal
add auth-algorithms=null enc-algorithms=aes-256-gcm lifetime=1h name=proposal1
/ip ipsec peer
add address=1.2.3.4/32 auth-method=rsa-signature certificate="RB1100AHx2 DeltaHW cert with key" dpd-interval=disable-dpd enc-algorithm=aes-256 hash-algorithm=sha256 lifetime=2h nat-traversal=no proposal-check=strict remote-certificate="RB450G DeltaHW cert"

Никаких отдельных роутов для сети 10.54.200.0/24 я не добавлял - незачем!
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@feanor7
Системный администратор
Пакеты не ходят...а роутинг не смотрели? Был у меня такой затык, пуш роут не срабатывал
Ответ написан
vesper-bot
@vesper-bot
Любитель файрволлов
Для микротика нужно отдельное соединение. Если я правильно читаю конфиг, то это соединение для L2TP/IPsec, с назначением подключающемуся узлу айпишника в локальной сети, а также устройства ppp. Микротик в этом случае правильно подсоединять через IPsec без всяких L2TP, и прописывать на обеих сторонах внутренние и внешние сети (у микротика внутренняя будет 192.168.88.0/24, у strongswan внутренняя 192.168.10.0/24).

Потом - зачем натить пакеты, уходящие в ipsec, на стороне убунту? В этом случае только одна сторона сможет видеть вторую, так как нат мешает соединяться с устройствами за натом снаружи ната.

Выход в Интернет из сети микротика планируется тоже через убунту? Если нет, правильно будет писать на микротике правило для шифрования только пакетов в сеть 192.168.10.0/24. Если да, тогда src-address все равно должен включать всю сеть.

И наконец, если IP микротика динамический, нельзя его задавать в конфиге статически, а задавать нужно интерфейсом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы