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?
/etc/NetworkManager/system-connections/ConnectionName
tệ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?