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

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

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

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

systemctl start openvpn@myvpn.service

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

Restart = On-fail

Как рекомендовано на freedesktop.org :

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

Моя цель состоит в том, чтобы клиент OpenVPN всегда перезагружался, если не остановлен мной.

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

2 ответа

Относительно части "openvpn@myvpn.service" Вашего вопроса, другого примера: у Меня есть конфигурационный файл OpenVPN, названный /etc/openvpn/Germany.conf, таким образом, я запускаю openvpn демона с systemctl start openvpn@Germany.service. Это - моя конфигурация по умолчанию, таким образом, она входит /etc/default/openvpn.

В случае, если мой немецкий шлюз снижается, у меня есть другой конфигурационный файл /etc/openvpn/Netherlands.conf, и использовать это я звоню systemctl start openvpn@Netherlands.service

Относительно установки Restart, это , вероятно входит [Service] раздел /etc/systemd/system/multi-user.target.wants/openvpn.service, хотя я не протестировал это сам.

Примечание: Вышеупомянутое предполагает использование пакета Ubuntu через apt-get install openvpn. Я не уверен, что происходит, когда Вы компилируете материал сами? Также: Почему Вы сделали бы это?

2
ответ дан 14 April 2017 в 01:24
  • 1
    Вы следовали моему руководству? Это было тем, что я должен был сделать каждый раз, когда я обновил ядро. – Dave 25 September 2017 в 19:06

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

От https://www.freedesktop.org/software/systemd/man/systemd.unit.html (шахта акцента):

Наряду с файлом единицы foo.service, "общедоступный" каталог, foo.service.d/, может существовать. Все файлы с суффиксом ".conf" из этого каталога будут проанализированы после того, как сам файл анализируется. Это полезно, чтобы изменить или добавить параметры конфигурации для единицы, не имея необходимость изменять файлы единицы. Каждый общедоступный файл должен иметь соответствующие заголовки раздела. Примечание, что для инстанцированных единиц, эта логика будет сначала искать экземпляр ".d /" подкаталог и читать его ".conf" файлы, сопровождаемые шаблоном ".d /" подкаталог и ".conf" файлы там. Также примечание, что настройки от" [Установка]" раздел не соблюдают в общедоступных файлах единицы и не имеют никакого эффекта.

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

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

, Если Вы хотите изменить определенный openvpn сервис как openvpn@myvpn.service в Вашем случае затем, необходимо создать /etc/systemd/openvpn@myvpn.service.d каталог и место там соответствующие .conf файлы.

0
ответ дан 14 April 2017 в 01:24
  • 1
    @johann_ka работайте sudo update-alternatives --config gcc и вставка в Ваш вопрос – George Udosen 25 September 2017 в 19:11

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

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