该问题已更新。请参阅这篇文章的尾端。
我试图将Mythbuntu计算机设置为在启动时连接到VPN服务。我希望Mythbuntu计算机将始终将VPN用于其所有Internet连接。
我找到了一个脚本,据说该脚本可以做到这一点,它看起来像这样:
#!/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
在计算机上运行此脚本时,出现以下错误:
$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.
我认为这可能是权限问题,因此我尝试使用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.
如何使该脚本无错误运行,以便可以在启动或登录时运行它,从而确保始终通过VPN连接。
如果有人有更好的脚本或方法,那也足以作为答案。
这些是我的/ etc / NetworkManager / system-connections / MyVPN文件的内容(出于保密目的,一些详细信息已替换为x字符):
[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
另外,我只想补充一点,当我使用Xfce面板右上角的applet打开VPN时,它没有问题。因此,在我看来,这个问题似乎不是错误的授权之一,而是尝试从命令行执行此操作时的配置问题。
更新:
我不完全确定发生了什么更改-可能是升级到12.10时发生的更改-但我现在可以从命令行启动我的VPN服务。但是,此命令仅在我第一次启动计算机时起作用一次,并且也需要使用来运行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:~$
由于我需要使用它sudo
来运行它,因此无法在启动时自动运行它。
如何获得它,以便无需超级用户权限即可启动我的VPN?
/etc/NetworkManager/system-connections/ConnectionName
文件,因此当它说“在[vpn]下编辑”时,我不确定该如何处理。我可以只创建文件吗?