我有一个防火墙/路由器(不做 NAT)。
我用谷歌搜索并看到了相互矛盾的答案。看来 UDP 500 是常见的。但其他人很困惑。1701、4500。
有人说我还需要允许 gre 50、或 47、或 50 和 51。
好的,哪些端口是 IPSec/L2TP 在没有 NAT 的路由环境中工作的正确端口?即我想使用内置的 Windows 客户端连接到此路由器/防火墙后面的 VPN。
也许这里的一个很好的答案是指定在不同情况下要打开哪些端口。我认为这对很多人来说都是有用的。
我们已经使用本教程设置了一个 L2TP VPN 服务器,一切都像魅力一样。
唯一的问题是
我们不希望客户端使用此 VPN 路由所有流量,仅路由特定子网,例如 10.0.0.0/20
在 Mac 上,我们需要使用命令手动设置路由,但对于移动设备,似乎没有办法这样做?
那么,是否可以为子网“10.0.0.0/20”自动配置客户端?
我正在尝试在我们的 ASA5520 上设置 L2TP/IPSec,以支持我们的一位开发人员的边缘案例。当您使用内置 vpn 子系统时,Windows VPN 子系统显然会存储用于登录的 kerberos 或 NTLM cookie,而 Cisco VPN 客户端和 AnyConnect 客户端不会这样做。
当我尝试通过 Windows 7 连接到 VPN 时,连接失败:
%ASA-5-713257: Phase 1 failure: Mismatched attribute types for class Group Description: Rcv'd: Unknown Cfg'd: Group 2
%ASA-5-713257: Phase 1 failure: Mismatched attribute types for class Group Description: Rcv'd: Unknown Cfg'd: Group 2
%ASA-5-713257: Phase 1 failure: Mismatched attribute types for class Group Description: Rcv'd: Unknown Cfg'd: Group 2
%ASA-5-713257: Phase 1 failure: Mismatched attribute types for class …Run Code Online (Sandbox Code Playgroud) 我了解您可以使用 IPSec 安全地传输数据。根据维基百科页面和其他一些来源,它还可以隧道传输 IP 数据包,然后通过接口路由它们。这将创建一个 VPN,其中一个子网能够以非常安全的方式访问另一个子网。
但是我不明白的是为什么有些人将 L2TP 添加到堆栈中。我知道 L2TP 是由 IPSEC 保护的,但是如果 IPSEC 已经有一个隧道实现,它会不会导致更多的开销?
当使用普通 IPSec 可以达到相同的结果时,L2TP/IPSEC 有什么吸引力?
在 Ubuntu 9.04 (Jaunty) 桌面上运行 pptp 客户端很容易:
sudo apt-get install network-manager-pptp
Run Code Online (Sandbox Code Playgroud)
但是,我似乎找不到文档找到相应的 L2TP 客户端来远程连接到我们的 Windows VPN 服务器。我有一个来自我们离线 CA 的证书(pkcs12 格式,在一个文件中包含公钥/私钥 + CA 公共证书),在 Windows 中,我只需通过 MMC 证书管理单元安装,在本机客户端中选择 L2TP 连接,我很乐意去。
有人对在 Ubuntu 中设置 L2TP 有任何想法吗?或者我应该只使用 PPTP——我的理解是它比 L2TP 安全得多,但这仍然是真的吗?如果我坚持使用 PPTP,是否需要确保 EAP 身份验证?提前致谢。
我按照各种 教程/文档在 Ubuntu 12.04 服务器(在 EC2 上)上配置了 openswan 和 xl2tpd,这些教程/文档似乎在很大程度上说的是相同的事情,但最近这个.
但是,我尝试从 Windows(我使用共享机密和用户名/密码配置)连接失败。日志表明已建立 IPsec 隧道,但没有任何反应。
以下是数据包转储和日志活动(系统日志中没有发生任何事情,因此没有 iptables 日志消息):
$ sudo tcpdump -n host 64.236.139.254 and not port 22
21:00:49.843198 IP 64.236.139.254.26712 > 10.252.60.213.500: isakmp: phase 1 I ident
21:00:49.844815 IP 10.252.60.213.500 > 64.236.139.254.26712: isakmp: phase 1 R ident
21:00:49.928882 IP 64.236.139.254.26712 > 10.252.60.213.500: isakmp: phase 1 I ident
21:00:49.930819 IP 10.252.60.213.500 > 64.236.139.254.26712: isakmp: phase 1 R ident
21:00:49.972728 IP …Run Code Online (Sandbox Code Playgroud) 我有一台运行 L2TP/IPSec VPN 服务器的 Mac OS X Server (10.9) 机器。配置似乎没问题,服务器和 VPN 的主机名都设置为 DynDNS 主机名。服务器配置在带有端口转发的 AirPort Extreme 路由器后面,连接到 Arris 调制解调器/路由器,路由器禁用(桥接)。服务器配置有静态内部 IP,路由器也通过 DHCP 绑定其 MAC 地址以确保内部地址一致。
如果我输入服务器的内部 IP 地址 (10.0.1.x) 并尝试从网络内部连接到 VPN 服务器,则一切正常。但是,如果我输入外部主机名(DynDNS 名称)并尝试再次从网络内部连接,则无法连接。在网络外部(例如通过 LTE)时,它同样无法连接。
其他服务(SSH、远程桌面等)在网络内外都可以正常连接。只有 VPN 受到影响。我可以确认可以从 SSH 和远程桌面(端口 22/5900)访问服务器。
我进一步确认,除了其他服务使用的其他端口外,路由器还转发端口 500(UDP)、1701(UDP) 和 4500(UDP)。
当我尝试连接时,客户端控制台上会出现以下内容:
12/16/13 11:13:33.213 PM configd[28]: SCNC: start, triggered by (15822) com.apple.prefe, type L2TP, status 0, trafficClass 0
12/16/13 11:13:33.229 PM pppd[15967]: publish_entry SCDSet() failed: Success!
12/16/13 11:13:33.230 PM pppd[15967]: publish_entry SCDSet() failed: Success!
12/16/13 11:13:33.230 PM pppd[15967]: …Run Code Online (Sandbox Code Playgroud) 我想在桥接模式下设置站点到站点 IPsec:也就是说,不需要修改每个站点中的主机即可使用 IPsec 网关,但 IPsec 网关充当伪线。
我的计划是:
此后,到达任何网关的 eth0 的任何第 2 层数据包都应自动通过隧道 (L2TP) 安全地 (IPsec) 到其他网关。
它是否正确?这是推荐的方法吗?
另外:如何为> 2 个网关执行此操作?每个网关是否都需要与其他网关建立 IPsec SA和L2TP 隧道?理想情况下,我想让 gw 不需要了解其他每个 gw 的明确知识,但我找不到可靠的甚至标准的方法来做到这一点。
我的 Ubuntu 笔记本电脑上有 L2TP VPN 连接,我想连接到本地网络中的服务器。如何绕过 VPN 连接?