การเริ่มต้นไคลเอ็นต์ OpenVPN โดยอัตโนมัติเมื่อบูต


34

ฉันพยายามให้ OpenVPN เริ่มต้นโดยอัตโนมัติเมื่อบูต วันนี้ฉันต้องพิมพ์เอง

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

ตามด้วยชื่อผู้ใช้และรหัสผ่าน มีวิธีที่ดีในการทำสิ่งนี้โดยอัตโนมัติเมื่อบูตหรือไม่

คำตอบ:


42

/etc/default/openvpnแก้ไข เพียงกดCtrl+ Alt+ Tบนแป้นพิมพ์เพื่อเปิด Terminal เมื่อเปิดขึ้นให้เรียกใช้คำสั่งด้านล่าง:

sudo gedit /etc/default/openvpn

ยกเลิกการใส่เครื่องหมายAUTOSTART="all"บรรทัด บันทึกและปิด รีบูตระบบของคุณ

ภาพ


(i) จะเริ่มต้น VPN แบบใดวิธีหนึ่งได้อย่างไร (ii) ใครเป็นผู้ให้การรับรองความถูกต้องสำหรับการเชื่อมต่อที่เริ่มต้นด้วยวิธีนี้ (มันสามารถเริ่มต้นการเชื่อมต่อโดยไม่ต้องมีการจัดเก็บรหัสผ่านชื่อผู้ใช้และรหัสผ่านเป็นข้อความธรรมดา) (iii) ถ้าเป็นไปได้วิธีการ cli จะดีกว่า ฉันสามารถใช้แทนnanoสำหรับgeditแต่ฉันไม่สามารถใช้แอปเพล็นาโนเมตรเพื่อให้ข้อมูลประจำตัวที่เก็บไว้ในพวงกุญแจ
Jonathan Y.

@JonathanY ลองดูที่ทรัพยากรที่มีอยู่เหล่านี้ที่นี่และที่นี่ คุณอาจต้องการพิจารณาถามคำถามใหม่
มิทช์

6
จำเป็นมาก เท่าที่ฉันสามารถบอกคำตอบ (i) (ซึ่งอยู่ในขอบเขตของคำถามนี้) คือAUTOSTART="all"ความพยายามที่จะเริ่มทุก.confไฟล์ใน/etc/openvpn(ฉันชอบที่จะได้รับการยืนยันแม้ว่า) คำตอบสำหรับ (ii) ก็มีขอบเขตที่ชัดเจนภายในคำถามนี้ - คุณไม่สามารถเริ่มต้นการเชื่อมต่อ VPN ได้โดยอัตโนมัติยกเว้นว่ามีความลับอยู่โดยไม่ต้องป้อนข้อมูลผู้ใช้ ฉันยอมรับว่า (iii) เป็นหลักสูตรนอกหลักสูตรและอาจทำบุญคำถามใหม่ ไม่มีคำตอบใดในลิงก์เหล่านี้ที่ฉันเห็นได้
Jonathan Y.

ในฐานะที่เป็นความคิดเห็นในสถานะภาพค่าเริ่มต้นสำหรับ AUTOSTART นั้นแท้จริงแล้วคือ "ทั้งหมด" การแก้ไขนี้จึงไม่จำเป็นในความคิดของฉัน
Yves B

1
@YvesB ค่าเริ่มต้นคือ "ทั้งหมด" เฉพาะเมื่อ AUTOSTART ไม่มีคำ
วิจารณ์

9

หากคุณอยู่ใน systemd (16.04) ให้กำหนดค่า AUTOSTART = "ทั้งหมด" และยังไม่เริ่มให้ความสนใจกับสิ่งนี้:

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

เพียงแค่ทำ

systemctl daemon-reload

จากนั้นเริ่มบริการใหม่

 sudo service openvpn restart

สมบูรณ์แบบขอบคุณมาก
pylover

8

คุณสามารถใส่ไฟล์auth-user-pass filenameของคุณในanonine.ovpnตำแหน่งที่filenameมีชื่อผู้ใช้ / รหัสผ่านใน 2 บรรทัด

ตรวจสอบให้แน่ใจว่าfilenameมีการรักษาความปลอดภัยอย่างถูกต้องเพราะมันจะมีชื่อผู้ใช้ / รหัสผ่านธรรมดา

นี่คือจากopenvpn --help:

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

คุณยังสามารถเพิ่มใบรับรองของคุณในanonine.ovpnการเพิ่มด้วยวิธีนี้:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>

3

หากไม่จำเป็นต้องใช้ชื่อผู้ใช้ / รหัสผ่านในการเชื่อมต่อให้เปลี่ยนชื่อไฟล์. vpn เป็นนามสกุล .conf

OpenVPN ควรเชื่อมต่อขณะบู๊ตแม้ไม่มี autostart = all

หากต้องการชื่อผู้ใช้ / รหัสผ่าน

แก้ไขไฟล์. conf

แก้ไขชื่อผู้ใช้รหัสผ่านของ auth-user-pass

สร้างไฟล์ที่มี:

username
password

หากคุณต้องการเชื่อมต่อกับ Network Manager ตรวจสอบให้แน่ใจก่อนว่า:

sudo apt-get install network-manager-openvpn

ตรวจสอบให้แน่ใจว่า Ubuntu ของคุณเป็นอย่างน้อย 14.04 สิ่งนี้ใช้ไม่ได้กับ 12.04

หากคุณไม่มี ca.crt, client.crt ฯลฯ ให้ดึงออกจาก .conf

ด้วย Network Manager ให้สร้างการเชื่อมต่อ VPN ใหม่หรือนำเข้าสิ่งที่คุณกังวล

เพิ่มใบรับรองและ ta.key

เส้นทางใช้การเชื่อมต่อสำหรับทรัพยากรบนเครือข่ายเท่านั้น

แก้ไขการเชื่อมต่ออินเทอร์เน็ตของคุณด้วยตัวจัดการเครือข่าย เลือกเชื่อมต่อกับ VPNจากนั้นเลือกการเชื่อมต่อ VPN ของคุณ


0

ในขณะที่มันอาจไม่เป็นที่สนใจของ OP แต่ฉันรู้สึกผิดหวังกับบริการนี้ที่ไม่ได้เริ่มจนกว่าจะเข้าสู่ระบบ - ทั้งกราฟิกหรือ Ctrl + Alt + F # TTY ในที่สุดฉันตระหนักว่าเครื่องของฉันเท่านั้นที่จะเชื่อมต่อกับ Wi-Fi เมื่อฉันเข้าสู่ระบบ. รวมคำตอบอื่น ๆ ที่นี่คำแนะนำมาตรฐานในการทำงานsudo update-rc.d openvpn defaultsและมีคำตอบแรกที่นี้คำถามอื่น ๆทำงานให้ฉัน บางทีนี่อาจช่วยชาว Google อีกคน


0

สำหรับฉันแล้ว

auth-user-pass filename

ไม่ทำงาน

ใช้

askpass /etc/openvpn/filename

และมีเพียงรหัสผ่านในบรรทัดบนสุด

มันทำงานได้และตอนนี้ openvpn เริ่มต้นตอนบูท

คำสั่งเพื่อตรวจสอบว่า openvpn ทำงานหรือไม่:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

เพื่อตรวจสอบ ip ของคุณ (จะต้องแตกต่างจาก ip ภายนอกของเราเตอร์ของคุณ)

sudo service openvpn stop

sudo service openvpn start

เพื่อตรวจสอบการกำหนดค่าของคุณโดยไม่ต้องรีบูตเครื่องตลอดเวลา

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