amper Posted March 13, 2021 Posted March 13, 2021 Что из поддерживаемых RouterOS протоколов стоит рассмотреть для организации VPN сервера под штатных клиентов на IOS/ANDROID/WIN/MACOS? Т.е. единый сервер доступа для всех клиентов. Задачи: 1) Управлять со стороны сервера перечнем маршрутизируемых через туннель подсетей 2) Иметь возможность отключать\включать юзеров через меню сервера (без необходимости держать доп. сервер для листа отзыва сертификатов) 3) Возможность привязывать IP адреса к профилям клиентов (на базе IP делать ACL по доступам к ресурсам и исключить возможность одновременного использования одних реквизитов\сертификата на нескольких клиентах) 4) В идеале хотелось бы использовать имеющийся SSL сертификат на домен второго уровня (для SSTP его хватает), а клиентам раздавать только логин:пароль 5) Идеальным вариантом была бы привязка устройства к профилю пользователя, т.е. всем юзерам раздаем инструкции по самостоятельной настройке с уникальными реквизитами (сертификат или пароль), первый подключившийся девайс привязывается к профилю и все, даже если юзер кому-то отдаст сертификат\пароль - новый девайс подключиться не сможет, но сомневаюсь, что штатными средствами это реализуемо... По логике хороший вариант был бы IKEV2, но как оказалось даже в 10 анроиде для него поддерживается только PSK либо RSA авторизация, а некоторые китайские мобилы вообще не умеют IKEV2. P.S. Версия для настройки планируется 6.40.9, вроде бы критических уязвимостей не имеет (повышения полномочий не актульны), если требуется ее обновление (для корректной работы VPN) то хотелось бы беспроблемного перехода в части настройки бриджей и VLANов. При переходе на актуальный 6.47.9 (Long-term) что может отвалиться? Вставить ник Quote
jffulcrum Posted March 13, 2021 Posted March 13, 2021 Нету такого способа со штатными клиентами. Со штатными клиентами даже проблема split-tunnel труднорешаема. Большую часть проблем решит OVPN, однако MT не поддерживает работу без сертификатов на стороне клиента, так что этот гемор неизбежен, ну и режим UDP все еще в бете. Вставить ник Quote
alibek Posted March 13, 2021 Posted March 13, 2021 Если нужна универсальность, то PPTP. Вставить ник Quote
hRUst Posted March 14, 2021 Posted March 14, 2021 PPtP на ios не работает, давно заменил на L2TP Вставить ник Quote
Saab95 Posted March 14, 2021 Posted March 14, 2021 Для SSTP сертификат вообще не нужен. Вставить ник Quote
amper Posted March 20, 2021 Author Posted March 20, 2021 Удалось поднять IKE2, но пока очень сомнительный результат - штатный клиент, по крайней мере на анроиде, не дает сделать нормальный split при постоянном подключении, и судя по всему вообще никак не проверяет соответствие CN из сертификата имени хоста либо ip. Strongswan получше. Интересно, как с этим дела в IOS? P.S. CRL в микротике надо как-то отдельно зайдествовать (кроме CRL Download и Use CRL)? Или в самих сертах тоже надо было указывать CA CRL Host? Или он обрабатывается с какой-то задержкой? Отозвал клинетский серт, но клиенты продолжают успешно переподключаться. Вставить ник Quote
amper Posted March 22, 2021 Author Posted March 22, 2021 Отвечу про IOS - это худшее, что может быть... после долбежа с сертами и сплитами - соединение просто каждые 8 минут завершается со стороны IOS, и штатными средствами (через меню) сделать always on VPN нельзя. Вставить ник Quote
alibek Posted March 22, 2021 Posted March 22, 2021 Видимо VPN не кошерный, по мнению Apple. Вставить ник Quote
McSea Posted March 22, 2021 Posted March 22, 2021 On 3/20/2021 at 7:18 PM, amper said: P.S. CRL в микротике надо как-то отдельно зайдествовать (кроме CRL Download и Use CRL)? Или в самих сертах тоже надо было указывать CA CRL Host? CRL host указывается в сертификате CA, которым вы клиентские сертификаты подписываете. Можно сделать управление доступом без отзывов - разрешить подключение только по identities с сопоставлением по клиентским сертификатам(у каждого клиента должен быть свой), тогда отключение/удаление конкретного identity сразу же отключит доступ этому клиенту. Вставить ник Quote
McSea Posted March 22, 2021 Posted March 22, 2021 3 hours ago, amper said: соединение просто каждые 8 минут завершается со стороны IOS Нет такой проблемы Вставить ник Quote
amper Posted March 23, 2021 Author Posted March 23, 2021 (edited) 17 hours ago, McSea said: Нет такой проблемы Перепроверил. VPN отваливается не только в простое, но даже если держать в руках телефон и что-то делать, проходит 8 минут и приходит payload delete (ровно так же, как если руками в настройках VPN отключаю). Причем даже если проходит какая-то активность по каналу (срабатывает таймер на проверку почты), это не продлевает время до сброса. Пробовал DPD отключать - без изменений. При переходе с wifi на lte отваливается сразу и не восстанавливается, причем в настройках тумблер VPN еще активен, приходится вручную его выключить - ОКнуть ошибку недоступности VPN - и включить заново. В случае с почтой задача держать постоянно или хотя бы поднимать канал регулярно - для проверки, но vpn-on-demand опять таки убрали из пользовательского доступа, насколько я понимаю. Edited March 23, 2021 by amper Вставить ник Quote
McSea Posted March 23, 2021 Posted March 23, 2021 (edited) @amper Какая версия RouterOS ? У меня 6.46.8 Скрин выше был при подключении через LTE, аппарат просто лежал с выключенным экраном, трафика практически не было - несколько пингов. Last seen доходил до 20 секунд, потом на 0 сбрасывался - т.е. видно что DPD пинги ходят. Сегодня через Wi-Fi также проверил в течение часа, все аналогично. Обрывается, только если в таблице соединений (на микротике на стороне клиента) специально удалить соотв. запись. 12 hours ago, amper said: При переходе с wifi на lte отваливается сразу и не восстанавливается Так и должно быть, RouterOS MOBIKE не поддерживает, у меня просто отключается при переключении туда-обратно. 12 hours ago, amper said: В случае с почтой задача держать постоянно или хотя бы поднимать канал регулярно - для проверки, но vpn-on-demand опять таки убрали из пользовательского доступа, насколько я понимаю. С такой задачей конечно надо on demand делать как минимум, настройки такой в интерфейсе никогда не было, это нужно через профиль делать. В любом случае с профилями гораздо удобнее работать, там все настройки есть и сертификаты интегрируются - сделал профиль, послал пользователю и он сам может поставить в пару тычков. Это если по простому, без MDM. (кусок профиля с ключом on demand) Spoiler <key>OnDemandEnabled</key> <integer>1</integer> <key>OnDemandRules</key> <array> <dict> <key>Action</key> <string>Connect</string> <key>InterfaceTypeMatch</key> <string>WiFi</string> </dict> <dict> <key>Action</key> <string>Connect</string> <key>InterfaceTypeMatch</key> <string>Cellular</string> </dict> </array> Edited March 23, 2021 by McSea Вставить ник Quote
amper Posted March 23, 2021 Author Posted March 23, 2021 @McSea Похоже проблема была в PFS ecp256, с переходом в modp2048 проблема с отвалом каждые 8 минут ушла. С профилями интересная идея - их только в Configurator 2 под маком можно собирать или есть аналоги под винду? Для on demand указываются конкретные хосты или туннель поднимается при необходимости доступа в сплит подсеть? И по сплиту вопрос - указать 0.0.0.0/0 нельзя, а больше одной записи IOS не принимает - существует какой-то способ завернуть в туннель разные подсети? Вставить ник Quote
jffulcrum Posted March 23, 2021 Posted March 23, 2021 35 минут назад, amper сказал: С профилями интересная идея - их только в Configurator 2 под маком можно собирать или есть аналоги под винду? www.autoconnectvpn.com На гитхабе находится поиском оффлайн версия - просто сохраненный HTML Вставить ник Quote
amper Posted March 24, 2021 Author Posted March 24, 2021 @jffulcrum Ikev2 не поддерживает, к сожалению (Currently supports L2TP, support for other VPN types coming soon). Вставить ник Quote
amper Posted March 28, 2021 Author Posted March 28, 2021 (edited) В общем с помощью ссылок ниже удалось собрать вручную профиль для IKEV2 на IOS14:https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf https://wiki.strongswan.org/projects/strongswan/wiki/AppleIKEv2Profile On-demand по DomainAction работает, поднимает соединение при обращениях к почтовому серверу, но похоже при фоновом обновлении (fetch) не происходит проверки условий и соответственно подъема VPN... Если пытаться поднимать VPN по InterfaceTypeMatch, в спящем режиме все равно не подтягивает почту, но при использовании с включенным экраном - фоном подтягивает письма. Но если не удается поднять VPN, то кладет к чертям собачим весь остальной инет на мобиле и похоже способа как-то это обойти нет. Edited March 29, 2021 by amper Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.