问题标签 [l2tp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
730 浏览

android - 如何为安卓创建 IPSec/L2TP psk vpn

我需要在我的应用程序中以编程方式连接 Vpn,但似乎找不到方法。我看到 VpnService、StrongSwan、OpenVpn 但这似乎不是 IPSec。如何连接到我已经构建的具有用户名、密码和预共享密钥的 IPSec 和 L2TP 服务器。

0 投票
0 回答
257 浏览

docker - 使用 L2TP VPN 和 docker 更改远程 IP wieh

我有一个使用 docker-compose 和 nginx 设置的 L2TP 服务器,用于将某些主机过滤为主机名,但是当我尝试连接时,nginx 正在读取原始 IP,而不是通过 VPN 代理的 IP。

Nginx 显示x.x.x.x而不是192.168.x.xIP。

结果,403 (forbidden)当我尝试连接任何不是我允许的远程 IP 时,它给了我一个错误,即使连接到 VPN,即使 VPN 给了我这样的 IP192.168.43.12

当我尝试network_mode: host使用 VPN 时,它根本无法路由任何网络流量。

码头工人-compose.yml:

nginx站点配置:

0 投票
1 回答
1925 浏览

centos - 无法使用 nm-l2tp-service 连接到 VPN

我使用Centos 7机器并想连接到l2tp VPN使用nm-l2tp-service

服务输出:

0 投票
1 回答
963 浏览

debian - debian 9错误连接vpn l2tp

我试过vpn l2tp连接,但我无法连接。我使用 GUI 网络管理器。这是调试代码

有人可以帮助我发生了什么或解决它吗?我在这里这里尝试过教程

0 投票
1 回答
21 浏览

redirect - dyndns 使用什么样的重定向类型?

所以我很好奇 dyndns.org 使用了什么样的重定向。我们曾经在那里有一个帐户,但我们取消了它,我们建立了一个内部 IP 收集解决方案。

但:

一些主机 url XY.dyndns.org 用于 VPN(unifi l2tp)连接,我不知道如何设置 php 或 .htaccess 以进行重定向,如 dyndns.org url。dyndns 是具有 ip 设置的主机

我有的:

  • 动态IP
  • 一些域 vpn.domain.com 从家里的调制解调器获取我的外部 IP(域服务器在某些数据中心)
  • 解决方案必须使用 JS、PHP 或 .htaccess

我想要的是:

vpn.domain.com 用作 VPN 目标服务器域 此域应从家庭重定向到我的外部 IP,这是真正的 VPN 接入点。当我直接使用 IP 时,会正确创建 VPN 隧道。

我已经尝试过使用 php 标头位置和 .htaccess

所以我没有知识,请带我走向正确的方向。

我是什么

坦克

0 投票
0 回答
426 浏览

swift - NEVPNManager 与 L2TP 协议

我正在使用 VPN,我问了这个问题,但现在我想使用 L2TP 协议而不是 IPSec 协议创建一个 VPN 配置文件。

我有我需要的所有信息(用户、服务器、密码、预共享密钥)并且服务正确打开。我正在尝试通过在 App Store 中创建正确的设置配置文件(如应用程序“1.1.1.1”)来创建一个简单地连接到 VPN 的应用程序。

我正在使用 NEVPNProtocolIPSec 类,但我认为是错误的。L2PT 协议没有类?

在设备设置中,我可以为 L2PT 手动配置 VPN,但我如何使用 NEVPNManager 来配置?

这是我的代码:

我没有工作,但它为 IPSec 创建了一个 VPN 配置,但我想要 L2PT。请问其他人可以帮助我吗?

也许有人面临同样的问题。

0 投票
0 回答
4813 浏览

raspberry-pi - VPN 客户端配置使用 IPsec/L2TP 使用 debian raspberry pi

我正在使用 IPsec/L2TP 将我的树莓派设置为 VPN 客户端。我正在使用以下指南使用命令行配置 Linux VPN 客户端

  1. 设置完所有设置后,我遇到了几个问题,当我尝试使用ipsec up myvpn. 我收到以下错误

    /usr/local/sbin/ipsec: 未知 IPsec 命令 "up" ("ipsec --help" 用于列表)

  2. 设置并重新启动我的树莓派后,当我运行时 ipsec verify,我得到了ipsec verify 的表状态表,其中我的 pluto 没有运行(错误 1)并且有一个错误ikev1

我的动机是使用IPsec/L2TP在我的树莓派上设置 VPN 客户端, 以便我可以访问我的远程 VPN 客户端。此外,我正在设置我的 IPsec/L2TP strongSwanxl2tpdIpsec verify在路径 ipsec verison 上使用的是Libreswan 3.27 (netkey) on 4.14.98-v7+. 我试图改变它但没有成功。任何关于上述问题的建议都会很棒,我将不胜感激。问候萨奇布

0 投票
1 回答
924 浏览

vpn - IPSec L2TP - 隧道通过和握手间隔(华为路由器)

在服务器上,我使用 hwdsl2 用户的“setup-ipsec-vpn”脚本安装了 VPN。我在这里找到了他

由于其操作,该脚本为我提供了:用户名密码IPsec PSK 代码

但是,在路由器上,我必须输入有关Tunnel passwordhandshake intervalAuthentication的信息。您可以在此处查看带有路由器配置的选项卡。不幸的是,我找不到这样的信息(在 Github 和服务器上都没有)。

路由器是华为B525。

在这种情况下我能做什么?不填写这些字段?以某种方式更改某些配置?

0 投票
1 回答
502 浏览

routing - 访问 L2TP 服务器后面的 LAN 子网

我已经尝试解决这个问题很长时间了。情况如下:

计算机 -> 华为 B525 路由器 -> 带 xl2tpd 的 VPS -> 互联网

我有一个华为B525路由器。它启用了从 192.168.8.0/24 网络分配 IP 地址的 DHCP 服务器。我还在 VPS 上安装了 VPN (L2TP)。

将华为路由器连接到 VPN 后,其 IP 地址为 192.168.42.10。网关的 IP 地址为 192.168.42.1(如预期的那样)。互联网工作正常,华为路由器后面的设备可以ping通连接到VPN的其他设备。但是我无法从其他设备访问提到的机器(在路由器后面),例如。也连接到 VPN(或从 VPS 本身)。

完美的解决方案是从 VPS 和其他 VPN 设备访问 192.168.8.0/24 设备及其端口。

路线打印:

路由表

iptables - 过滤器:

iptables - 过滤器

iptables - nat:

iptables-nat

0 投票
1 回答
211 浏览

sockets - 如何在两台机器之间通过 IP 建立非静态 L2TPv3 套接字连接

我没有找到任何如何通过 IP 实现 L2TPv3 的示例

我发现只有几个 L2TP 的开源实现,它们是:

  • openL2TP:https ://github.com/breed/openl2tp不支持 L2TPv3 并使用 UDP
  • tunneldigger:https ://github.com/wlanslovenija/tunneldigger支持 L2TPv3 但也使用 UDP

L2TPv3 rfc 没有说明它是如何在 linux 中实现的,这很明显

内核文档: https ://github.com/torvalds/linux/blob/master/Documentation/networking/l2tp.txt说我们必须使用 netlink + 标准套接字来告诉我们一些事情。但我不明白为什么我们必须使用 netlink 和标准套接字?

内核头文件: https ://github.com/torvalds/linux/blob/master/include/uapi/linux/l2tp.h它有大量用于 netlink + l2tpip 结构的枚举和命令。我对如何正确使用它们感到困惑。

以及L2TPv3控制交换建立的最后部分(SCCRQ、SCCRP、SCCCN)。阅读内核文档后,我只有自己的理解,这可能不正确,但在这里。

服务器端:

  1. 准备隧道 0 套接字
  2. 为 l2tp 创建 genl 套接字
  3. 创建标准套接字填充 l2tpip 结构(套接字创建 + 绑定),其中 tunnel_id 为 0
  4. 使用 genl socket 创建隧道 0
  5. 等待 SCCRQ(据我了解,标头的控制连接 ID 等于零)

  6. 在隧道 0 套接字上收到 SCCRQ

  7. 从收到的 SCCRQ 中获取 AVL 的分配控制连接 ID,该 ID 在另一侧是 received_tunnel_id
  8. 为我方生成 local_tunnel_id
  9. 创建标准套接字填充 l2tpip 结构(套接字创建 + 绑定),其中 tunnel_id 为 local_tunnel_id
  10. 使用 genl socket 创建带有 local_tunnel_id 的隧道
  11. 发送 SCCRP,其标头的控制连接 ID 等于 received_tunnel_id 和 AVL 分配的控制连接 ID 等于 local_tunnel_id
  12. 在该套接字上等待 SCCN

客户端

  1. 我不知道那一边是怎么做的

据我了解,进一步的通信将通过第二个标准套接字进行,并且隧道 id 零仅接收 SCCRQ

很高兴能澄清这些细节