Kết nối / ngắt kết nối với VPN khỏi dòng lệnh


131

Tôi có hai thiết lập VPN trên máy Ubuntu, một sử dụng vpnc và một sử dụng PPTP. Cả hai đều được thiết lập bằng giao diện quản lý mạng Gnome và hoạt động rất tốt. Tuy nhiên, đôi khi tôi cần truy cập vào máy này từ xa - có cách nào để kết nối hoặc ngắt kết nối với các VPN này khỏi dòng lệnh không?


Lệnh vpnc chi tiết ở đây không làm việc cho bạn? Ngoài ra, có hướng dẫn cấu hình và kết nối với PPTP tại đây. Họ không làm việc?
Kris Harper

Câu trả lời:


191

Nếu bạn muốn tương tác với NetworkManager từ dòng lệnh, bạn có thể sử dụng lệnh "nmcli".

liệt kê tất cả các kết nối NM: nmcli con

bắt đầu kết nối (wifi, vpn, v.v.): nmcli con up id ConnectionName

kết nối xuống: nmcli con down id ConnectionName

(nhiều lệnh nmcli hơn trong trang web của nmcli ).


Cũng lưu ý rằng người dùng thông thường thường không có quyền kiểm soát mạng. Sử dụng các lệnh trên với sudosẽ hoạt động với hầu hết các kết nối, nhưng VPN đặc biệt có thể thất bại với "Lỗi: Kích hoạt kết nối không thành công: không có bí mật VPN hợp lệ."

Nếu điều đó xảy ra với bạn, có khả năng mật khẩu VPN được lưu trữ trong khóa gnome của người dùng của bạn, khiến cho người dùng root không thể truy cập được. Nhận xét này giải thích tại sao.

Để khắc phục điều này, hãy chỉnh sửa / etc / NetworkManager / system-links / ConnectionName và bên dưới [vpn], thay đổi dòng cờ mật khẩu thành:

password-flags=0

Nếu có một dòng bắt đầu với Xauth password-flags, thay đổi nó thay thế.

Sau đó thêm vào bên dưới [vpn]khối:

[vpn-secrets]
password=YourPassword

(Nếu ở bước trước bạn đã thay đổi dòng Xauth password-flags, hãy thêm Xauth password=...vào.)

Bây giờ khởi động lại trình quản lý mạng bằng cách:

sudo service network-manager restart

Sau đó, bắt đầu kết nối VPN với sudo nmcli con up id ConnectionNamehoạt động mà không có vấn đề.


1
Tôi ước có một lệnh ngắt kết nối chung sẽ ngắt kết nối bất kỳ VPN nào mà không phải chỉ định id của nó. Điều đó có thể sẽ làm cho tính năng này (tôi muốn) dễ thực hiện hơn.
Lonnie hay nhất

Nếu bạn đang sử dụng ipsec (ví dụ: vpnc), bạn cũng có thể cần thêm "IPSec secret-flags = 0" và "IPSec secret = <grouppw>" ở những nơi tương ứng của họ
Matt

Điều này vẫn không khắc phục được tôi :( Tôi nhận được thông báo "Lỗi: Kích hoạt kết nối không thành công: không rõ lý do."
dano 8/03/2015

Tôi lấy lại nó ... sau lần thứ 3 tôi chạy lệnh nó hoạt động. Lần 1 thất bại nhanh chóng. Lần thứ 2 thất bại chậm. Lần thứ ba làm việc!
dano

2
Xóa văn bản PWs ?? Có thật không?? Có ai có một giải pháp AN TOÀN?
user447607

4

Câu trả lời của ihashacks với ý kiến ​​của Matt đã làm việc cho tôi ... gần như vậy. Phải chỉnh một dòng.

dòng cờ mật khẩu của tôi thực sự đọc: "Xauth password-flag". Câu trả lời được chấp nhận sẽ không hiệu quả với tôi cho đến khi tôi đổi thành câu sau

[vpn]
...
Xauth password-flag=0
IPSec secret-flags=0

[vpn-secrets]
Xauth password=<my pw> ## This is the one I changed.
IPSec secret=<group pw>

Không chắc chắn tại sao các kết nối vpn của tôi có "Xauth" trước mỗi lần nhắc đến mật khẩu.

(Xin lỗi, đây là câu trả lời mới, chưa thể đưa ra nhận xét.)


2
Đây là một số loại VPN, ví dụ như loại Cisco; rất hữu ích cho những trường hợp này! Tuy nhiên, có một lỗi: trường hợp chính xác của một khóa là IPSec secret- nếu không, nó không được NM nhận ra.
Marcus

Cảm ơn Marcus, tôi đã sửa lỗi cho câu trả lời của mình để không ai cố gắng sao chép / dán lỗi đánh máy.
Giăng
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.