移动客户端通过IPsec VPN访问OPNSense防火墙配置指南

前面介绍了移动客户端通过IPsec VPN访问pfSense防火墙的配置方法,本文将介绍通过IPsev VPN远程访问OPNsense的设置。所有示例都在OPNsense 22.1.6-amd64系统上完成。

如果需要进一步交流防火墙方面的使用经验,可以加入QQ群286850453讨论。也欢迎关注微信公公号”pfSense防火墙”,方便及时接收推送的第一手文章。

防火墙IPsec配置

由于配置证书及在手机上导入证书操作相对复杂,本次配置的IPsec采用Mutual PSK + Xauth认证方式。防火墙IPsec的配置主要包括用户配置、移动客户端配置、阶段1和阶段2配置、防火墙规则配置等五个方面。

用户配置

添加一个VPN组,并赋予组访问IPsec VPN的权限。

导航到系统>访问>组菜单,添加一个IPSEC_User用户组。

保存后,在新添加的组列表右则,点击编辑图标,给组赋予访问IPsec 所有设置的权限。

然后导航到系统>访问>用户菜单,添加一个远程访问用户。并将该用户添加至刚才新建的IPSEC_User组中。

输入IPsec预共享密钥,且必须与后面阶段1中设置的IPsec预共享密钥相同。

移动客户端配置

导航到VPN>IPsec>移动客户端菜单,设置以下参数:

  • 启用 IPsec 移动客户端支持
  • 用户认证:本地数据库
  • 强制本地组:IPsec_User
  • 选中向客户端提供虚拟IP地址,注意:这里的地址不能是防火墙上任何已设置的地址。
  • 其他选项保持默认。

IPSec阶段1设置

保存移动客户端配置后,会提示创建阶段1配置。阶段1参数如下:

  • 连接方式:开始流量
  • 密钥交换版本选auto或V1
  • 认证方法:Mutual PSK + Xauth
  • 我的标识符:我的IP地址
  • 输入预共享密钥,须与前面添加的远程访问用户的IPsec预共享密钥相同。
  • 加密算法:AES256\SHA1
  • DH密钥组:1024
  • 生存时间:86400
  • 设置策略:必须选中。解决在VPN成功连接后,不能远程访问的问题。
  • NAT穿越:启用
  • 其他选项参照下图进行设置

IPSec阶段2设置

保存IPSec阶段1设置后,在列表右侧,点击“+”添加阶段2条目:

  • 模式:IPv4隧道
  • 本地网络:LAN 子网
  • 密钥交换协议:ESP
  • 加密及哈希算法AES256\SHA1
  • PFS密钥组:关
  • 有效期:28800

防火墙规则配置

转到防火墙>规则,添加以下防火墙规则

在IPsec选项卡上,添加一条any to any规则,如下图所示:

在WAN选项卡上,放行UDP500和4500端口,如下图所示:

至此,OPNSense上的IPsec VPN配置完成。

手机端设置

以下为IOS上的配置。转到设置>VPN,点击下面的添加VPN配置,输入各项VPN参数:

  • 服务器:OPNSense防火墙的公网IP
  • 账户密码:添加的远程用户和密码
  • 密钥:在阶段1中设置的预共享密钥
  • 其他选项留空

保存后,在状态的右则,滑动连接按钮即可。

测试连接

导航到VPN>IPsec>,可以查看VPN的连接状态:

在手机端,输入防火墙的LAN访问地址,检查是否能正常远程访问OPNsense防火墙。

注意,连接VPN后,手机端将无法访问其他网络。

至于安卓手机的配置,大同小异,这里不再赘述。

评论

  1. 新手
    2 年前
    2022-5-02 16:10:34

    我的安卓手机没有IKEV1, Mutual PSK + Xauth,
    只有 3个类型:
    IKEV2/IPSec MSCHAPV2
    IKEV2/IPSec PSK
    IKEV2/IPSec RSA
    请问,OPNsense 要如何设置?

    • 鉄血男兒
      博主
      新手
      2 年前
      2022-5-04 11:14:48

      把交换版本和认证方式改成跟你手机一样的即可。

      • 新手
        鉄血男兒
        2 年前
        2022-5-04 20:04:51

        安卓手机连接时,设置类型 IKEV2/IPSec PSK ,“IPSec标识符”填写什么?只有预共享密钥,没有填写账户、密码这两项?

        • 鉄血男兒
          博主
          新手
          2 年前
          2022-5-05 8:38:02

          带Xauth才需要用户密码。标识符要看你在阶段1中设置的是什么,一般是IP地址,主机名或专有名称这些。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