Lỗi khi cố gắng kết nối với VPN khi khởi động


13

Câu hỏi này đã được cập nhật. Xin vui lòng xem phần cuối của bài này.

Tôi đang cố gắng thiết lập máy tính Mythbfox của mình để kết nối với dịch vụ VPN khi thiết bị khởi động. Hy vọng của tôi là máy tính Mythbfox sẽ luôn sử dụng VPN cho tất cả các kết nối internet của nó.

Tôi đã tìm thấy một kịch bản được cho là sẽ làm điều đó, và nó trông như thế này:

#!/bin/bash
while [ "true" ]
do
    VPNCON=$(nmcli con status)
    if [[ $VPNCON != "*MyVPNConnectionName*" ]]; then
        echo "Disconnected, trying to reconnect..."
        (sleep 1s && nmcli con up uuid df648abc-d8f7-4ce4-bdd6-3e12cdf0f494)
    else
        echo "Already connected !"
    fi
    sleep 30
done

Khi tôi chạy tập lệnh này trên máy của mình, tôi gặp lỗi sau:

$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.

Tôi nghĩ rằng nó có thể là một vấn đề cấp phép, vì vậy tôi đã thử chạy nó với sudo:

$ sudo /home/mythbuntu/VPN_start.sh
[sudo] password for mythbuntu: 
Disconnected, trying to reconnect...
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.

Làm cách nào để tập lệnh này chạy mà không có lỗi để tôi có thể chạy tập lệnh này khi khởi động hoặc đăng nhập để tôi có thể đảm bảo rằng tôi luôn kết nối bằng VPN.

Nếu bất cứ ai có một kịch bản hoặc phương pháp tốt hơn, đó cũng sẽ là một câu trả lời.


Đây là nội dung của tệp / etc / NetworkManager / system-links / MyVPN (một số chi tiết được thay thế bằng x ký tự để bảo mật):

[connection]
id=MyVPN
uuid=xxxxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxxxxx
type=vpn

[vpn]
service-type=org.xxxxxxxxxxxxxx.xxxxxxxxxxxxxxx.openvpn
username=xxxxxxxxxx
comp-lzo=yes
remote=us-xxxxxx.xxxxxxx.com
connection-type=password
password-flags=0
ca=/etc/openvpn/xxxxxxx.crt

[vpn-secrets]
password=xxxxxxxxxxx

[ipv4]
method=auto
never-default=true

Ngoài ra, tôi chỉ muốn thêm rằng khi tôi bật VPN bằng applet ở góc trên bên phải của bảng Xfce, nó sẽ không gặp vấn đề gì. Vì vậy, vấn đề dường như không phải là một trong những ủy quyền không chính xác, mà là về cấu hình khi cố gắng thực hiện điều này từ dòng lệnh.

Cập nhật:

Tôi không hoàn toàn chắc chắn điều gì đã thay đổi - có thể là thứ gì đó trong bản nâng cấp lên 12.10 - nhưng giờ tôi có thể bắt đầu dịch vụ VPN của mình từ dòng lệnh. Tuy nhiên, lệnh này chỉ hoạt động một lần khi tôi khởi động máy tính lần đầu tiên và nó cũng cần được chạy cùng sudo.

mythbuntu@mythbuntu:~$ nmcli con up id "Private Internet Access SSL"
Error: Connection activation failed: Not authorized to control networking.
mythbuntu@mythbuntu:~$ sudo nmcli con up id "Private Internet Access SSL"
[sudo] password for mythbuntu: 
mythbuntu@mythbuntu:~$

Vì tôi cần sử dụng sudo để chạy cái này, tôi không thể chạy nó tự động khi khởi động.

Làm cách nào để có được nó để tôi có thể khởi động VPN mà không cần quyền siêu người dùng?

Câu trả lời:


8

Vấn đề dường như là, mật khẩu của bạn trong khóa không thể truy cập được.

Nguồn

Giải pháp được đề cập ở đây là mở tệp / etc / NetworkManager / system-links / ConnectionName và đặt

password-flags=0

và thêm các dòng dưới đây vào tập tin

 [vpn-secrets]
 password=YourPassword

Sau đó khởi động lại trình quản lý mạng để nhận thay đổi:

 sudo restart network-manager

Để biết thêm thông tin tham khảo nguồn


Cảm ơn bạn cho thông tin hữu ích. Mặc dù vậy, một phần tôi bị mắc kẹt là tôi không có /etc/NetworkManager/system-connections/ConnectionNametệp, vì vậy khi nó nói "chỉnh sửa trong [vpn]", tôi không chắc chắn cách xử lý. Tôi chỉ có thể tạo tập tin?
hỏi

có / etc / NetworkManager / system-links / <name-of-your-vpn-Connection> và thay đổi password-flagsmẫu 1 thành 0. Sử dụng nmcli conđể liệt kê các kết nối.
devav2

Được rồi, tôi hiểu rồi. Tôi nhận ra rằng tôi đã phạm sai lầm trong việc tìm đúng tập tin. Tuy nhiên, bây giờ tôi đã thực hiện tất cả các chỉnh sửa được đề xuất, rất tiếc là tôi vẫn nhận được cùng một Not authorized to control networkinglỗi.
hỏi

