В 10 версии iOS команда Apple наконец-то выпилила PPTP, чем сподвигла весь (не)цивилизованный ИТ-мир срочно учиться поднимать IPSec на своих бордерах. В том числе и меня.
“Поднять IPSec - что там сложного” - подумал я. Но не тут то было. По мануалам, хабрам и прочим ресурсам все отлично поднимается и работает между двумя микротиками, между микротиком и виндой, между микротиком и андроид. Но вот с iOS 10 ни в какую не хочет. Путем долгих ковыряний и трехэтажных словосочетаний, выяснил, что изменения для IPSec нужно применять в КОНСОЛИ! Не в графическом интерфейсе, а именно в консоли - ssh или встроенная в WinBox - без разницы. Но факт в том, что идентичные настройки в WinBox не позволяли поднять VPN между Mikrotik RouterOS и IPhone (по крайней мере в моем случае с RB751 на RouterOS 6.37.1 в связке с IPhone 6).
Привожу настройки L2TP и IPSec текстом и скрины из WinBox что должно получиться:
L2TP сервер
/interface l2tp-server server
set authentication=mschap2 default-profile=default enabled=yes
L2TP server
PPP профили дефолтные
\> ppp profile print
Flags: \* - default
0 \* name="default" use-mpls=default use-compression=default
use-encryption=default only-one=default change-tcp-mss=yes
use-upnp=default address-list="" on-up="" on-down=""
1 \* name="default-encryption" use-mpls=default use-compression=default
use-encryption=yes only-one=default change-tcp-mss=yes use-upnp=default
address-list="" on-up="" on-down=""
ppp profile
Пользователь L2TP тоже ничем не отличается от простого L2TP/PPTP и иже с ними без айписека
/ppp secret
add local-address=192.168.222.16 name=user1 password=l2tppassword profile=default-encryption remote-address=192.168.222.18 service=l2tp
L2TP secret
Приступаем к IPSec. Все, что я делал с IPSec - делал через консоль. Из винбокса не заработало. что именно сделалось не так - не проверял. Можете проверить методом исключения.
Добавляем группу (дефолтная работает криво - особенность RouterOS):
/ip ipsec policy group
add name=l2tp
IPSec group
Корректируем proposal и добавляем новый:
/ip ipsec proposal
set \[ find default=yes \] enc-algorithms=aes-256-cbc,aes-128-cbc
add enc-algorithms=aes-256-cbc,aes-128-cbc name=L2TP pfs-group=none
IPSec proposal
Добавляем пира:
/ip ipsec peer
add enc-algorithm=aes-256,aes-192,aes-128,3des exchange-mode=main-l2tp generate-policy=port-strict passive=yes policy-template-group=l2tp secret=RouterOS
IPSec peer
Добавляем шаблон политики:
/ip ipsec policy
add dst-address=0.0.0.0/0 group=l2tp proposal=L2TP src-address=0.0.0.0/0 template=yes
IPSec policy
IPSec policy action
Ну и настройка IPhone:
IPhone
Спасибо Кириллу Васильеву за наводку
UPD: если имеются проблемы с подключением, попробуйте в /ip ipsec peer generate-policy установить port-override вместо port-strict
UPD: как советуют в комментариях
В общем как ни странно вопрос решён, действительно помогло. А значит тем, кто кроме меня столкнулся с такой же проблемой, но не хочет прошиваться на релиз-кандидаты прошивок и ждёт официальную - им поможет отключение UPNP в роутере (в принципе его есть смысл юзать в домашнем варианте использования роутера, но и по работе в некоторых случаях он бывает полезен, в таком случае решение - только прошиваться на 6.41rc38)
comments powered by Disqus