我使用 Ubuntu 13.04 和 Gnome,最近设置了一个 (open)VPN。有没有办法默认启用它?每次启动甚至断开连接时,我都必须手动启用 VPN。我是不是遗漏了某个选项?
答案1
通过网络管理器指示器 nm-applet(默认安装的 GNOME 或 Unity 网络托盘小程序),您可以配置 NetworkManager 在连接网络时自动连接到 VPN。
- 点击网络托盘小程序,然后单击“编辑连接...”,或运行
nm-connection-editor
。 - 选择一个网络连接并点击“编辑…”
- 勾选“使用此连接时自动连接到VPN”,并在下拉列表中选择所需的VPN。
- 节省。
启用此功能后,会出现网络管理器中的错误这会破坏“自动连接到此网络”功能。(编辑:此错误现在已在 Ubuntu 16.04 中标记为“已发布修复程序”)。 如果 NetworkManager 尝试自动连接并失败,您将在 中看到如下一行/var/log/syslog
:
<error> [1401130450.367538] [nm-vpn-connection.c:1374] get_secrets_cb(): Failed to request VPN secrets #2: (6) No agents were available for this request.
NetworkManager 似乎无法从 获取用户的 VPN 密码gnome-keyring-daemon
。一种解决方法是让 NetworkManager 将密码以明文形式存储在 中的配置文件中/etc/NetworkManager/system-connections/
。具体做法如下:
- 打开一个终端。
sudoedit /etc/NetworkManager/system-connections/<VPN>
,其中<VPN>
是您的 VPN 的配置文件(文件名通常是您分配给 VPN 的名称)。- 将行更改
password-flags=1
为password-flags=0
- 保存并退出。
NetworkManager 现在将存储 VPN 密码本身(请参阅man nm-settings
详细信息),并且网络自动连接将再次工作。
答案2
看一下 vpnautoconnect。
vpnautoconnect 是一个守护进程,允许您自动重新连接(在启动时也是如此)使用网络管理器创建的 vpn。它可以非常快速地重新连接并监控带宽,它适用于 pptp 和 openvpn 连接。
欲了解更多信息或下载,请访问网站。
也尝试一下这个:
使用自动启动功能/etc/default/openvpn
或者
找出您的 VPN 连接的 UUID。
nmcli con list | grep -i vpn
UUID 是第二列,包含字母、数字和破折号。
在终端中启动连接。只需按键盘上的Ctrl+ Alt+T即可打开终端。打开后,运行以下命令:
nmcli con up uuid <put you UUID here>
将其设置为在启动时运行。
转到 Dash,键入并选择启动应用程序,单击添加,然后添加上面的 nmcli 命令(带有 UUID)。单击“添加”。在名称中键入您要使用的任何名称,并在命令中输入上面的整个 nmcli 行。再次单击“添加”。现在,重新启动并尝试。
来源:SourceForge
答案3
vpnautoconnect 在 12.04 LTS 中对我来说不起作用,而且似乎我不是唯一一个遇到此问题的人。
我对其进行了一些研究,并结合了一些现有代码来制作我的第一个 bash 脚本。它检查给定的 VPN 连接是否处于活动状态,如果没有,则连接。如果已连接,它将休眠一段时间,例如 1 分钟,然后无限期重复该过程。
#! /bin/bash
while true
do
connection="Auto Ethernet"
vpn_connection="My VPN connection"
run_interval="60"
active_connection=$(nmcli dev status | grep "${connection}")
active_vpn=$(nmcli dev status | grep "${vpn_connection}")
if [ "${active_connection}" -a ! "${active_vpn}" ];
then
nmcli con up id "${vpn_connection}"
fi
sleep $run_interval
done
指示:
创建一个名为 vpn-auto-connector.sh 的空白文本文件(我将其保存在我的主文件夹中。右键单击文件并选择属性->权限,然后选中“允许将文件作为程序执行”。(如果您的计算机有多个用户,您可能必须将文件存储在其他位置和/或更改读/写/执行权限。)
将上面的代码复制到您创建的文件中。替换以下三个变量的值:
连接=“自动以太网”
vpn_connection="我的 VPN 连接"
运行间隔=“60”
可以通过打开网络管理器找到它们。 在我的情况下,connection="Auto Ethernet" 是我的活动有线连接(尚未使用无线进行测试),vpn_connection="My VPN connection" 是我的 VPN 连接的名称。 run_interval="60" 是重复脚本的时间间隔(以秒为单位)。
打开应用程序->系统工具->首选项->启动应用程序。添加一个合适的名称,例如“VPN 自动连接器”,对于命令,选择您之前保存的 .sh 文件。现在,bash 脚本将在启动时运行,并将继续检查 VPN 连接是否处于活动状态。您可以通过断开 VPN 连接来尝试,它应该会再次自动激活。
答案4
Vpn自动连接在 Ubuntu 12.04、13.04 和 13.10 中运行良好(我认为在 13.10 中网络管理器中的“自动连接”选项已经修复并且现在可以正常工作)
因此,如果您在安装或使用过程中遇到困难,或者在网络管理器的下拉菜单中找不到“openvpn”选项来创建开放的 vpn 连接,您可以按照本教程操作,它为您提供所有步骤,非常清晰且易于应用。
看一看这里
请让我知道 :-)