Вы устанавливаете второй клиент, чтобы сравнить его, и первый перестаёт работать. Ничего не удалено, и оба приложения по-прежнему установлены. Изменилось то, что находится под ними: системное расширение, настройка DNS или маршрут по умолчанию, и два клиента теперь не сходятся в том, кому это принадлежит. Установка — не рискованная часть; рискованная часть — запускать оба без зафиксированного исходного состояния, к которому можно вернуться.

Симптом: рабочая конфигурация перестаёт работать после второй установки

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

Если после этого исходный клиент не может подключиться или подключается и ничего не разрешает, первым подозреваемым становится новое расширение. Это не доказательство конфликта, но именно отсюда начинается расследование. Затем проверьте список расширений и установленные профили конфигурации, а не только папку приложений.

Зафиксируйте исходное состояние до того, как что-либо устанавливать

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

scutil --dns | head -40
netstat -rn | head -30
ifconfig | grep -E "^(utun|ipsec)"

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

Меняйте по одному активному пути

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

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

Сравнивайте DNS, маршруты и приложение, а не только скорость

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

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

Читайте три вывода, а не просматривайте их поверхностно. В дампе резолвера сервер имён, привязанный к интерфейсу utun, показывает, какой клиент его установил; в таблице маршрутов маршрут по умолчанию называет интерфейс, несущий трафик; в списке интерфейсов второе устройство utun означает, что создан второй туннель. Эти три строки, сравненные с исходным состоянием, отделяют восстановленную конфигурацию от той, где оба клиента всё ещё соперничают.

Восстановите, затем удалите аккуратно

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

Завершите, обновив заметки проверенной версией, использованной конечной точкой и результатом для каждого. Через полгода эта запись — разница между решением и слухом.

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