Hãy thử mở lại trình chỉnh sửa kết nối NetworkManager và nhập lại mật khẩu hoặc bí mật VPN.
devav2

Tôi đã mở Trình quản lý mạng và nhập lại mật khẩu (nó trống khi tôi mở giao diện). Tôi không thấy bất cứ điều gì khác liên quan đến "bí mật". Tôi đã lưu và sau đó thử lại kịch bản. Vẫn là thông báo lỗi tương tự.
hỏi

2

Để khởi động VPN tự động khi khởi động

Giả sử bạn có các tệp thông tin đăng nhập của bạn hoạt động, bạn sẽ có thể sử dụng một dispatcher.d tập lệnh như ban đầu bạn phải khởi động VPN. Tôi đã sửa đổi tập lệnh của mình một chút để nó hoạt động với 2 kết nối (Bộ định tuyến không dây ở nhà và kết nối có dây tại nơi làm việc). Lý do cho điều này là tôi muốn nó khởi động VPN nếu nó không được khởi động khi một trong hai kết nối internet yêu cầu của tôi còn sống. Trong ví dụ của tôi, tôi đã cấu hình chúng với tên mặc định, nhưng bạn nên thay đổi chúng để khớp với tên của chính bạn.

Đặt cái này trong tệp /etc/NetworkManager/dispatcher.d/vpn-upvà thực thi vớichmod +x

#! /bin/bash

REQUIRED_CONNECTION1_NAME="linksys"
REQUIRED_CONNECTION2_NAME="Wired connection 1"
VPN_CONNECTION_NAME="My VPN"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION1_NAME}\|${REQUIRED_CONNECTION2_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Để định cấu hình chứng chỉ ứng dụng khách trong NetworkManager

Nếu bạn đang sử dụng chứng chỉ ứng dụng khách có mật khẩu để xác thực với VPN của mình, thì đó là một chút không có giấy tờ.

Sau khi duyệt qua đặc tả cài đặt NetworkManager 0.9 , tôi không thể xác định cách chỉ định một chứng chỉ vpn trong tệp cấu hình. Tôi đã mở seahorsevà tìm thấy ' bí mật VPN ' (mật khẩu chứng chỉ).

Nó được liệt kê dưới dạng một cái gì đó như ' Bí mật chứng nhận VPN cho My VPN / org.freedesktop.NetworkManager.openvpn / vpn '. Nhấp vào tab chi tiết đã cho tôi manh mối về setting-keytên:

setting-name: vpn
setting-key: cert-pass
connection-uuid: 0badcafe-f00d-dead-beef-feedfacef00d

Để tự động khởi động VPN với quyền root trên Ubuntu 12.04 (Pangolin chính xác) bằng NetworkManager 0.9.4.0:

Mở /etc/NetworkManager/system-connections/My VPNvà thêm cert-passbí mật VPN để tệp trông như sau:

[connection]
id=My VPN
uuid=0badcafe-f00d-dead-beef-feedfacef00d
type=vpn
timestamp=1234567890

[vpn]
service-type=org.freedesktop.NetworkManager.openvpn
key=/home/<your-user>/path/to/certs/your.secure.key
ca=/home/<your-user>/path/to/certs/your.vpnca.crt
connection-type=tls
cert=/home/<your-user>/path/to/certs/your.crt
remote=your.vpn-server.com
cert-pass-flags=0
[vpn-secrets]
cert-pass=your-vpn-pass

[ipv4]
method=auto
never-default=true

Cảm ơn bạn cho câu trả lời này. system-connectionsMặc dù vậy, tôi khác với bạn, vì vậy tôi không chắc về việc áp dụng các chỉnh sửa của mình. Tôi không có keyhoặc timestamp, và loại kết nối của tôi passwordthì không tls. Tôi đã thêm tập tin của tôi vào câu hỏi của tôi.
hỏi

Nếu bạn đang sử dụng, connection-type=passwordcó lẽ bạn nên sử dụng password-flags=0password=YourPassworddưới [vpn-secrets]tiêu đề như được đề xuất bởi devav2.
TrinitronX

Tuy nhiên, lỗi bạn nhận được cho thấy rằng người dùng bạn đang chạy VPN_start.shkhông có quyền quản lý mạng. Nếu bạn muốn quản lý các kết nối VPN với tư cách là người dùng không root không có quyền, bạn có thể cần thêm một số chính sách vào /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conftệp.
TrinitronX

Nếu đó chỉ là vấn đề về quyền, thì kịch bản có hoạt động không nếu tôi chạy nó với sudo? Như đã lưu ý trong câu hỏi của tôi, nó cũng thất bại khi tôi chạy nó cùng sudo.
hỏi

Điểm tốt! Tôi không chắc tại sao nó lại gây ra lỗi này nếu bạn đang chạy với sudo. Tôi chưa thể tự kiểm tra loại VPN của mình, vì bộ định tuyến của tôi dường như không thể cấu hình dễ dàng cho điều đó. Nếu kết nối VPN hoạt động tốt khi được khởi động qua applet NetworkManager, thì tôi không biết phải kiểm tra cái gì khác.
TrinitronX
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.