Nhập tệp cấu hình VPN vào NetworkManager từ dòng lệnh


14

Người ta có thể nhập .ovpntệp vào NetworkManager thông qua công cụ GUI nm-connection-editor(nhấp chuột phải nm-appletvà nhấp vào Edit connections): Add-> Import a saved VPN configuration....

Mục tiêu của tôi là làm điều tương tự nhưng thông qua dòng lệnh bằng cách sử dụng các công cụ như nm-cli. Có thể bằng cách nào đó?


Bạn đã thực hiện bất kỳ tiến bộ với điều này? Tôi đang cố gắng làm điều tương tự vì vậy sẽ đăng câu trả lời nếu tôi làm cho nó hoạt động.
David Mason

@DavidMason, thật không may, không. Tôi đang chờ giải pháp của bạn.
petRUShka

Tôi đang tìm kiếm một giải pháp tích cực quá.
Raspbeguy

Tôi muốn nhìn thấy một giải pháp cho nhập khẩu bằng dòng lệnh
davidbaumann

Câu trả lời:


10

Tôi đang sử dụng nmcli phiên bản 1.2.6 và tôi có thể sử dụng nó để nhập cấu hình openvpn.

nmcli connection import type openvpn file ~/myconfig.ovpn

Từ giờ trở đi ngay cả trong NetworkManager UI, vpn của tôi vẫn hiển thị.

Để cấu hình thêm kết nối, bạn có thể sử dụng showlệnh để tìm ra tên kết nối và modifythay đổi giá trị cấu hình.

nmcli connection show
nmcli connection modify myvpnconnectionname +vpn.data username=myusername

Bất kỳ ý tưởng làm thế nào để sử dụng -vpn.datanếu tôi vô tình thêm một cái gì đó sai vào dữ liệu cấu hình?
32r34wgf3e

@ 32r34wgf3e không biết. Khi cấu hình của tôi sai, tôi xóa nó và thực hiện một thiết lập mới từ dòng lệnh như được nêu trong câu trả lời của tôi. Mẹo: Lưu trữ các lệnh của bạn trong tệp văn bản để sử dụng lại sau.
bastian

5

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.


0

Tôi đã sử dụng điều này để chạy từ root:

USER=japie
runuser -l $USER -c "sudo -S nmcli connection import type openvpn file ~/vpn_clients/flappie3-TO-IPFire.ovpn"

Kết nối 'flappie3-TO-IPFire' (26d0b28e-9212-4e71-90dc-3911ddf231e5) đã được thêm thành công.


Tại sao runuserchỉ sử dụng để có người dùng sử dụng sudo? Điều này không thêm bất cứ điều gì chưa được đề cập trong ví dụ: Nhập tệp cấu hình VPN vào NetworkManager từ dòng lệnh
Kusalananda

kịch bản đăng ký máy tính xách tay chạy dưới quyền root
djieno

Chắc chắn, và bạn chuyển sang japiesử dụng runuser, nhưng sau đó bạn chuyển trở lại root bằng sudo...
Kusalananda

nếu bạn không thêm "sudo ..." thì người dùng / japie hiện tại không có đủ quyền để chạy nmcli
djieno

Vì vậy, đừng chuyển sang người dùng runasđó sau đó ... Tóm lại, điều tôi đang nói là nó phải đủ với nmcli connection import type openvpn file ~japie/vpn_clients/flappie3-TO-IPFire.ovpn.
Kusalananda
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.