วิธีแก้ปัญหาที่ฉันใช้เพื่อแก้ไขปัญหาการขาดฟังก์ชั่นที่มาพร้อมกับ nmcli บนระบบที่ใช้เดเบียนคือการใช้คำสั่งเพื่อคัดลอกไฟล์กำหนดค่า VPN ที่มีอยู่ในโฟลเดอร์ / etc / NetworkManager / system-settings ไปยังไฟล์ใหม่ แน่นอน) ในโฟลเดอร์เดียวกันและทำการแทนที่สตริงให้กับผู้ใช้ที่ได้รับอนุญาตเกตเวย์ชื่อผู้ใช้และรหัสผ่านในสำเนาใหม่ จากนั้นฉันรีสตาร์ทผู้จัดการเครือข่ายเพื่อใช้การเปลี่ยนแปลง
ตัวอย่างเช่น:
ไฟล์กำหนดค่าทั่วไปในโฟลเดอร์ / etc / NetworkManager / system-settings อาจมีลักษณะเช่นนี้:
[connection]
id=<<id>>
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
type=vpn
permissions=user:<<permissions_user>>:;
autoconnect=false
[vpn]
password-flags=0
service-type=org.freedesktop.NetworkManager.pptp
require-mppe-128=yes
mppe-stateful=yes
user=<<user>>
refuse-eap=yes
refuse-chap=yes
gateway=<<gateway>>
refuse-pap=yes
[vpn-secrets]
password=<<password>>
[ipv4]
method=auto
... ดังนั้นคุณสามารถสร้างไฟล์กำหนดค่าใหม่ที่มีลักษณะคล้ายกับไฟล์ด้านบน ...
cd /etc/NetworkManager/system-settings
cp "existing-working-vpn-config-file" "new-vpn-config-file"
... จากนั้นแทนที่ค่า '<< >>' ด้านบนด้วยการตั้งค่า VPN ของคุณเองเช่น:
sed -i "s/<<permissions_user>>/my_permissions_user/g" new-vpn-config-file
sed -i "s/<<user>>/my_user/g" new-vpn-config-file
sed -i "s/<<gateway>>/my_gateway/g" new-vpn-config-file
sed -i "s/<<password>>/my_password/g" new-vpn-config-file
... จากนั้นรีสตาร์ทตัวจัดการเครือข่ายในที่สุดด้วยคำสั่งต่อไปนี้:
service network-manager restart
หมายเหตุ: การตั้งค่า UUID ดูเหมือนจะไม่สำคัญแม้ว่าจะไม่ซ้ำกันก็ตาม ไม่รู้ว่าทำไม แค่ใช้งานได้
นอกจากนี้หากคุณกำลังเพิ่มไฟล์ใหม่มากกว่าการคัดลอกตรวจสอบให้แน่ใจว่าการตั้งค่าการอนุญาตไฟล์เป็น 600 (อ่านและเขียน) และเจ้าของเป็นผู้ใช้รูท
ลองยิงมันและบอกสิ่งที่คุณคิด มันทำงานได้สำหรับฉันทั้งหมดผ่านทางบรรทัดคำสั่ง