Як запустити службу клієнта OpenVPN на Ubuntu 15.04


21

Я можу запустити OpenVPN і вказати його на конфігураційний файл, і все працює добре, наприклад:

sudo openvpn /etc/openvpn/myvpn.conf

але коли я намагаюся запустити послугу

sudo /etc/init.d/openvpn start

Все, що я отримую, - це вихід у syslog:

Jun 23 21:02:30 pc systemd[1]: Starting OpenVPN service...
Jun 23 21:02:30 pc systemd[1]: Started OpenVPN service.

Але мені брешуть, не працює запущена служба openvpn:

gk@pc:/etc/openvpn$ ps -aux | grep openvpn
gk   15456  0.0  0.0  13688  2128 pts/0    S+   21:18   0:00 grep --color=auto openvpn

Не запущені інші процеси openvpn. Як можна запустити послугу?

Зауважую, що всередині /lib/systemd/system/openvpn.service є:

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn

Я впевнений, що / bin / true ISNT - моя клієнтська програма openvpn. Це чому клієнт openvpn не працює з командного рядка на Ubuntu 15.04?

Відповіді:


37

Це чому клієнт openvpn не працює з командного рядка на Ubuntu 15.04?

Ні. Причина полягає в тому, що ви не прочитали коментар у верхній частині цього самого файлу, а ви безпосередньо викликаєте rcскрипт System 5 . Не дзвоніть rcскриптам System 5 безпосередньо, особливо в системі, де System 5 rcне використовується , наприклад, Ubuntu версії 15.

Викликати їх побічно за допомогою serviceкоманди неправильно і у випадку OpenVPN.

OpenVPN - це шаблонна служба під системою. Служби названі . Тож вам слід починати свій примірникopenvpn@config.service/etc/openvpn/myvpn.conf

systemctl start openvpn@myvpn.service

Подальше читання


Добре, дякую за вашу відповідь. Я не розумів, що Ubuntu тепер дотримується Fedora способу обробки послуг. Здається, дуже мало документації про запуск / зупинку послуг 15.04. Насправді, настільки важко, як я в Google, я взагалі не можу їх знайти. Чи можна якось запустити це з чогось типу "systemctl start openvpn", а не передати ім'я конфігурації?
користувач296916

systemd newbie here ... Про який файл файлу ви говорите? Це freedesktop.org/software/systemd/man/systemd.unit.html ?
Джеррі Сейттер

Це той, хто запитуючий дає повне ім'я шляху у питанні. На його початку є пояснювальний коментар.
JdeBP

4
Просто FYI, але в жодному з цих файлів на Ubuntu 15 немає коментарів, що б не означало, що те, що я робив, було неправильним. В документації насправді дуже мало, щоб вказати, що systemctl - це правильний метод, який зараз використовується, і насправді існує достатня документація, яка говорить про те, що /etc/init.d/xxxx повинен просто використовувати systemctl за кадром, і це повинно бути прозорий для користувачів, так що існуючі сценарії не всі ламаються.
користувач296916

2
У вас помилка друку: systemctl start openvpn@myvpn.serviceмає бути systemctl start openvpn@myvpn.
Брайан Ларсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.