วิธีอัตโนมัติเริ่ม openvpn (ไคลเอนต์) บน Ubuntu Ubuntu?


16

ฉันใช้ Ubuntu 12.04 64 บิต ฉันมี*.ovpnไฟล์ที่ใช้งานได้หากฉันพิมพ์:

sudo openvpn client.ovpn

ตอนนี้ฉันต้องการเริ่มต้นopenvpnเมื่อฉันบูตคอมพิวเตอร์

ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


22
  1. OpenVPNConfigFile.ovpnดาวน์โหลด โปรดทราบว่าคุณสามารถเปลี่ยนชื่อไฟล์เป็นสิ่งที่คุณต้องการ

  2. ย้ายไฟล์ ovpn ไปที่ /etc/openvpn

  3. cd /etc/openvpn โฟลเดอร์และป้อน sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    บันทึกและปิด

  4. sudo nano OpenVPNConfigFile.ovpn

    ค้นหาauth-user-passและเพิ่มyourserver.txtถัดจากมันเพื่อที่จะกลายเป็น

    auth-user-pass yourserver.txt
    

    สิ่งนี้จะช่วยให้คุณข้ามการป้อนข้อมูลประจำตัวของคุณทุกครั้งที่คุณเริ่มการเชื่อมต่อ openvpn

  5. เปลี่ยนชื่อOpenVPNConfigFile.ovpnเป็นOpenVPNConfigFile.conf

    sudo mv OpenVPNConfigFile.ovpn OpenVPNConfigFile.conf
    
  6. sudo nano /etc/default/openvpn

    uncomment AUTOSTART="all"

  7. sudo service openvpn start

    คุณควรเห็นข้อความแจ้งว่ากำลังเชื่อมต่ออยู่ การเชื่อมต่อจะถูกสร้างขึ้นทุกครั้งที่คุณเปิดเครื่องคอมพิวเตอร์


5
หากคุณใช้ systemd คุณจะต้องใช้งานsystemctl daemon-reloadก่อนที่จะเริ่มบริการใหม่
Mario Campa

6

แพคเกจมาพร้อมกับสคริปต์openvpn init /etc/init.d/openvpnสคริปต์นี้จะตั้งค่าการเชื่อมต่อโดยอัตโนมัติทุกครั้ง.conf(ทราบนามสกุล) /etc/openvpnในไฟล์

พบสิ่งนี้ตามข้อมูลที่นี่: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

หากคุณติดตั้ง OpenVPN ผ่านแพ็คเกจ RPM หรือ DEB บน Linux ตัวติดตั้งจะตั้งค่า initscript เมื่อเรียกใช้งาน initscript จะสแกนหาไฟล์การกำหนดค่า. config ใน / etc / openvpn และหากพบจะเริ่มต้นแยก OpenVPN daemon สำหรับแต่ละไฟล์


2

มันจะเป็นการดีถ้ามีวิธีแฮ็กเกอร์ที่ทำได้ แต่ตอนนี้จะต้องทำ

1) สร้างไฟล์ myopenvpn ใน /etc/init.d/

nano /etc/init.d/myopenvpn

2) แทรกลงใน myopenvpn และบันทึก:

# OpenVPN autostart on boot script

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn

แหล่งที่มา: http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79


2

ฉันติดขัดนิดหน่อยและจบลงด้วยการเขียนคำแนะนำทั้งหมดสำหรับการตั้งค่าด้วย systemd ด้วยตนเอง

สิ่งนี้ใช้ได้กับฉันโดยใช้ Ubuntu 16.10 และ openvpn 2.3.11

ตั้งค่า vpn ของคุณให้ทำงานจาก bash

ตัวอย่างเหล่านี้ใช้ expressvpn แต่ส่วนใหญ่จะทำงานในลักษณะเดียวกัน

ดาวน์โหลดไฟล์ config ผู้ให้บริการ VPN ของคุณ ovpn เช่นmy_express_vpn_amsterdam_2ovpn

ย้ายไปที่/etc/openvpn/และเปลี่ยนชื่อเป็นสิ้นสุดใน. conf

sudo mv ~/Downloads/my_express_vpn_amsterdam_2.ovpn /etc/openvpn/amsterdam-2.conf

ผู้ให้บริการ VPN ของคุณจะให้ชื่อผู้ใช้และรหัสผ่านสำหรับการเชื่อมต่อผ่าน openvpn บันทึกชื่อผู้ใช้และรหัสผ่านในแต่ละบรรทัดของตนเอง

sudo vim /etc/openvpn/express-vpn-crednetials.txt
# add these lines
YOUR_VPN_USERNAME
YOUR_VPN_PASSWORD
# save the file

ตอนนี้แก้ไข/etc/openvpn/amsterdam-2.conf ค้นหาบรรทัดที่ระบุauth-user-passและแทนที่ด้วยเส้นทางไปยังไฟล์ข้อมูลรับรองของคุณ

auth-user-pass /etc/openvpn/express-vpn-crednetials.txt

ทดสอบการกำหนดค่าของคุณ! เริ่ม openvpn เช่นนี้

sudo openvpn --config /etc/openvpn/amsterdam-2.conf

openvpn ควรเชื่อมต่อโดยไม่ต้องขอชื่อผู้ใช้หรือรหัสผ่าน

ลบการกำหนดค่าบริการ (หัก) ที่มีอยู่สำหรับ openvpn

sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service

ตั้งค่า openvpn เพื่อให้ทำงานเป็นบริการ systemd

การกำหนดค่าที่มาพร้อมกับ openvpn นั้นใช้งานไม่ได้ดังนั้นฉันจึงลบออกและสร้างขึ้นมาใหม่ คำตอบนี้

สร้างบริการ systemd สำหรับ openvpn

sudo vim /usr/lib/systemd/system/openvpn@service

เพิ่มการกำหนดค่านี้:

[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target

[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf

[Install]
WantedBy=multi-user.target

%iถูกนำมาใช้เป็นสัญลักษณ์แทนเพื่อให้บริการนี้สามารถนำมาใช้สำหรับการกำหนดค่า VPN หลาย ตั้งค่าสำหรับamsterdam-2.confไฟล์ที่เราสร้างไว้ก่อนหน้า

sudo systemctl start openvpn@amsterdam-2.service

บริการ systemd ควรจะทำงานบน vpn ของอัมสเตอร์ดัม ตรวจสอบสถานะมันเป็นอย่างนั้น

sudo systemctl status openvpn@amsterdam-2.service

คุณควรเห็นเอาต์พุตหลายบรรทัดสิ้นสุดInitialization Sequence Completedและ vpn ของคุณควรทำงาน

หวังว่านี่จะช่วยได้! การอ่านที่เกี่ยวข้อง:

/unix/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#206490

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

/unix/148990/using-openvpn-with-systemd/149003#149003?newreg=53ca53879fcc489f94304f91bbc82ab3

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