ฉันแก้ไขปัญหาด้วยสคริปต์ใน
/etc/NetworkManager/dispatcher.d
โฟลเดอร์นี้มีสคริปต์ที่ถูกเรียกตามลำดับตัวอักษรโดยผู้จัดการเครือข่ายทุกครั้งที่มีการเปลี่ยนแปลงสถานะของเครือข่าย สิ่งนี้มีข้อดี (แตกต่างจากโซลูชันอื่นที่ฉันเห็น) ว่า VPN ของคุณไม่เพียง แต่เปิดใช้งานตอนบูท / เริ่มต้น แต่ยังทำงานต่อหลังจากหยุดชั่วคราว / สลีป
เพื่อให้สามารถใช้งานได้คุณจำเป็นต้องมีการเชื่อมต่อ VPN ที่ตั้งค่าไว้แล้วใน Network Manager ของคุณซึ่งฉันถือว่าคุณมีมิฉะนั้นคุณจะไม่ได้ถามคำถาม
ขั้นตอนแรก: ฉันทำตามคำแนะนำของหน้านี้ (ภาษาเยอรมัน) ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ) ฉันเปิดและตั้งชื่อสคริปต์ใหม่ 02VPN1
sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
และเขียนว่า:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
if [ "$2" = "up" ]; then
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
NAME_OF_YOUR_VPN_CONNECTION เป็นชื่อของไฟล์เชื่อมต่อ NAME_OF_YOUR_VPN_CONNECTION.conf ที่คุณใช้ในการตั้งค่าการเชื่อมต่อที่คุณต้องการเชื่อมต่ออัตโนมัติ
เงื่อนไขถ้า ["$ 2" = "up"] หมายความว่าการเชื่อมต่อ VPN จะเชื่อมต่อโดยอัตโนมัติเมื่อคุณเริ่มการเชื่อมต่อเครือข่าย (การเชื่อมต่ออินเทอร์เน็ตของคุณ); เมื่อบริการ VPN ทำงานคุณสามารถปิดใช้งานหรือเลือก VPN อื่น
หากคุณเท่านั้นและทุกครั้งที่ต้องการเรียกใช้ VPN นี้โดยไม่มีความสามารถในการปิดใช้งานคุณสามารถเขียนสคริปต์โดยไม่มีเงื่อนไขนี้:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
คุณสามารถตั้งค่าไฟล์นี้เป็นรูทได้เท่านั้นจึงเป็นเจ้าของโดยรูทโดยที่คุณไม่ต้องทำอะไรนอกจากนี้ นั่นเป็นวิธีที่ควรจะเป็น
สุดท้าย: ทำให้ไฟล์นี้ทำงานได้มิฉะนั้นสคริปต์จะไม่ทำงาน ในอาคารผู้โดยสาร:
sudo chmod +x /etc/NetworkManager/dispatcher.d/02VPN1
- ขั้นตอนที่สอง (แตกต่างจากคำแนะนำในลิงก์ด้านบนฉันใช้คำแนะนำจากที่นี่:
https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193
กระบวนการนี้ดำเนินการโดยรูทและรูทยังไม่สามารถเข้าถึงรหัสผ่านที่คุณใช้สำหรับ VPN ของคุณ ทำสิ่งต่อไปนี้: เปิดไฟล์ NAME_OF_YOUR_VPN_CONNECTION ใน / etc / NetworkManager / system-connections เป็น root เปิด Terminal และทำ:
sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION
a) เปลี่ยนสาย
password-flags=1
ถึง
password-flags=0
b) ที่ด้านล่างเพิ่ม
[vpn-secrets]
password=PASSWORDOFYOURCONNECTION
บันทึกและปิดไฟล์
ตอนนี้รีสตาร์ท Network Manager ของคุณ เทอร์มิ:
systemctl restart NetworkManager
เพื่อเริ่มต้นการตั้งค่าใหม่ คุณควรทำ
ฉันทำสิ่งนี้เมื่อวานนี้และเท่าที่ฉันเห็นมันทำงานได้ดี ไม่รับประกัน!