Правильный способ systemd для клиента OpenVPN на сервере 16.04?

Я собираюсь обновить с 14.04 LTS до 16.04 LTS, но сначала мне нужно разобраться в службах systemd для наиболее важного программного обеспечения, которое я использую, например, для клиента OpenVPN. У меня отлично работает стартовый скрипт для 14.04.

Я много читал о systemd, но не имею большого опыта. Из другого сообщения я также понимаю следующее:

OpenVPN - это шаблонная служба в systemd. Сервисы называются openvpn@config.service. Поэтому вы должны запустить свой экземпляр /etc/openvpn/myvpn.conf с помощью systemctl start openvpn@myvpn.service

Я скомпилирую OpenVPN Client. Я просто этого не понимаю, автоматически генерируется openvpn@myvpn.service или как? В дополнение к этому, как я могу добавить настройки Restart (или любые другие) к этой службе, в этом случае openvpn@myvpn.service? Я хотел бы добавить

Restart = On-failure

Как рекомендовано на post :

OpenVPN является шаблонизированным обслуживание под systemd. Сервисы называются openvpn@config.service. Поэтому вы должны запустить свой экземпляр /etc/openvpn/myvpn.conf с помощью

Установка этого параметра для отказа является рекомендуемым выбором для длительных служб, чтобы повысить надежность, пытаясь автоматическое восстановление от ошибок. Для служб, которые должны иметь возможность прекратить свой выбор (и не допускать немедленного перезапуска), альтернативный вариант - ненормальный.

1
задан 13 April 2017 в 15:24

1 ответ

В дополнение к этому, как я могу добавить настройки Restart (или любые другие) к этой службе, в этом случае openvpn@myvpn.service?

Из https://www.freedesktop.org/software/systemd/man/systemd.unit.html (выделение мое):

В дополнение к этому, как можно Я добавляю настройки Restart (или любые другие) к этой службе, в этом случае openvpn@myvpn.service?

В дополнение к / etc / systemd / system, каталоги «.d» для системных служб могут быть помещены в директории / usr / lib / systemd / system или / run / systemd / system. Папские файлы в / etc имеют приоритет над теми, что в / run, которые, в свою очередь, имеют приоритет над файлами в / usr / lib. Файлы с распаковкой в ​​любом из этих каталогов имеют приоритет над файлами единиц, где бы они ни находились.

Наряду с файлом unit foo.service может существовать каталог «drop-in» foo.service.d /. Все файлы с суффиксом «.conf» из этого каталога будут проанализированы после анализа файла. Это полезно для изменения или добавления параметров конфигурации для устройства без необходимости изменять файлы модулей. В каждом вставном файле должны быть соответствующие заголовки разделов. Обратите внимание, что для экземпляров экземпляров эта логика сначала ищет подкаталог экземпляра «.d /» и считывает его файлы «.conf», за которым следует подкаталог «.d /» шаблона и файлы «.conf». Также обратите внимание, что настройки из раздела «[Install]» не соблюдаются в файлах папок и не имеют эффекта.

Исходя из вышеизложенного, если у вас было более одной конфигурации openvpn, и вы хотели бы для изменения какого-либо аспекта конфигурации для всех сервисов openvpn, основанных на этих конфигурациях, вам нужно будет создать каталог /etc/systemd/openvpn@.service.d и разместить там соответствующие файлы .conf.

1
ответ дан 23 May 2018 в 11:43
  • 1
    Вы можете использовать systemctl edit openvpn@.service или systemctl edit openvpn@myvpn.service, а systemd автоматически создадут этот каталог для вас – muru 13 January 2017 в 04:08

Другие вопросы по тегам:

Похожие вопросы: