Pracuję na systemie opartym na Debianie i wciąż uczę się o systemctl vs service , ale próbuję wykorzystać moją openvpn
konfigurację jako przypadek użycia do tego.
W mojej bieżącej konfiguracji jestem naprawdę zdezorientowany, jak openvpn
wygląda, jak zaczynam od startu i jak nimi zarządzać.
Podczas uruchamiania są uruchomione openvpn
procesy:
> ps aux | ag 'openvpn'
nobody 952 0.0 0.0 5800 1108 ? Ss 13:29 0:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.conf
root 1537 0.0 0.1 6088 2544 ? Ss 13:30 0:00 /usr/sbin/openvpn --daemon --auth-nocache --config /root/.vpn_conf/pia.ovpn
Nadal nie wiem, co je kontroluje, aby uruchomić przy starcie.
Pierwszy proces to serwer (który chcę wyłączyć), a drugi to klient, który chcę zachować i nadal używać.
Rozumiem, że można użyć systemctl
do wyświetlenia listy wszystkich usług:
> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service disabled
[email protected] disabled
Jakie są różnice między tymi dwoma? Czy te dwie usługi kontrolują powyższe procesy? Jeśli są wyłączone, dlaczego wciąż zaczynają się przy rozruchu?
Jeśli spróbuję service
uzyskać status openvpn
, otrzymam:
> service openvpn status
● openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; disabled)
Active: active (exited) since Sun 2017-02-19 13:29:51 PST; 18min ago
Process: 936 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 936 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/openvpn.service
Feb 19 13:29:51 systemd[1]: Started OpenVPN service
Co powoduje, że pytam:
Jeśli są dwa wpisy w systemctl dla openvpn, to jak drugi jest wywoływany przy użyciu service openvpn_2nd? status
?
Na wszelki wypadek istnieje /etc/init.d/openvpn
skrypt.
Będziemy wdzięczni za wgląd w niektóre z powyższych pytań.
Odpowiedzi:
OpenVPN nie jest najlepszym miejscem do rozpoczęcia, jeśli uczysz się systemd, ponieważ OpenVPN nie jest prostą usługą.
OpenVPN jest usługą opartą na szablonie w systemie. Jednostki usług są nazywane , wszystkie pochodzą z jednego pliku jednostki usług o nazwie . Więc zaczynasz swoją instancję
i automatyczne uruchamianie przy ładowaniu za pomocą Oczywiście zatrzymujesz go i wyłączasz za pomocą analogicznych poleceń.openvpn@config.service
[email protected]
/etc/openvpn/server.conf
Jednak nie na tym polega klient OpenVPN. Aby zlokalizować jednostkę serwisową, można zlokalizować nazwę jednostki na podstawie nazwy grupy kontrolnej, uruchamiając
Nie-szablon
openvpn.service
jest wyjaśniony w komentarzu na górze pliku jednostki usługowej. Jest jeszcze coś, co sprawia, że jest to bardziej złożona rzecz do nauczenia się jako pierwsze doświadczenie systemu.Dalsza lektura
źródło