Блог IT-шника Админство, шаманство и прочие радости. 10.10.2016 IPSec over L2TP между RouterOS и Apple iOS 10 В 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 Автор: devi1 на 10.10.16 Ярлыки: apple ios ios10 iphone ipsec l2tp Mikrotik routeros 28 комментариев: Сергей 12.10.2016, 1:57 Не удается подружить RouterOS 6.37.1 и IPhone 6s iOS 10. Выдает ошибку соединения "сервер не ответил" на микротике ipsec,error phase1. Порты 500, 1701 и 4500 открыты. Ответить Удалить Ответы devi1 12.10.2016, 4:06 Включите полное логирование IPSec и посмотрите на сообщения перед ошибкой. /system logging add topics=ipsec action=memory prefix=IPSEC Удалить Ответить Сергей 12.10.2016, 5:10 15:03:40 - phase1 negotiation failed due to time up ipмикротика[500]<=>ipизвне[500] туткучацифр 15:03:40 - IPSEC: phase1 negotiation failed due to time up ipмикротика[500]<=>ipизвне[500] туткучацифр Ответить Удалить Ответы devi1 12.10.2016, 6:02 Этот комментарий был удален автором. Удалить devi1 12.10.2016, 6:04 Адреса белые на обеих сторонах? Если нет, то NAT Traversal стоит? Копайте в peer. Что-то согласовать не могут - аутентификацию или шифрование. И смотрите ещё выше логи Удалить devi1 12.10.2016, 6:05 И ещё, как я отметил, из интерфейса винбокса у меня не завелось. Делайте из консоли все операции. Не уверен, что в это проблема и где именно. Но факт есть факт Удалить Ответить devi1 12.10.2016, 6:04 Этот комментарий был удален автором. Ответить Удалить Сергей 12.10.2016, 7:00 Адрес белый только на микротике. Выше в логах 236 байт друг другу посылают и куча цифр, больше ошибок нет. А у Вас на iphone белый адрес? Спасибо за ответы, по разбираюсь с peer. Ответить Удалить Сергей 12.10.2016, 7:02 Все операции делаю из консоли)) Ответить Удалить Ответы devi1 13.10.2016, 22:57 попробуйте в /ip ipsec peer generate-policy установить port-override вместо port-strict Удалить Сергей 14.10.2016, 0:00 при подключении выдает: peer sent packet for dead phase2. И еще заметил почему то при включении L2TP сервера в /ip ipsec peer создается второе правило со статус (D) в котором ничего не изменить, generate-policy=port-strict (вместо измененного port-override) и policy-template-group=unknow вместо l2tp... Удалить devi1
Блог IT-шника: IPSec over L2TP между RouterOS и Apple iOS 10
Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.