pfSense、OPNsense 增加阿里云和腾讯云动态域名解析支持

很多人会把 pfSense 或 OPNsense 作为家庭、工作室、小型机房的主路由使用。如果公网 IP 是动态变化的,Dynamic DNS 就非常重要:它可以在 WAN 地址变化时,自动把域名解析记录更新到当前公网 IP。

pfSense 和 OPNsense 自带了不少国外 DNS 服务商支持,例如 Cloudflare、GoDaddy、Route53 等,但国内常用的阿里云 DNS 和腾讯云 DNSPod 支持并不完整。为了方便国内用户使用,我整理了三个补丁项目,补丁安装后,就可以在Dynamic DNS 页面中直接选择阿里云或腾讯云服务,填写 API 密钥、域名和主机记录,自动更新解析。如下图所示:

pfSense上的阿里DNS解析

OPNsense上的阿里DNS解析

增加内容

pfSense CE / pfSense Plus 支持以下服务:

  • Aliyun DNS
  • Aliyun DNS (v6)
  • Tencent Cloud DNS
  • Tencent Cloud DNS (v6)

OPNsense 支持以下服务:

  • aliyun:Aliyun DNS
  • tencentcloud:Tencent Cloud DNS
  • dnspodcn:保留原 DNSPod 中国服务名,并增强为支持自动新增记录

功能包括:

  • 自动检测当前公网 IPv4 / IPv6
  • 查询 DNS 记录是否存在
  • 记录存在时自动更新
  • 记录不存在时自动新增
  • 支持根域名记录 @
  • 支持 TTL 设置
  • 腾讯云支持自定义解析线路

安装方法

1.pfSense

下载附件,解压缩后,上传到pfSense,在终端运行以下命令安装:

sh install.sh
注意:pfSense CE 和 pfSense plus 使用不同的安装包

2.OPNsense

在shell 终端环境执行以下命令安装社区插件库 :

fetch -o /usr/local/etc/pkg/repos/opnwall.conf \https://opnwall.github.io/OPNsense-repo/opnwall.conf
pkg update -f

更新软件包数据库后,进入:系统>固件>插件,找到 os-ddclient-opnwall 软件包,点击右侧的安装按钮进行安装。

安装前,需要卸载 OPNsense 官方的 os-ddclient 插件包

配置方法

1.pfSense

导航到服务> 动态DNS,添加一个客户端。

1.阿里云配置

服务类型选择:Aliyun DNS 或 IPv6:Aliyun DNS (v6)

字段填写:

  • 监控接口:wan
  • 主机名:例如 nas;域名填写 example.com
  • 用户名: AccessKey ID
  • 密码: AccessKey Secret
  • TTL: 可选,默认 600

主机名: nas,域名: example.com,最终会更新:nas.example.com。

如果要更新根域名,则主机名: @, 域名: example.com。

2.腾讯云配置

服务类型选择:Tencent Cloud DNS或 IPv6:Tencent Cloud DNS (v6)

字段填写:

  • 监控接口:wan
  • 主机名:例如 nas;域名填写 example.com
  • 用户名: SecretId
  • 密码:SecretKey
  • 区域ID:例如 example.com 或不填
  • TTL: 可选,默认 600

主机名: nas,域名: example.com,最终会更新:nas.example.com。

如果要更新根域名,则主机名填: @, 域名填: example.com。

2.OPNsense

进入:服务 > 动态DNS > 常规设置,选中启用,后端选项 native。如果是ipv6解析,高级选项选中允许ipv6。

1.阿里云配置

新增账户:

  • 描述:输入一个描述说明
  • 服务:Aliyun DNS
  • 用户名: AccessKey ID
  • 密码:AccessKey Secret
  • 区域:example.com
  • 主机名:nas;域名填写 example.com
  • 检查ip方法:根据解析地址(v4或v6)的不同,选择对应的ip检查方法。
  • 监控接口:wan
  • TTL:可选,默认 600
ipv4解析,可以使用默认的ip检查方法,ipv6解析一定要选支持ipv6的解析提供商

2.腾讯云配置

新增账户:

  • 描述:输入一个描述说明
  • 服务: Tencent Cloud DNS
  • 用户名: SecretId
  • 密码: SecretKey
  • 区域: example.com
  • 主机名: www.example.com 或 @
  • 检查ip方法:根据解析地址(v4或v6)的不同,选择对应的ip检查方法。
  • 监控接口:wan
  • TTL: 可选,默认 600
ipv4解析,可以使用默认的ip检查方法,ipv6解析一定要选支持ipv6的解析提供商

测试验证

1.pfSense CE ipv4动态解析

2.pfSense CE ipv6 动态解析

3.pfSense plus ipv4 动态解析

4.pfSense plus ipv6 动态解析

5.OPNsense ipv4 动态解析

6.OPNsense ipv6 动态解析

卸载方法

在终端运行以下命令卸载:

sh uninstall.sh

也可以指定备份目录进行恢复:

./uninstall.sh /root/对应的-backup-目录

注意事项

  • API 密钥权限要足够。阿里云 AccessKey 需要有 DNS 记录查询、新增、修改权限。腾讯云 SecretId / SecretKey 需要有 DNSPod 记录查询、新增、修改权限。
  • 建议使用子账号密钥。不要直接使用主账号 AK/SK。建议创建 RAM 子用户或腾讯云子账号,只授予 DNS 管理相关权限。
  • 升级后自动恢复不是强行覆盖。补丁自愈脚本会先检查目标文件结构。如果上游系统升级后 Dynamic DNS 结构变化太大,脚本会停止并提示,避免破坏系统。

附件下载

暂无评论

发送评论 编辑评论


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