วิธีเริ่มบริการไคลเอนต์ OpenVPN บน Ubuntu 15.04


21

ฉันสามารถเปิด OpenVPN และชี้ไปที่ไฟล์ config และทุกอย่างทำงานได้ดีเช่น:

sudo openvpn /etc/openvpn/myvpn.conf

แต่เมื่อฉันลองเริ่มบริการด้วย

sudo /etc/init.d/openvpn start

ทั้งหมดที่ฉันได้รับคือผลลัพธ์ใน syslog:

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

แต่มันกำลังโกหกฉัน, ไม่มีบริการ 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

ไม่มีกระบวนการ openvpn อื่นที่กำลังทำงานอยู่ ฉันจะเริ่มบริการได้อย่างไร

ฉันทราบด้วยความฮือฮาที่ภายใน /lib/systemd/system/openvpn.service มี:

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

ฉันค่อนข้างมั่นใจว่า / bin / จริง ISNT แอปพลิเคชันไคลเอนต์ openvpn ของฉัน นี่คือเหตุผลที่ลูกค้า openvpn ไม่ทำงานจากบรรทัดคำสั่งบน Ubuntu 15.04 หรือไม่

คำตอบ:


37

นี่คือเหตุผลที่ลูกค้า openvpn ไม่ทำงานจากบรรทัดคำสั่งบน Ubuntu 15.04 หรือไม่

ไม่เหตุผลคือคุณไม่ได้อ่านความเห็นที่ด้านบนสุดของไฟล์หน่วยนั้นและคุณกำลังเรียกใช้rcสคริปต์System 5 โดยตรง อย่าเรียกใช้rcสคริปต์ของSystem 5 โดยตรงโดยเฉพาะอย่างยิ่งในระบบที่rcไม่ได้ใช้ระบบ 5เช่น Ubuntu เวอร์ชัน 15

การเรียกพวกเขาทางอ้อมผ่านserviceคำสั่งนั้นผิดในกรณีของ OpenVPN เช่นกัน

OpenVPN เป็นบริการชั่วคราวภายใต้ systemd บริการที่มีการตั้งชื่อ ดังนั้นคุณควรเริ่มต้นอินสแตนซ์ของคุณด้วยopenvpn@config.service/etc/openvpn/myvpn.conf

systemctl เริ่ม openvpn@myvpn.service

อ่านเพิ่มเติม


ตกลงขอบคุณสำหรับคำตอบของคุณ ฉันไม่ทราบว่า Ubuntu กำลังติดตามวิธีการจัดการบริการของ fedora ในขณะนี้ ดูเหมือนว่าจะมีเอกสารเล็กน้อยเกี่ยวกับการเริ่ม / หยุดบริการใน 15.04 อันที่จริงมันยากอย่างที่ฉัน google ฉันไม่สามารถหาได้เลย เป็นไปได้หรือไม่ที่จะเริ่มด้วยบางอย่างเช่น "systemctl start openvpn" และไม่ผ่านในชื่อ config?
296916

systemd newbie ที่นี่ ... ไฟล์ยูนิตที่คุณพูดถึงคืออะไร? มันเป็นfreedesktop.org/software/systemd/man/systemd.unit.htmlหรือไม่
Jerry Seutter

มันเป็นชื่อที่ผู้ถามตั้งให้ชื่อเต็มในคำถาม มันมีคำอธิบายอธิบายในช่วงเริ่มต้น
JdeBP

4
เพียงแค่ FYI แต่ไม่มีความคิดเห็นในไฟล์ใดไฟล์หนึ่งบน Ubuntu 15 เพื่อให้ข้อบ่งชี้ว่าสิ่งที่ฉันทำผิดไป มีเอกสารน้อยมากจริง ๆ เพื่อระบุว่า systemctl เป็นวิธีที่ถูกต้องในการใช้งานในขณะนี้และในความเป็นจริงมีเอกสารที่เพียงพอซึ่งแนะนำว่า /etc/init.d/xxxx ควรใช้ systemctl ที่อยู่เบื้องหลังและควรจะเป็น โปร่งใสให้กับผู้ใช้เพื่อให้สคริปต์ที่มีอยู่ไม่ได้ทำลายทั้งหมด
296916

2
คุณมีการพิมพ์ผิด: ควรจะเป็นsystemctl start openvpn@myvpn.service systemctl start openvpn@myvpn
ไบรอัน Larsen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.