pfSense使用CloudFlare动态域名,配置Let’s Encrypt证书实现SSL安全访问

通过配置CloudFlare动态域名,方便了我们远程访问pfSense防火墙,但在没有设置SSL签名证书的前提下,每次登录都会提示连接不安全。为了让动态域名访问安全挂锁,可以在pfSense防火墙上使用Let’s Encrypt通过DNS-01验证创建免费SSL证书,并自动续订SSL证书。该方法不需要开放防火墙的80、443端口,可以解决国内运营商的限制。

前提条件

  • 公网IP。
  • CloudFlare注册了顶级域名。

设置动态域名

访问CloudFlare,在顶级域名上为防火墙添加一条A记录。IPv4地址可以随便输入,因为后面可以通过pfSsense防火墙的动态域名程序自动修改,代理选项暂时不选。本示例设置的动态域名为jx.pfchina.site。

回到pfSense防火墙,转到服务>动态域名,添加CloudFlare动态域名条目,输入 主机名,域名以及注册的用户名,密码不能使用帐号的密码,必须输入CloudFlare账户的Global API Key。

单击保存并强制更新后,缓存IP变为绿色,即表示动态域名已获取正确的IP了。

回到CloudFlare的DNS设置栏,会发现添加的A记录也获取到了防火墙WAN地址。

设置防火墙规则

由于运营商封闭了80、443端口,需要将防火墙默认访问端口修改为外网可访问的端口,本示例使用5678端口。

转到防火墙>规则策略,在动态域名监听的WAN接口上,开放5678端口的访问。为了保证安全,该规则的源地址应该限定在安全的范围内。

转到系统>高级设置,将默认访问端口修改为5678,协议选https。

在备用主机名里输入动态域名,或将禁用DNS重绑定检查和HTTP_REFERER选项选中,以避免触发防火墙的登录保护。

完成以上步骤后,浏览器输入https://jx.pfchina.site:5678,就可以远程访问防火墙。只不过因为没有配置SSL证书,还处于没挂锁的状态。

证书设置

转到防火墙>系统>插件管理,在可用插件里搜索Acme并安装。

导航到服务>Acme Certificates,帐户密钥选项卡,添加一个帐号。输入帐户密钥的名称,Acme服务器选择Production(生产),单击创建新帐户密钥,然后单击注册Acme帐户密钥,最后选择保存即可。

单击证书选项卡,点击右下角添加证书按钮,输入证书的名称、选择证书的状态、Acme帐号以及私钥的算法。

在Domain SAN list选项,Domainname输入*.pfchina.site或jx.pfchina.site,Method选DNS-Cloudflare,输入CloudFlare域名的其他相关信息,这些信息都可以在CloudFlare找到。

key选项对应的是CloudFlare API 密钥,可以在个人资料处查询,如下图所示:

Token选项对应的是API令牌,需要在个人资料处选择根域名进行创建,如下图所示:

点击创建令牌,并选择编辑区域DNS,点击使用模板。

输入相关信息:

点击继续以显示摘要:

点击创建令牌,会显示令牌的字符内容。这里显示的内容创建以后不可查询,所以请注意保存。

Account ID和Zone ID可以在站点的概述页面找到,在该页面也可以点击获取您的API令牌快速进入key和Token设置页面,如下图所示:

在Actions list选项,添加一条Shell Commamd命令:/etc.rc.restart_webgui

现在返回到证书选项卡,然后单位颁发/续订按钮,尝试创建证书,这需要一些时间,大概两分钟左右。

出现以上提示,表示证书创建成功。回到证书选项卡,可以看到证书的相关信息。

证书有效期只有三个月,在常规选项卡选中定时任务,让程序自动申请延期。

现在转到系统>证书管理,在CAs选项卡上,会多出两个CA。

在证书选项卡,多出一个Acme创建的证书。

在证书吊销选项卡,会看到Acmecert 吊销列表。

最后转到系统>高级选项,管理员访问选项卡,在SSL/TLS证书选项下拉菜单中选择由Acme创建的SSL证书,然后单击保存。

刷新一下浏览器,挂锁成功!

相关文章:

评论

  1. 小白
    6 月前
    2023-10-29 9:32:40

    你好,請問Actions list选项在哪裡?

    • 鉄血男兒
      博主
      小白
      6 月前
      2023-10-29 9:43:28

      仔细找找

发送评论 编辑评论


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