千家信息网

pfSense L2TP和IPsec的设置

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,L2TP / IPsec是一种常见的×××类型,它将L2TP(一种不安全的隧道协议)包含在使用IPsec传输模式构建的安全通道内。从pfSense 2.2-RELEASE开始支持L2TP / IPse
千家信息网最后更新 2024年11月22日pfSense L2TP和IPsec的设置

L2TP / IPsec是一种常见的×××类型,它将L2TP(一种不安全的隧道协议)包含在使用IPsec传输模式构建的安全通道内。从pfSense 2.2-RELEASE开始支持L2TP / IPsec 本文将介绍如何配置服务器和设置客户端。

L2TP设置

配置 L2TP 服务器

· 导航到××× > L2TP

· 选择启用L2TP服务器

· 选择WAN接口

· Server Address (服务器地址)设置为未使用的专用子网IP,如192.168.32.1 注意: 这不是公共IP地址或L2TP服务的"监听"IP,它是一个本地IP地址,用作客户端上的"网关"

· Remote Address Range (远程地址范围)设置为未使用的专用子网,如192.168.32.128

· Subnet Mask(子网掩码)设置为客户端地址范围的适当值,例如25

· Number of L2TP Users L2TP用户数)设置为预期的L2TP用户的最高并发数,例如8

· Secret(密码)选项留空

· 设置Authentication Type (认证类型)为CHAP

· 设置L2TP DNS 服务器或留空

· 如果需要,设置RADIUS选项

添加 L2TP 用户

如果未使用RADIUS,请将L2TP用户添加到pfSense

· 导航到××× > L2TP, Users(用户)选项卡

· 单击 "+"添加新用户

· 填写 Username(用户名), Password/Confirmation(密码和确认密码)

· 如果需要,在所选择的子网中设置静态IP address IP地址)

· 单击保存

· 根据需要重复添加更多用户

IPsec设置

设置好L2TP服务器后,我们来进行IPsec的设置。 以下设置已经过测试并有效,但是其他类似的设置也可能会起作用。

Mobile Clients Tab(移动客户端)

· 导航到××× > IPsec, Mobile Clients(移动客户端)选项卡

· Enable IPsec Mobile Client Support启用IPSec移动客户端支持

· User Authentication (用户身份验证)设置为本地数据库

· 不要选中Provide a virtual IP address to clients为客户端提供虚拟IP地址

· 不要选中Provide a list of accessible networks to clients提供可访问的网络列表给客户端

· 单击Save(保存)

Phase 1

· 单击Tunnels(隧道)选项卡

· 设置 Enable IPsec(启用IPsec

· 单击Save(保存)

· 单击Create Phase1(创建Phase1)按钮,或编辑现有的移动IPsec Phase 1

· 如果没有Phase 1, 并且没有出现创建Phase1按钮,请返回到移动客户端选项卡,然后单击它。

· 设置 Key Exchange version 密钥交换版本)为 1KEv1

· 填写Description描述说明)

· 设置Authentication method (认证方法)为Mutual PSK

· 设置Negotiation Mode(谈判模式)为 Main

· 设置 My Identifier(我的标识符)为 My IP address

· 设置Encryption algorithm (加密算法)为 AES 256

· 设置 Hash algorithm(哈希算法)为 SHA1

· 设置 DH key groupDH密钥组)为14 (2048 bit)

· 注意: IOS和其他平台可能与DH key group 2 配合使用

· 设置Lifetime(有效期) 28800

· 不要选中 Disable Rekey禁用预授密钥

· 不要选中Disable Reauth(禁用预认证

· 设置 NAT TraversalNAT穿透)为 Auto

· 设置 Enable DPD启用失效对等体检测, 设置10秒和5次重试

· 单击 Save(保存)

Phase 2

· 单击 "+"显示Mobile IPsec Phase 2列表

· 单击"+"添加新的 Phase 2 条目,或单击 "e"编辑已有条目

· 设置 Mode(模式)为 Transport

· 填写Description(描述说明)

· 设置Protocol(协议) ESP

· 设置 Encryption algorithms(加密算法)AES 128

· 设置 Hash algorithms(哈希算法) SHA1

· 设置 PFS Key Group(密钥组)为off

· 设置 Lifetime(有效期) 3600

· 单击 Save(保存)

Pre-Shared Key(预共享密钥)

IPsec隧道已配置完成,现在必须以特殊的方式配置预共享密钥,这对所有客户端都是常见的。

· 导航到 ××× > IPsec, Pre-Shared Keys选项卡

· 单击 "+" 添加新的PSK

· 设置Identifier(标识符)为 allusers

· 注意: "allusers"名称是pfSense用于配置通配符PSK的特殊关键字,这对于L2TP / IPsec来说是必需的。 不要为此PSK使用任何其他标识符!

· 设置Secret Type (加密类型)为PSK

· 输入 Pre-Shared Key(预共享密钥), aaabbbccc - 可以比这个更长一些,那将更随机、更安全!

· 单击Save(保存)

