Jak uruchomić usługę klienta OpenVPN na Ubuntu 15.04


21

Mogę uruchomić OpenVPN i skierować go na plik konfiguracyjny i wszystko działa dobrze, takie jak:

sudo openvpn /etc/openvpn/myvpn.conf

ale kiedy próbuję uruchomić usługę

sudo /etc/init.d/openvpn start

Jedyne co otrzymuję to wynik w syslog:

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

Ale to mnie okłamuje, nie ma uruchomionej usługi 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

Żadne inne procesy openvpn nie są uruchomione. Jak mogę uruchomić usługę?

Z pewną wesołością zauważam, że w /lib/systemd/system/openvpn.service znajduje się:

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

Jestem całkiem pewien / bin / true ISNT moja aplikacja kliencka openvpn. Czy dlatego klient openvpn nie działa z wiersza poleceń w systemie Ubuntu 15.04?

Odpowiedzi:


37

Czy dlatego klient openvpn nie działa z wiersza poleceń w systemie Ubuntu 15.04?

Nie. Powodem jest to, że nie przeczytałeś komentarza na początku tego samego pliku jednostkowego i wywołujesz rcskrypt System 5 bezpośrednio. Nie należy wywoływać rcskryptów System 5 bezpośrednio, szczególnie w systemie, w którym System 5 rcnie jest używany , na przykład Ubuntu w wersji 15.

Wywoływanie ich pośrednio za pomocą servicepolecenia jest również nieprawidłowe w przypadku OpenVPN.

OpenVPN jest usługą opartą na szablonie w systemie. Usługi są nazwane . Więc powinieneś zacząć swoją instancjęopenvpn@config.service/etc/openvpn/myvpn.conf

systemctl uruchom openvpn@myvpn.service

Dalsza lektura


Ok, dziękuję za odpowiedź. Nie zdawałem sobie sprawy, że Ubuntu podąża teraz za fedorskim sposobem obsługi usług. Wydaje się, że bardzo mało jest dokumentacji dotyczącej uruchamiania / zatrzymywania usług w dniu 15.04. Tak naprawdę, jak google, nie mogę w ogóle znaleźć. Czy można w jakiś sposób uruchomić go za pomocą czegoś takiego jak „systemctl start openvpn” i nie podawać nazwy konfiguracji?
user296916,

systemd newbie here ... O jakim pliku jednostkowym mówisz? Czy to freedesktop.org/software/systemd/man/systemd.unit.html ?
Jerry Seutter,

To ten, do którego pytający podaje pełną nazwę ścieżki w pytaniu. Na początku ma komentarz wyjaśniający.
JdeBP,

4
Po prostu FYI, ale w żadnym z tych plików na Ubuntu 15 nie ma komentarzy, które mogłyby wskazywać, że to, co robiłem, było złe. Dokumentacja jest naprawdę bardzo niewielka, aby wskazać, że systemctl jest poprawną metodą do użycia, a w rzeczywistości istnieje obszerna dokumentacja, która sugeruje, że /etc/init.d/xxxx powinien po prostu używać systemctl za kulisami i powinno być przejrzyste dla użytkowników, dzięki czemu wszystkie skrypty nie ulegają awarii.
user296916

2
Masz literówkę: systemctl start openvpn@myvpn.servicepowinno być systemctl start openvpn@myvpn.
Bryan Larsen,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.