许多类型的设备可以使用IPsec连接到pfSense,最引人注目的是Android(手机和平板电脑)和iOS(iPhone,iPad,iPod Touch等)设备。本文档涵盖了移动设备最常用的设置,包括IPsec使用认证和相互预共享密钥。
本文的设置基于pfsense2.34,已经过测试并在各种Android和iOS设备上正常工作。
IPsec服务器设置
在pfSense防火墙端进行设置
Mobile Clients
· 导航到 ××× > IPsec, Mobile Clients选项卡
· 设置 Enable IPsec Mobile Client Support(启用IPsec移动客户端支持)
· 选中 Provide a virtual IP address to clients(为客户端提供虚拟IP地址)
· 在框中输入未使用的子网,选择子网掩码
· 设置任何其他所需的选项
· 单击Save(保存)
· 单击Apply Changes(应用更改)
· 单击Create Phase1 (如果出现)
Phase 1 设置
· 导航到 ××× > IPsec
· 在列表中找到移动Phase 1
· 输入以下设置:
· Authentication method:Mutual PSK + Xauth
· Negotiation mode:aggressive
· My identifier:My IP address
· Peer identfier: User Distinguished Name, ***users@example.com
· Pre-Shared Key: aaabbbccc (使用更长并且随意的密码)
· Policy Generation: Unique
· Proposal Checking: Strict
· Encryption Algorithm:AES 128
· Hash Algorithm: SHA1
· DH Key Group: 2
· Lifetime: 86400
· NAT Traversal: Force
· 单击Save
Phase 2 设置
· 输入以下设置:
· Mode: Tunnel
· Local Network: (本地网络,例如:LAN或0.0.0.0/0通过×××发送所有类容)
· Protocol: ESP
· Encryption Algorithms: AES 128 *only*
· Hash Algorithms: SHA1 *only*
· PFS key group: off
· Lifetime: 28800
· 如果有必要,为其他本地网络添加其他phase 2条目
· 单击 Save
· 单击Apply Changes
用户设置
· 导航到System > User Manager
· 添加用户,给用户授予User – ×××:– IPsec Xauth Dialin权限,或将其添加到具有此权限的组中。
· 请注意,对于认证用户,使用的密码是用户的密码,而不是“IPsec预共享密钥”字段。 这用于非认证的IPsec。
防火墙规则
不要忘了添加防火墙规则以允许客户端传入的流量
· 导航到Firewall > Rules, IPsec选项卡
· 添加与许的流量相匹配的规则,或添加规则以通过任何协议/任何源/任何目的地并允许所有内容。
IPsec SA 偏好
· 导航到System > Advanced, Miscellaneous 选项卡
· 取消选中 Prefer Old IPsec SA
手机设置 (安卓Android)
注意:这些设置不存在于所有Android设备上。 有关更多信息,请参阅Android ×××连接。
· 进入设置, 网络 & 无线,××× 设置,高级IPsec ×××s
· 点菜单按钮,然后添加。
· 连接模版: PSK v1 (AES, xauth, aggressive)
· ×××名称:pfSense ××× (或其他描述)
· ××× 服务器:IP地址或服务器
· 预授权密钥类型: text
· 预预授权密钥: Phase 1上设置的PSK
· 标示符类型:User FQDN
· 标示符: ***users@example.com
· 用户名: xauth username
· 密码: xauth password
· 内部子网IP:在Phase 2上设置的子网
· 完成
手机设置 (苹果iOS)
· 进入手机>设置 > ×××
· 添加×××配置
· 选择IPsec
· 描述: pfSense ××× (或其他描述)
· 服务器:IP地址或服务器名称
· 帐户: 认证的用户名
· 密码:认证密码 (或留空白以供每次提示)
· 群组名称:***users@example.com
· 密钥:Phase 1上设置的PSK
故障排查
默认情况下,iOS将通过×××隧道传送所有流量,包括到互联网的流量。 如果互联网站点连接无法访问,那就必须将DNS服务器推送到客户端。
上述原因是4G提供商可能会给移动设备只能从其网络访问的DNS服务器。 一旦连接到×××,DNS服务器将通过×××而不是3G网络访问,造成DNS查询被丢弃。 必须提供本地/公共DNS服务器才能解决这个问题。
2017-11-29
转载于:https://blog.51cto.com/fxn2025/2045513