Кто-то устанавливает версию VPN-клиента для iPhone на Mac серии M, она открывается, подключается, и команда решает, что вопрос платформы закрыт. Он не закрыт. То, что отделяет здесь закрытый вопрос от просто работающего, — это разница между расширением приложения внутри сеанса пользователя и системным расширением с глобальным контекстом. Apple действительно поддерживает поставщиков пакетных туннелей в модели «приложения iOS на Mac» и перечисляет эту схему отдельно от нативного macOS и Mac Catalyst. Смысл этой поддержки уже, чем кажется. Она говорит, что схема разрешена, а не что конкретное приложение делает это хорошо и не что туннель покрывает то, что вы предполагаете.

Три схемы, одна таблица

На Mac важны три схемы, и они не взаимозаменяемы. Нативный клиент macOS поставляет системное расширение, которое работает в глобальном контексте и может присутствовать до того, как кто-либо войдёт в систему. Приложение iPhone на Apple Silicon поставляет расширение приложения, которое работает внутри сеанса пользователя и заканчивается вместе с ним. Mac Catalyst находится в том же семействе упаковки, что и телефонная версия, но это другая цель со своей строкой развёртывания.

Сравнение ниже — та часть указаний Apple по развёртыванию, которую стоит запомнить, потому что она отвечает на большинство вопросов проектирования ещё до звонка поставщику.

ArrangementProvider packagingSession contextTypical distribution
iOS app on Apple SiliconApp extensionUser session onlyMac App Store
Native macOS clientSystem extensionGlobal, pre-login possibleDeveloper ID, notarised
Mac CatalystApp extensionUser session onlyMac App Store

Читайте столбец упаковки раньше маркетинговой страницы: он предсказывает, что произойдёт при выходе, гораздо надёжнее любого списка функций.

Что доказывает один успешный запрос

Строка «приложения iOS на Mac» — это реально поддерживаемая схема, а не трюк симулятора, и именно поэтому вопрос возвращается снова и снова. Она также наследует распространение через Mac App Store, поэтому приложение, издатель которого ни разу не включал доступность для Mac, не появится, как бы снисходительна ни была документация для разработчиков.

Работающее соединение доказывает, что один запрос из одного приложения достиг своего назначения. Оно не описывает резолвер браузера, исключённые приложения, второе семейство адресов или локальные устройства, до которых пользователь всё ещё рассчитывает добраться. Пакетный туннель несёт то, что говорят его маршруты и охват, а этот охват берётся из конфигурации приложения, а не из существования туннеля.

Разрыв обычно в покрытии по приложениям

Клиента, который направляет всё, легко описать и легко проверить. Тому, что включает заданный список приложений, нужно, чтобы эти правила соблюдались в этом развёртывании, а не только в нативной сборке для Mac. Доступ к локальным устройствам, исключения раздельного туннелирования и всё, что зависит от пункта в строке меню, которого у телефонной версии никогда не было, упираются в ту же стену.

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

Где они расходятся в эксплуатации

Время жизни сеанса — самое резкое различие и наименее заметное в демонстрации. Apple документирует расширения приложений как работающие в контексте пользователя и завершающиеся, когда пользователь выходит, поэтому Mac, который загружается до окна входа, не имеет туннеля, пока кто-нибудь не войдёт. Если требование охватывает машину, которую нужно защитить до аутентификации, телефонная версия не может его выполнить, как бы ни был написан профиль.

Всё остальное сравнительно косметика: присутствие в строке меню, как отображается DNS, может ли приложение завершиться, пока туннель остаётся поднятым. Это реальные различия в удобстве, и они не архитектурные решения, поэтому ставьте их после вопроса о сеансе.

Решайте в фиксированном порядке

Выстройте вопросы осознанно: покрытие без присмотра первым, охват по приложениям вторым, распространение третьим, отделка интерфейса последней. На первый отвечает только нативный клиент с системным расширением, и до устройства он доходит через MDM и управляемый профиль. Приложение iOS на Apple Silicon — разумный ответ, когда человек сидит за машиной, входит и хочет туннель для этого сеанса.

Прежде чем брать обязательства, задайте издателю три конкретных вопроса. Поддерживается ли поставщик пакетных туннелей в развёртывании «приложения iOS на Mac», действуют ли там правила по приложениям и что происходит при выходе. Поставщик, который отвечает на все три в одном сообщении, знает свою поверхность развёртывания; тот, кто отвечает только на первый, описывает приложение, которое открывается на Mac.

Затем проверьте на машине, которую будете поддерживать, с той учётной записью и шлюзом, которые действительно будете использовать. Телефонная версия, подключающаяся к тестовому шлюзу на одном ноутбуке, — это доказательство, а не развёртывание.

Похожие статьи