Một cách giải quyết mà tôi sử dụng để vượt qua sự thiếu chức năng đi kèm với nmcli trên các hệ thống dựa trên debian là sử dụng các lệnh để sao chép tệp cấu hình VPN hiện có trong thư mục / etc / NetworkManager / system-settings sang một tệp mới (như root, tất nhiên) trong cùng một thư mục và thực hiện thay thế chuỗi cho các giá trị người dùng, cổng, tên người dùng và mật khẩu được phép trong bản sao mới. Sau đó, tôi khởi động lại trình quản lý mạng để áp dụng các thay đổi.
Ví dụ:
Một tệp cấu hình điển hình trong thư mục / etc / NetworkManager / system-settings có thể trông như sau:
[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
... vì vậy bạn chỉ có thể tạo một tệp cấu hình mới trông tương tự như ở trên ...
cd /etc/NetworkManager/system-settings
cp "existing-working-vpn-config-file" "new-vpn-config-file"
... sau đó thay thế các giá trị '<< >>' ở trên bằng cài đặt VPN của riêng bạn, ví dụ:
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
... và cuối cùng khởi động lại trình quản lý mạng thông qua lệnh sau:
service network-manager restart
Lưu ý: Cài đặt UUID dường như không quan trọng, ngay cả khi nó không phải là duy nhất. Không biết tại sao. Thứ chỉ hoạt động.
Ngoài ra, nếu bạn đang thêm một tệp mới thay vì sao chép, hãy đảm bảo rằng các quyền đối với tệp được đặt thành 600 (đọc và ghi) và chủ sở hữu là root.
Cho nó một shot và cho tôi biết những gì bạn nghĩ. Nó hoạt động cho tôi, tất cả thông qua dòng lệnh.