Handoff перестаёт работать при подключении VPN: что проверить
Handoff работает локально: Bluetooth объявляет задачу, а Wi-Fi её передаёт. Полный туннель, перехватывающий локальную подсеть, ломает это первым.
Откройте страницу на iPhone, подойдите к Mac, и значок в Dock не появляется. Отключите VPN — и всё работает. Эта последовательность выглядит как проблема VPN, и часто ею является, но не по той причине, которую предполагают: Handoff — локальная функция между устройствами, и туннель мешает локальной части, а не интернет-части.
Исправьте одну задачу и одну пару устройств
Выберите одну задачу с поддержкой Handoff, например веб-страницу в Safari или черновик в Notes, и одну пару устройств. Держите приложение, учётные записи и физические позиции неизменными, меняя по одной переменной за раз. Тест, который меняет три вещи сразу, даёт наблюдение, которое вы не сможете использовать.
Handoff — это продолжение задачи, а не трансляция экрана или обмен файлами. Если требование — зеркалировать экран или подключить общий ресурс, вы отлаживаете другую функцию с другими предпосылками.
Запишите точную задачу, потому что проверкой любого исправления служит работа той же самой задачи.
Предпосылки локальные, а не удалённые
Требования Apple к Handoff — это близкие совместимые устройства, включённые Wi-Fi и Bluetooth на обоих, тот же вход в Apple Account и включённый Handoff. Проверьте учётную запись, используемую для Continuity, а не ту, что купила приложение, потому что на общем Mac они могут различаться. Затем убедитесь, что приложение и задача действительно поддерживают Handoff, так как открытое произвольное приложение ничего не доказывает. Эти проверки недороги, и именно их нужно исключать первыми.
Всё это происходит по локальным радиоканалам. Bluetooth объявляет активность, а Wi-Fi передаёт полезную нагрузку, поэтому устройства должны быть рядом, даже когда у обоих есть доступ в интернет.
Ничто из этого не зависит от публичного адреса, который использует любое из устройств.
Что VPN-клиент делает с локальным трафиком
Клиент полного туннеля может перехватывать локальную подсеть вместе со всем остальным, и некоторые клиенты делают именно так, если вы не разрешаете доступ к локальной сети. Apple предупреждает, что конфигурации VPN, блокирующие локальную сеть, могут мешать функциям Continuity. Это утверждение о политике клиента, а не о конкретном заблокированном порте.
Многие клиенты предлагают исключение для локального доступа; прочитайте, что оно разрешает, прежде чем включать его, и предпочитайте поддерживаемый производителем вариант ручному редактированию правил брандмауэра.
Если у клиента нет такой опции, решение о дизайне принадлежит владельцу развёртывания.
Чего не даёт общий выход
Два устройства, использующие один VPN-сервер, разделяют адрес выхода, и это всё, что они разделяют. Это не создаёт объявление Bluetooth, не помещает их в один локальный канал и не исправляет несовпадающий Apple Account. Считать общий публичный адрес предпосылкой — категориальная ошибка, ведущая к бессмысленным изменениям клиента.
Изоляция абонентов в VPN-сервисе — тоже другой вопрос, чем два близких устройства, продолжающих задачу, поэтому открытие переадресации между абонентами не является шагом Handoff.
VPN на базе роутера меняет то, какая политика применяется к устройствам, и всё равно не даёт недостающий радиомодуль или учётную запись.
Решайте вместе с владельцем политики, затем проверьте оба результата
Исправление определяют три условия. Сохраняется ли цепочка предпосылок при выключенном VPN? Есть ли у клиента поддерживаемая опция локального доступа и допускает ли её политика? И можете ли вы проверить изменение, не ослабляя защиту, ради которой существует туннель? Если третий ответ — нет, изменение требует администратора, а не обходного пути.
После одобренного изменения подтвердите оба результата: задача продолжается на близком устройстве, а приложения, которым нужен туннель, сохраняют предусмотренный доступ и блокировку.
Запишите исключение рядом с конфигурацией этого подключения, иначе следующее обновление профиля тихо его удалит.