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

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

我确实有一个有效的 VPN 连接。现在我希望当我处于某个无线网络中时,此 VPN 连接会自动激活。有没有使用 network-manager-applet 的非侵入式图形方式?如果我没记错的话,它工作了一段时间,现在不行了。

我让所有用户都可以使用有问题的无线连接,以便不必每次都输入密码。

使用的 CLI 程序是启用了 Hybrid-Auth 的 vpnc(兼容 cisco VPN 客户端)施洛克的 PPA

编辑:我无法再尝试答案(因为 eduroam),而且由于似乎没有答案获得多数票,所以我暂时不回答它,直到有一个答案被赞成,然后我才会接受。

答案1

建议的解决方案con-f-use应该可行,但由于长期存在的错误而不起作用:

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

不过,还是有解决办法的。对于较新版本的 NetworkManager,有一个命令行实用程序,nmcli可以编辑并保存为类似以下内容/etc/NetworkManager/dispatcher.d/vpn-up

#! /bin/bash

REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"


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/title/NetworkManager#Use_dispatcher_to_connect_to_a_VPN_after_a_network_connection_is_established有更多信息。

答案2

nm-connection-editor您可以在GUI 中单独保存的 Wi-Fi 设置中找到 VPN 自动连接选项。在 Ubuntu 14.04 中,您可以在以下位置找到它:

系统设置->网络->无线上网或者->设置(常规选项卡)->自动连接到 VPN...

(自 Gnome 42 起,此路径会通向一个新的简化菜单,但仍可直接访问完整的菜单nm-connection-editor

GUI 的屏幕截图

保存后,secondaries=配置文件中的 部分将添加一行[connection]。它将包含要激活的辅助连接 UUID 列表。配置文件通常为/etc/NetworkManager/system-connections/

如果您需要激活多个辅助连接,此信息会很有用。您可以在配置文件中添加多个连接 UUID(以 分隔);,即使 GUI(目前:2022)不允许选择多个条目。

答案3

我能够使用 使它在 Ubuntu 20.04 上运行nm-connection-editor。无论出于何种原因,该选项都不再出现在 Wifi/以太网或 VPN 配置 UI 中。

  1. 打开终端

  2. 类型nm-connection-editor

  3. 选择要自动连接的网络连接

    网络连接选择窗口,设置按钮为红色

  4. 单击齿轮图标打开该连接的设置

  5. 转到常规选项卡

  6. 启用该Automatically connect to VPN选项并在右侧的下拉菜单中选择 VPN

    网络配置窗口,常规选项卡,自动连接选项以红色显示

  7. 点击“保存”

答案4

如果我没记错的话,它起作用了一段时间,但现在不再起作用了。

  • 这可能很明显,但有时我并没有想到这一点。您是否尝试过重新安装:

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

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

  • 有一种方法可以抑制“无法连接”类型的消息,当用户处于错误的网络中,但不记得连接过程时。我认为没有其他方法可以以图形方式自动连接。也许您必须编写一个脚本,以便在所述 wlan 网络中进行连接。

希望有所帮助。

相关内容