Две команды вставляют для того, что выглядит одинаковой задачей на OpenVPN Access Server, а делают они разное. systemctl restart openvpnas останавливает и запускает весь продукт. sacli start поднимает внутренние службы, которые читают конфигурацию, только что вами измененную. Выбор между ними не вопрос вкуса: он зависит от того, что говорит документация самой настройки, проходит ли ваш сеанс через сервер, который вы собираетесь перезапустить, и смотрите ли вы вообще на правильный продукт.

Два уровня, один демон

Access Server работает как один юнит systemd, openvpnas, и этот демон контролирует внутренние службы за веб-интерфейсом и слушателей VPN. sacli — это интерфейс командной строки к той же установке, по адресу /usr/local/openvpn_as/scripts/sacli, и он может запускать, останавливать и опрашивать эти внутренние компоненты, не заменяя юнит.

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

Условие первое: что говорит документация настройки

Читайте страницу той настройки, которую вы изменили, а не той, которую меняли в прошлом месяце. После свойства, записанного через ConfigPut, обычно следует sacli start, и эта пара — документированный шаг применения. Изменение поведения на уровне слушателя или всё, что страница описывает как требующее перезапуска службы, — это класс, где перезапуск юнита правилен.

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

Условие второе: ваш сеанс внутри туннеля

Если вы администрируете Access Server через VPN, который он предоставляет, перезапуск убирает соединение, несущее ваш shell. Команда может завершиться уже после смерти сеанса, и вам остаётся гадать, сработала ли она. sacli start тоже может ненадолго прервать сеанс по той же причине, когда перезапускаемый компонент обрабатывает ваш трафик.

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

Условие третье: это тот продукт, о котором вы думаете

Access Server — это не Community OpenVPN. Общинная установка запускает юниты вроде openvpn@server или openvpn-client@profile, с конфигурацией в /etc/openvpn, и sacli там не существует. Перезапуск каждого юнита с openvpn в имени на общем хосте — это способ уронить несвязанные туннели вместе.

Определите, прежде чем что-либо трогать: systemctl status openvpnas --no-pager отвечает, работает ли именно Access Server, sacli status перечисляет его внутренние компоненты, а systemctl list-units --type=service перечисляет юниты, в именах которых есть openvpn. Если последняя команда показывает юниты с именами профилей, вы на общинном продукте, и остальное здесь к вам не относится.

Примените, затем проверьте дальше active

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

Закончите чем-то на уровне приложения: достигните частного ресурса через туннель, а не просто ping до публичного адреса сервера. Рукопожатие, которое удаётся, когда продвинутый маршрут или настройка DNS неверны, пройдёт все проверки службы и всё равно подведёт человека, сообщившего о проблеме.

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

Решение за один проход

Пройдите эти четыре строки и остановитесь на первой подходящей:

  • Страница настройки называет sacli start, или вы только что выполнили ConfigPut: используйте sacli start.
  • Страница требует перезапуска, или изменение касается слушателей, а не свойств: используйте systemctl restart openvpnas.
  • Ваш shell приходит через этот сервер: сначала обеспечьте доступ к консоли, затем выполните команду, выбранную двумя строками выше.
  • Проверка: sacli status, ConfigQuery для значения, один вход, один частный ресурс. Только состояние службы — не финишная черта.

Две из этих строк — проверки, а две — действия, и в этом смысл порядка. Если вы не можете ответить на вопрос о продукте, остановитесь: команда, которую вы собирались выполнить, принадлежит другой установке, и туннель, который вы уроните, будет не тем, что вы имели в виду.

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