#
精品资源 3月20日

告别动态公网IP掉线:基于 ddns-go 与 Cloudflare 的自动化 DDNS 部署指南

By 壹资源网 5 MIN READ

对于拥有家庭公网 IP 的折腾玩家来说,直连的体验无疑是极佳的。但现实情况是,运营商随时可能重新分配你的公网 IP。如果单纯依靠记忆 IP 地址,一旦变动就会导致服务全面瘫痪;而使用路由器自带的花生壳等传统 DDNS 服务,不仅免费版限制颇多,更致命的是域名控制权不在自己手中,解析生效也往往存在延迟。

作为一名在 IT 架构领域摸爬滚打多年的老兵,我的建议是:将域名的解析权牢牢攥在自己手里。 今天,我们将通过“自有域名 + ddns-go + Cloudflare”的组合,彻底解决动态 IP 带来的访问痛点。

为什么选择自建 DDNS?

传统的第三方 DDNS 往往存在生态封闭、刷新慢等问题。自己购买域名并配置 DDNS 拥有不可替代的优势:

  • 绝对的控制权:域名完全属于你,不依赖第三方厂商的转发服务器。

  • 高自由度:无论是需要备案的国内域名,还是无需备案的海外域名,均可无缝接入。

  • 极速解析:搭配 Cloudflare 等顶级 DNS 服务商,API 响应迅速,IP 变动即刻同步。

核心引擎:ddns-go 是什么?

ddns-go 是一款轻量级、开源的动态域名解析工具。它的核心逻辑非常纯粹:定时(默认约 5 分钟)侦测你当前的真实公网 IP(支持 IPv4 和 IPv6)。一旦发现 IP 发生变化,它会立即调用 DNS 服务商的 API,将指定域名的 A 记录或 AAAA 记录更新为最新 IP。如果 IP 未变,则静默待命。

它原生支持 Cloudflare、阿里云、腾讯云 (DNSPod)、华为云等主流服务商,且支持多域名、多级子域名统一管理,是家庭实验室(Homelab)的绝佳伴侣。

实战部署:在飞牛 NAS 上使用 Docker 运行 ddns-go

为了保证系统的纯净和易维护性,强烈推荐使用 Docker Compose 进行容器化部署。无论你是使用飞牛 NAS 还是其他标准的 Linux 环境,这种方案都能让你在后续的升级和迁移中省下大量精力。

ddns-go 需要获取主机的真实公网 IP。在单机 NAS 环境下,使用 host 网络模式是最简单高效的选择。

1. 创建目录与配置文件

首先,在你的宿主机上创建一个专用的配置目录(例如 /opt/ddns-go),并在其中新建 docker-compose.yml 文件:

YAML

services:
  ddns-go:
    image: jeessy/ddns-go
    container_name: ddns-go
    restart: always
    network_mode: host
    volumes:
      # 左侧路径请替换为你实际创建的目录
      - /opt/ddns-go:/root/opt/ddns-go

2. 启动容器并配置

在配置文件所在目录下执行 docker compose up -d 即可将服务跑起来。

容器启动后,在浏览器访问 http://<你NAS的IP>:9876 进入 Web 界面。以 Cloudflare 为例,首次配置步骤如下:

  1. 选择 DNS 服务商:勾选 Cloudflare。

  2. 获取并填写 Token:前往 Cloudflare 控制台创建一个 API Token,为了安全起见,权限仅需赋予 Zone - DNS - EditZone - Zone - Read 即可。

  3. 填写解析域名:输入你需要 DDNS 自动更新的域名或子域名。

  4. 保存配置:配置会自动保存在我们刚才挂载的目录中,容器重启数据也不会丢失。

资深老兵的安全与进阶建议

  • 阻断公网访问:在 ddns-go 的设置页中,务必勾选**“禁止从公网访问”**。9876 端口仅限内网访问即可,将管理端口暴露在公网存在极大的安全隐患。

  • 与反向代理(如 Lucky)的协同:DDNS 和反向代理并不冲突。ddns-go 负责解决“域名解析到哪个 IP”的问题,而 Lucky 或 Nginx 负责解决“流量怎么转发、如何附加 SSL 证书和访问认证”的问题。将内网服务放在反代之后,不仅能避免直接暴露 80/443 端口,还能提升整体架构的安全性。

总结

这套方案我已经稳定运行了大半年,期间公网 IP 变动过数次,系统均实现了无感自动切换。如果你也有公网 IP,并且厌倦了厂商自带 DDNS 的种种限制,这套“一劳永逸”的自动化解析方案绝对值得你花十分钟去部署。



免责声明

站点信息:本站网址:https://www.iezyw.com | 资源解压密码:@iezyw.com

性质说明:资源源于网络收集,本站收取的费用仅为收集与整理的人工成本,并非资源本身之售价。

版权声明:内容仅供学习参考,如有侵权请联系邮箱 [email protected],我们将及时处理。

免责条款:资源不代表本站立场,本站不对其观点及真实性负责,请用户自行甄别。

合规声明:严禁以任何方式发布或转载违法规信息,访客发现请向站长举报。

资源维护:资源多为云盘存储,如遇链接失效,请发邮件给到我们,我们会及时更新。

😢 检测到广告拦截

您好,我们检测到您使用了广告拦截插件。

本站分享优质资源,广告是持续更新的唯一动力。

恳请将本站加入白名单,支持继续"用爱发电"!