Запуск OpenVPN через SSH запускает его на удалённой машине, в контексте выполнения этой машины. Это делает его изменением в удалённой сети, а не простым нажатием кнопки издалека. Два разумных режима — сеанс на переднем плане под наблюдением и собственная служба, и у них разные подготовка, учётные данные и поведение при сбое.

Два режима, один профиль

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

ModeUseful forWhat it needs
Supervised foreground sessionA connection with a human watching and able to typeA usable terminal, a reviewed profile and recovery access
Managed serviceAn unattended lifecycle that starts without a loginOwned configuration, supported credential delivery and restart policy

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

Что на самом деле представляет собой сеанс на переднем плане

Процесс OpenVPN на переднем плане должен продолжать работать, пока туннель поднят. Initialization Sequence Completed означает, что инициализация завершена, а не то, что нужно ждать возвращения приглашения. Графическая оболочка рабочего стола прячет эту долгую работу за окном, и именно поэтому люди ожидают, что команда SSH поведёт себя так же. Она так не ведёт.

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

Что нужно службе без присмотра

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

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

Учётные данные — это четыре разных входа

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

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

Один владелец и путь назад

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

Выберите одного владельца конфигурации для повседневной работы. Автоматическая служба и процесс переднего плана, конкурирующие за одни и те же интерфейсы, маршруты и состояние резолвера, дают отказы, которые выглядят как проблема провайдера. Останавливайте сеанс под наблюдением его обычным прерыванием, а управляемый — через его менеджер, вместо того чтобы убивать каждый процесс с именем openvpn.

Различие, которое стоит записать, простое: сеанс под наблюдением может зависеть от вашего сеанса, а служба без присмотра — нет.

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