· 单击Apply Changes(应用更改)

Firewall Rules and NAT(防火墙规则和NAT

从客户端主机通过IPsec传输流量以建立L2TP隧道,并且在L2TP内部将实际的隧道×××流量传递到跨×××的系统,必须要设置防火墙规则。

IPsec RulesIPsec规则)

· 导航到Firewall > Rules, IPsec选项卡

· 查看当前规则。 如果有一个"允许全部"样式规则,则不需要另外添加。 可以继续下一个任务。

· 单击 "+"添加新规则

· 设置 Protocol (协议)为any,设置 Source(源) Destination (目标)为any

注意: 这不必通过所有流量,但至少必须通过L2TPUDP端口1701)到防火墙的WAN IP地址

· 单击Save(保存)

· 单击Apply Changes(应用更改)

L2TP RulesL2TP 规则)

· 导航到 Firewall > Rules, L2TP ×××选项卡

· 查看当前规则。 如果有一个"允许全部"样式规则,则不需要另外添加。 可以继续下一个任务。

· 单击 "+"添加新规则

· 设置 Protocol (协议)为any,设置 Source(源) Destination (目标)为any

注意:这不必传递所有流量,更严格的规则是可以限制客户端可以去的地方

· 单击Save(保存)

· 单击Apply Changes(应用更改)

Outbound NAT(出站NAT

如果客户端必须通过×××,然后再返回到Internet,则很有可能需要出站NAT

· 导航到Firewall > NAT, Outbound 选项卡

· 检查规则,看看它们是否适用于L2TP客户端。 在自动或混合模式下,L2TP子网应列在自动规则部分。

· 如果启用手动出站NAT,并且不存在相应规则,则添加规则来覆盖L2TP客户端。

DNS ConfigurationDNS配置)

如果DNS服务器提供给客户端,并且如果使用未绑定DNS解析器,则为L2TP客户端选择的子网必须添加到它的访问列表。

· 导航到 Services > DNS Resolver, Access Lists(访问列表) 选项卡

· 单击"+"添加新的访问列表

· 输入 Access List Name(访问列表名称), ××× Users

· 设置Action(动作)为 Allow(允许)

· 单击 "+"添加Networks网络

· "网络"框中输入×××客户端子网,例如。192.168.32.128

· 选择正确的CIDR,例如: 25

· 单击Save(保存)

· 单击Apply Changes(应用更改)

Client Setup(客户端设置)

Windows

现在我来创建客户端×××连接。 根据正在使用的Windows的版本,有几种方法来添加这样的连接。 你可以根据需要来进行调整。

· 在客户端电脑上打开网络和共享中心

· 单击设置新的连接或网络

· 选择连接到工作区

· 单击下一步

· 如果没有就创建一个新的连接

· 单击下一步

· 单击使用我的Internet连接(×××)

· Internet地址栏输入IP地址或主机名

· 输入目标名称以标识连接

· 单击创建

连接已创建,但有几个默认值还必须进行修改才能正确使用。 例如,类型默认为自动,如果存在PPTP连接,则会锁定到PPTP连接,这将是非常糟糕的。 所以一定要先修改部分默认:

· Windows中的网络连接/适配器设置中,找到刚才创建的连接

· 连接上单击右键

· 单击属性

单击安全选项

· 设置×××类型为使用IPsecL2TP / IPsec)的2层隧道协议 IPsec (L2TP/IPsec)

· 单击高级设置

· 选择使用预共享的密钥作身份验证

· 输入密钥,例如: aaabbbccc

· 单击确认

· 设置数据加密为:需要加密(如果服务器拒绝将断开连接)

· 设置身份验证/允许使用这些协议质询握手身份验证协议 (CHAP) H- 以匹配L2TP中的设置

· 单击确认

Try it Out(试试看)

经过上面的设置,现在应该可以连接到×××了。

Troubleshooting(故障排查)

Firewall traffic blocked outbound(防火墙流量阻塞了出站)

如果防火墙日志显示L2TP上的流量阻塞"out",则添加一个浮动防火墙规则来解决该问题发生:

· 导航到 Firewall > Rules, Floating(浮动)选项卡

· 单击 "+"添加新规则

· 设置Action动作 Pass通过)

· 设置 Quick(快速)

· 接口选择为L2TP ×××

· 设置 Direction(方向) Out

· 设置Protocol (协议)为 TCP

· 根据需要设置 Source/Destination (源和目标),或设置为any

· 高级选项:

· 设置TCP FlagsTCP标识) Any flags

· 设置State Type (状态类型)为Sloppy State

Precautions(注意事项)

如果客户端在NAT后面,Windows客户端将不能连接到服务器。 可以考虑通过IKEv2来实现×××连接(如果你通过路由上网,而不是直接分配外网IP上网,将不能使用L2TP / IPsec类型的×××)。可以参考这篇文章:http://fxn2025.blog.51cto.com/24757/1983419

原文地址:https://doc.pfsense.org/index.php/L2TP/IPsec

2017531


0