如何使用Network-Manager自动连接到VPN

我确实有一个有效的VPN连接。 现在我希望这个VPN连接在我在某个无线网络时自动激活。 是否存在使用network-manager-applet的非侵入式图形方式? 如果我没记错的话它会工作一段时间而不再存在。

我为所有用户提供了无线连接,无需每次都输入密码。

使用的CLI程序是vpnc,启用了Hybrid-Auth(cisco VPN-client兼容)来自sroecker的PPA

编辑:我可以’尝试答案了(因为eduroam),因为没有答案似乎获得大多数选票我现在要留下未答复,直到有人投票,然后我会接受。

由于一个长期存在的错误, con-f-use建议的解决方案应该可以工作但不能。

https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/280571

但是有一些解决方法。 对于最近的NetworkManager版本,有一个命令行utitility, nmcli ,可以编辑和保存为/etc/NetworkManager/dispatcher.d/vpn-up

 #! /bin/bash REQUIRED_CONNECTION_NAME="" VPN_CONNECTION_NAME="" activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_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 

[我没有测试过这个 – 请随意根据结果进行测试和编辑]

请参阅: https : //wiki.archlinux.org/index.php/NetworkManager#Use_dispatcher_to_connect_to_a_vpn_after_a_network-connection_is_established有更多信息。

在Ubuntu Trusty 14.04 VPN上自动连接存储在GUI上的各个保存的Wi-Fi设置。 系统设置 – 网络 – 检查感兴趣的Wi-Fi或Lan – 设置(常规选项卡) – 选择“自动连接到VPN …”

如果我没记错的话它会工作一段时间而不再存在。

  • 这可能是显而易见的,但有时候我没有想到它。 您是否尝试过重新安装:

    sudo apt-get purge network-manager-vpn sudo apt-get install network-manager-vpnc然后: 在此处输入图像描述

现在我希望这个VPN连接在我在某个无线网络时自动激活。

  • 当用户处于错误的网络中时,有一种方法可以抑制“无法连接”类型的消息,但却无法记住它是如何发生的。 我看不到以图形方式自动连接的其他方法。 也许你必须在所说的wlan-network中写一个脚本进行连接。

希望有所帮助。

我可以确认以下解决方案为我工作。 我正在运行Ubuntu 14.04 LTS。

我转到了关机图标,然后是系统设置。

当设置屏幕打开时,我进入了“网络”和我连接的WiFi网络。 网络名称的一侧有一个小箭头。

设置屏幕截图,用阿拉伯语

单击该图标,您会在此处看到名为“settings”或“options”(或类似名称)的选项:

点击设置

当下一个窗口打开时,只需转到“常规”选项卡,您将看到一个选项,为您提供自动连接到VPN的选项。 选择连接到此WiFi时要连接的VPN,然后繁荣! 每次连接到此网络时,Ubuntu也会将您连接到该VPN。 🙂

对我来说它的工作。 我希望它也适用于其他所有人。 不需要任何类型的文本编辑器或代码编辑器或任何东西..

使用以下Python脚本Gist#1547663 。

脚本的第一个参数是NetworkManager中的VPN连接名称,第二个是应该忽略的网络的逗号分隔名称(例如,在家中使用VPN连接是无用的)。

安装并让它在启动时运行的示例:

 git clone git://gist.github.com/1547663.git /home/user/autovpn/ echo "python /home/user/autovpn/autovpn.py 'myvpn' 'Auto homenetwork,Auto worknetwork' > /var/log/autovpn.log&" > /etc/rc.local /etc/rc.local 

现在,如果您连接到网络(无线或以太网),它还将尝试设置VPN连接。

您不再需要任何调度程序脚本了! 在14.04(Trusty Tahr)中,您只需在NetworkManager GUI中设置autoconnect选项后执行以下步骤。

将vpn-secrets明确地存储在/etc/NetworkManager/system-connections/YourVPNConnectionName下的VPN连接的配置文件中。

您可以通过在配置文件中设置IPSec secret-flags=0Xauth password-flags=0来实现此目的。 然后转到NetworkManager GUI并再次保存VPN连接设置。 现在配置文件中应该出现一个名为[vpn-secrets]的部分。 仔细检查它,自动连接现在应该正常工作!

即使手册页将nmcli con status列为有效命令, Hugo Heden提供的上述解决方案Hugo Heden返回错误"Error: Object 'status' is unknown, try 'nmcli help'"

我正在使用nmcli 1.2.2( nmcli -v ),我已经为/etc/NetworkManager/dispatcher.d/vpn-up测试并修改了以下/etc/NetworkManager/dispatcher.d/vpn-up ,它就像一个魅力。

 #! /bin/bash REQUIRED_CONNECTION_NAME="" VPN_CONNECTION_NAME="" default_conn=$(nmcli con show --active | grep "${REQUIRED_CONNECTION_NAME}") vpn_conn=$(nmcli con show id | grep "${VPN_CONNECTION_NAME}") if [ "${default_conn}" -a ! "${vpn_conn}" ]; then nmcli con up id "${VPN_CONNECTION_NAME}" fi 

注意:您可以使用nmcli con show查看所有连接名称,因为它们并不总是与网络连接GUI中列出的名称相同