Ubuntu 18.04 服务器上的 L2TP 连接客户端

Ubuntu 18.04 服务器上的 L2TP 连接客户端

我到处搜索我的帖子的答案。大多数结果都建议使用网络管理器,但我认为这不是我的解决方案,因为我运行的是没有 UI 的 Ubuntu 服务器。

有没有人有过使用命令行连接 L2TP 上的 VPN 隧道的经验?任何链接或线索都非常感谢。

谢谢

答案1

我正在寻找这个然后我在这里找到了一个开始的解决方案: https://gist.github.com/pastleo/aa3a9524664864c505d637b771d079c9 但仍然需要 GUI,然后我决定测试并得到了完整的解决方案,如下所示:

注意:我使用的是 Centos 7,但我认为它适用于 Ubuntu

  1. 安装 NetworkManager-l2tp
    Centos 7:
yum -y 安装 NetworkManager-l2tp

Ubuntu:(
安装前需要添加存储库)

sudo 添加 apt 存储库 ppa:nm-l2tp/network-manager-l2tp
apt-get 安装网络管理器-l2tp

  1. 以 root 身份运行此命令(运行前请自行进行更改,如下所示):
nmcli 连接添加连接。id [vpnName] con-name [vpnName] 类型 VPN vpn-type l2tp ifname --connection.autoconnect no ipv4.method auto vpn.data "gateway = [ipv4], ipsec-enabled = yes, ipsec-psk = 0s"$(base64

你必须改变:

  • [vpnName] = 您的连接的名称
  • [ipv4] = l2tp/ipsec 服务器的 ip
  • [PSK] = 来自 l2tp/ipsec 服务器的预共享密钥
  • [用户] = 要连接的用户名
  • [用户密码] = 要连接的用户的密码

我不知道生成的 PSK 是否适合您,但对我来说是可行的。如果不只是连接到另一台带有 GUI 的 PC,则从文件 /etc/NetworkManager/system-connections/{vpn_name} 复制 PSK 并粘贴

就是这样!

显示生成的文件:nmcli c show id [vpnName]
从 CLI 启动 VPN:nmcli c up [vpnName]
从 CLI 停止 VPN:nmcli c down [vpnName]

希望它能够有所帮助,因为整个互联网上没有其他关于如何做到这一点的信息!

享受您的 l2tp/ipsec VPN!

答案2

我知道这是一篇旧帖子,但它今天对我有帮助,所以这是我的解决方案。

它没有像这样工作(ubuntu server 20.04),我按照另一个答案的建议尝试,在带有 GUI 的 VM 上建立连接,但我没有复制,而是比较了文件。ipsec 密钥不在 vpn.data 中,而是在 vpn.secrets 中,以纯文本形式,所以我更改了命令,它成功了。

我所做的是安装网络管理器

sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp
sudo apt install network-manager-l2tp

并运行这个命令

sudo nmcli connection add connection.id [vpnName] con-name [vpnName] type VPN vpn-type l2tp ifname -- connection.autoconnect no ipv4.method auto vpn.data "gateway = [ipv4], ipsec-enabled = yes, mru = 1400, mtu = 1400, password-flags = 0, refuse-chap = yes, refuse-mschap = yes, refuse-pap = yes, require-mppe = yes, user = [user]" vpn.secrets "password=[user-password], ipsec-psk = [PSK]"

更改:

  • [vpnName] = 您的连接的名称
  • [ipv4] = l2tp/ipsec 服务器的 ip
  • [PSK] = 来自 l2tp/ipsec 服务器的预共享密钥
  • [用户] = 要连接的用户名
  • [用户密码] = 要连接的用户的密码

(删除括号)

连接和断开连接:

nmcli c up [vpnName]
nmcli c down [vpnName]

PS 这是我第一次回答,如有错误请多包涵

相关内容