Перейти к содержимому
Калькуляторы

VPN на RouterOS для штатных клиентов IOS/ANDROID/WIN/MACOS

Что из поддерживаемых 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) что может отвалиться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нету такого способа со штатными клиентами. Со штатными клиентами даже проблема split-tunnel труднорешаема. Большую часть проблем решит OVPN, однако MT не поддерживает работу без сертификатов на стороне клиента, так что этот гемор неизбежен, ну и режим UDP все еще в бете.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если нужна универсальность, то PPTP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PPtP на ios не работает, давно заменил на L2TP

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для SSTP сертификат вообще не нужен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Удалось поднять IKE2, но пока очень сомнительный результат - штатный клиент, по крайней мере на анроиде, не дает сделать нормальный split при постоянном подключении, и судя по всему вообще никак не проверяет соответствие CN из сертификата имени хоста либо ip. Strongswan получше.

 

Интересно, как с этим дела в IOS?

 

P.S. CRL в микротике надо как-то отдельно зайдествовать (кроме CRL Download и Use CRL)? Или в самих сертах тоже надо было указывать CA CRL Host?

Или он обрабатывается с какой-то задержкой? Отозвал клинетский серт, но клиенты продолжают успешно переподключаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отвечу про IOS - это худшее, что может быть... после долбежа с сертами и сплитами - соединение просто каждые 8 минут завершается со стороны IOS, и штатными средствами (через меню) сделать always on VPN нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Видимо VPN не кошерный, по мнению Apple.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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 сразу же отключит доступ этому клиенту.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 hours ago, amper said:

соединение просто каждые 8 минут завершается со стороны IOS

Нет такой проблемы

 

ikev2_ios_conn.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 hours ago, McSea said:

Нет такой проблемы

Перепроверил. VPN отваливается не только в простое, но даже если держать в руках телефон и что-то делать, проходит 8 минут и приходит payload delete (ровно так же, как если руками в настройках VPN отключаю).

 

Причем даже если проходит какая-то активность по каналу (срабатывает таймер на проверку почты), это не продлевает время до сброса.

 

Пробовал DPD отключать - без изменений. При переходе с wifi на lte отваливается сразу и не восстанавливается, причем в настройках тумблер VPN еще активен, приходится вручную его выключить - ОКнуть ошибку недоступности VPN - и включить заново.

В случае с почтой задача держать постоянно или хотя бы поднимать канал регулярно - для проверки, но vpn-on-demand опять таки убрали из пользовательского доступа, насколько я понимаю.

 

 

Изменено пользователем amper

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@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>

 

 

Изменено пользователем McSea

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@McSea 

Похоже проблема была в PFS ecp256, с переходом в modp2048 проблема с отвалом каждые 8 минут ушла.

 

С профилями интересная идея - их только в Configurator 2 под маком можно собирать или есть аналоги под винду?

Для on demand указываются конкретные хосты или туннель поднимается при необходимости доступа в сплит подсеть?

 

И по сплиту вопрос - указать 0.0.0.0/0 нельзя, а больше одной записи IOS не принимает - существует какой-то способ завернуть в туннель разные подсети?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

35 минут назад, amper сказал:

 

С профилями интересная идея - их только в Configurator 2 под маком можно собирать или есть аналоги под винду?

www.autoconnectvpn.com  На гитхабе находится поиском оффлайн версия - просто сохраненный HTML

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@jffulcrum 
Ikev2 не поддерживает, к сожалению (Currently supports L2TP, support for other VPN types coming soon).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В общем с помощью ссылок ниже удалось собрать вручную профиль для 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, то кладет к чертям собачим весь остальной инет на мобиле и похоже способа как-то это обойти нет.

 

 

 

Изменено пользователем amper

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.