Estoy trabajando en un sistema basado en Debian y todavía estoy aprendiendo acerca de systemctl vs service , pero estoy tratando de usar mi openvpn
configuración como un caso de uso para trabajar en esto.
En mi configuración actual, estoy realmente confundido sobre cómo openvpn
parece estar comenzando en el arranque y cómo administrarlos.
En el arranque, estos son los openvpn
procesos que se han iniciado:
> 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
Todavía no sé qué los controla para comenzar en el arranque.
El primer proceso es el servidor (que deseo deshabilitar), y el otro es el cliente que deseo mantener y seguir usando.
Entiendo que uno puede usar systemctl
para enumerar todos los servicios:
> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service disabled
[email protected] disabled
¿Cuáles son las diferencias entre estos dos? ¿Son estos los dos servicios que controlan los procesos anteriores? Si están deshabilitados, ¿por qué siguen comenzando en el arranque?
Si intento y uso service
para obtener el estado de openvpn
, obtengo:
> 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
Lo que me lleva a preguntar:
Si hay dos entradas en systemctl para openvpn, ¿cómo se llama la segunda cuando se usa service openvpn_2nd? status
?
Por si acaso, hay un /etc/init.d/openvpn
guión.
Cualquier idea sobre algunas de las preguntas anteriores sería muy apreciada.
Respuestas:
OpenVPN no es el mejor lugar para comenzar si uno está aprendiendo systemd, porque OpenVPN no es un servicio simple.
OpenVPN es un servicio con plantilla en systemd. Se nombran las unidades de servicio , todas derivadas de un único archivo de unidad de servicio llamado . Entonces estás comenzando tu instancia con
y que se inicie automáticamente en bootstrap con Obviamente, lo detiene y lo deshabilita con los comandos análogos.openvpn@config.service
[email protected]
/etc/openvpn/server.conf
Sin embargo, esto no es lo que está ejecutando su cliente OpenVPN. Para ubicar la unidad de servicio para eso, se puede ubicar el nombre de la unidad desde el nombre del grupo de control, ejecutando
La no plantilla
openvpn.service
se explica en el comentario en la parte superior de su archivo de unidad de servicio. Es algo más que, nuevamente, hace que esto sea algo más complejo de aprender como la primera experiencia de un novato de systemd.Otras lecturas
fuente