openvpn을 구성했고 사용자는 2단계 인증을 수행합니다.
수동으로 시작하는 경우 다음을 실행합니다.
/usr/sbin/openvpn --writepid /run/whatever --cd /etc/openvpn/ --config /etc/openvpn/work.conf
사용자 이름, 비밀번호(휴대폰의 소프트웨어에서 제공), 개인 키 비밀번호를 묻는 메시지가 표시됩니다. 그렇다면 괜찮습니다.
그러나 일반 서비스 호출을 통해 시작하려고 하면:
=# service openvpn start work
아무것도 인쇄되지 않고 openvpn이 작동하지 않습니다. Journalctl은 다음을 보여줍니다.
=# systemctl status openvpn
● openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
Active: active (exited) since czw 2015-05-28 10:24:22 CEST; 17min ago
Process: 30395 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 30395 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/openvpn.service
maj 28 10:24:22 krowka systemd[1]: Starting OpenVPN service...
maj 28 10:41:40 krowka systemd[1]: Started OpenVPN service.
/usr/sbin/openvpn 호출을 수동으로 작성하는 것 외에 "서비스" 호출이나 다른 방법을 통해 "제대로" 작동하도록 할 수 있는 다른 방법이 있습니까?
답변1
일반 서비스 호출을 통해 시작해 보았습니다.# 서비스 openvpn이 작동하기 시작합니다
아니요, 이것은 정상이 아닙니다. 이는 두 개의 인수를 사용하여 System 5 스크립트를 호출하는 System 5 도구 세트의 특이한 점입니다 rc
. rc
스크립트 rc
는 사용할 OpenVPN 구성의 기본 이름으로 비표준 두 번째 매개변수를 사용합니다.
이것이 우분투 리눅스입니다. 시스템 5를 사용하고 있지 않습니다 rc
. 그것을 사용하는 스크립트가 없습니다 rc
. systemd를 사용하고 있습니다. 귀하는 systemd 서비스 장치를 사용하고 있으며 실제로 OpenVPN은 수년 동안 이를 사용해 왔습니다. systemd 서비스 단위는 스크립트도 아니고 스크립트도 아닙니다.가지다스크립트 매개변수.
그들이 가지고 있는 것은 템플릿 매개변수이며, OpenVPN은 실제로 이 기술의 얼리 어답터 중 하나였습니다.템플릿 단위메커니즘이 나타나면,적어도 2011년부터 템플릿 단위가 있었습니다.. (OpenVPN의 템플릿 기반 신생 작업적어도 2012년부터 유통되고 있습니다. )
너는보고있다 /lib/systemd/system/openvpn.service
. 집중해야 할 것은 구성 이름에서 인스턴스화하는 것입니다./lib/systemd/system/[email protected]
systemctl preset [email protected]
systemctl disable [email protected]
systemctl start [email protected]
systemctl stop [email protected]
systemctl status [email protected]
아니면 Debian/Ubuntu가 어려운 일을 하게 하세요. 하나 있다단위 발전기이 템플릿은 부트스트랩 또는 런타임 시 파일 /lib/systemd/system-generators/openvpn-generator
별로 자동으로 인스턴스화됩니다.*.conf
/etc/openvpn
systemctl daemon-reload