Utilizzare service o systemctl per controllare il demone openvpn all'avvio?


11

Sto lavorando su un sistema basato su Debian e sto ancora imparando su systemctl vs service , ma sto cercando di usare la mia openvpnconfigurazione come caso d'uso per risolvere questo problema.

Nella mia configurazione attuale, sono davvero confuso su come openvpnsembra avviarsi all'avvio e su come gestirli.

All'avvio, questi sono i openvpnprocessi che sono stati avviati:

> 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

Non so ancora cosa li controlli per iniziare all'avvio.

Il primo proc è il server (che desidero disabilitare) e l'altro è il client che desidero conservare e continuare a utilizzare.

La mia comprensione è che si può usare systemctlper elencare tutti i servizi:

> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service                               disabled
openvpn@.service                              disabled

Quali sono le differenze tra questi due? Sono questi i due servizi che controllano i processi sopra? Se sono disabilitati, perché stanno ancora iniziando all'avvio?

Se provo e utilizzo serviceper ottenere lo stato di openvpn, ottengo:

> 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

Il che mi spinge a chiedere:

Se ci sono due voci in systemctl per openvpn, come si chiama la seconda quando si usa service openvpn_2nd? status?

Per ogni evenienza, c'è una /etc/init.d/openvpnsceneggiatura.

Qualsiasi approfondimento su alcune delle domande di cui sopra sarebbe molto apprezzato.


Quale distro stai correndo?
Seth,

DietPi con Debian GNU / Linux 8 (jessie) Linux 3.14.79+
doremi

Risposte:


18

OpenVPN non è il punto migliore da cui iniziare se si sta imparando systemd, perché OpenVPN non è un servizio semplice.

OpenVPN è un servizio modellato in systemd. Le unità di servizio sono denominate , tutte derivate da un singolo file di unità di servizio denominato . Quindi stai iniziando la tua istanza conopenvpn@config.serviceopenvpn@.service/etc/openvpn/server.conf

systemctl avvia openvpn@server.service
e averlo avviare automaticamente sul bootstrap con

systemctl abilita openvpn@server.service
Ovviamente, lo fermi e lo disabiliti con i comandi analoghi.

Questo non è ciò che esegue il client OpenVPN, tuttavia. Per individuare l'unità di servizio a tale scopo, è possibile individuare il nome dell'unità dal nome del gruppo di controllo, eseguendo

systemd-cgls /

Il non modello openvpn.serviceè spiegato nel commento nella parte superiore del file dell'unità di servizio. È qualcos'altro che, ancora una volta, rende questa cosa più complessa da imparare come prima esperienza di systemd da principiante.

Ulteriori letture

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.