Ноутбук подключается к Wi-Fi раньше, чем вы сядете, а VPN всё ещё ждёт щелчка. Настройка автоподключения в профиле VPN ничего не меняет: этот переключатель управляет собственной активацией профиля, а NetworkManager считает VPN спутником базового соединения. Документированный механизм — список вторичных соединений базового соединения, и это другое свойство в другом месте.

Автоподключение — не переключатель VPN

Профиль Wi-Fi или Ethernet может активироваться сам, потому что владеет устройством. Профиль плагина VPN не владеет устройством в том же смысле; он запускается рядом с соединением, которое им владеет. Поэтому флаг автоподключения на VPN выглядит правильным, сохраняется корректно и не создаёт туннеля. Флаг отвечает на вопрос о профиле, а не о сети, которая ему нужна.

Такое чтение модели объясняет и режим отказа. База подключается, ничто не просит VPN запуститься, и рабочий стол показывает отключённый VPN рядом с подключённой сетью. Ничего не сломано; связь просто никогда не создавалась.

Определите оба профиля по UUID

nmcli -f NAME,UUID,TYPE connection show

Выберите профиль Wi-Fi или Ethernet, который должен запускать туннель, затем нужный профиль VPN. Используйте UUID, а не имена, потому что имя — это метка, которую можно дублировать или изменить, а UUID — это то, что путь активации действительно разрешает.

Не путайте имя профиля с именем интерфейса или адресом, который машина имеет сейчас. Это три разных идентификатора, которые случайно выглядят похоже в терминале, и их смешение даёт изменение, направленное ни на что.

Добавьте VPN к базовому соединению

nmcli connection modify uuid "PRIMARY_UUID" +connection.secondaries "VPN_UUID"

Форма с плюсом добавляет к существующему списку; если её опустить, список заменяется, что молча удаляет любое другое уже настроенное вторичное соединение. Сначала посмотрите текущее значение и запишите его, прежде чем что-то менять.

Настройки соединений NetworkManager описывают вторичные как VPN-соединения, запускаемые вместе с базовым. Является ли встроенный профиль WireGuard таким же типом объекта, зависит от того, как NetworkManager им управляет, поэтому та же команда может быть неподходящим инструментом для туннеля, который выглядит как интерфейс, а не как плагин VPN.

Это изменение политики соединений, а не переключатель времени выполнения. Примените его через любой процесс переподключения, который одобряет развёртывание, и ожидайте, что первая активация после изменения поведёт себя иначе, чем сеанс, в котором вы сейчас сидите.

Секреты не входят в связь

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

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

Прочитайте оба события, затем проверьте ресурс

Наблюдайте за базовым соединением и активацией VPN в течение одной попытки. Отсутствие события VPN означает, что триггер так и не был настроен или UUID неверен. Событие VPN, за которым следует сбой аутентификации, означает, что триггер сработал, а оставшаяся проблема — учётные данные, и это другая правка.

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

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