ikakatoo's Blog.

使用 DDNS-Go 实现内网设备通过域名进行访问

Word count: 877Reading time: 3 min
2024/08/23

写在前面

我们很多人的家中都没有静态的 IP 地址,亦或者只提供动态的 IP 地址。但动态 IP 会在你每次重启路由器或者光猫时变化,导致我们不能使用 IP 来访问我们的内网服务。这就需要使用动态域名解析服务了,最简单的方式就是使用 DDNS-Go 这个项目。

DDNS-Go 可以帮助用户轻松地将自己的域名解析到动态 IP 地址,从而通过域名来实现外部访问的目的。

跟着我这个教程,可以特别轻松就实现外部访问。
本教程以 openwrt + DDNS-Go + cloudflare 为例

第一步:你需要提前准备或开通服务

  • openwrt 软路由一台
  • 光猫模式为桥接(路由器拨号) (上海电信云宽带需要到营业厅关闭后才能改为桥接)
  • 联系运营商开通动态公网IP
  • 一个域名
  • cloudflare账号

第二步:在 openwrt 上安装 DDNS-Go

  1. 登录 openwrt,前往 > 系统 > 软件包 > 更新列表,完成后关闭,再在过滤器中输入 “ddns” 找到对应的 “ddns-go-zh-cn” 中文包,点击安装,会自动安装依赖的软件及其它。
    (我图中为已安装,未安装点击 “可用” 找到对应的插件)
    workers-and-pages

  2. 刷新 openwrt 页面,前往 > 服务 > DDNS-Go (有则为安装成功)。
    点击 “启用” (先不要点 “打开 Web 界面”)
    workers-and-pages

第三步:前往 DDNS-Go 快速设置用户名及密码

  1. 因 DDNS-Go 的一些限制,超过5分钟将无法保存。我们先设置用户名及密码后,再进行后续配置。
  2. 点击 openwrt 上 DDNS-Go 的 “打开Web界面”,在页面中往下滑,找到用户名及密码,设置好后保存。
    workers-and-pages

第四步:前往 cloudflare 申请 Token

  1. 前往 cloudflare

  2. 我的设定档 > API权杖 > 建立Token > 选择第一个“編輯區域 DNS” > 使用范本。(地区不同翻译会有所不同)
    workers-and-pages

  3. 将区域资源改为 “所有区域” > 继续至摘要。
    workers-and-pages

  4. 复制你的 Token 。 (请妥善保管,只显示一次)
    workers-and-pages

第五步:返回 DDNS-Go 进行配置

  1. 回到 DDNS-Go 页面,在 DNS 服务商版块选择 Cloudflare ; 在 Token 填入你申请来的 Token 。
    workers-and-pages

  2. 在 IPv4 版块填入你的域名,可以是二级域名或多个域名 (如:ddnsgo.example.com)。点击保存。
    workers-and-pages

  3. 点击页面右上角 “日志” ,可以查看你当前的 IP 地址。
    workers-and-pages

第六步:在 Cloudflare 进行配置

  1. 进入域名的 DNS 设置,新增记录。
  2. 新增一个 A 记录,在名称填写 ddnsgo (以:“ddnsgo.example.com”为例),在 IPv4 地址填写你在 DDNS-Go 日志中查看到的 IP 。
  3. 关闭 Proxy 小云朵,并保存。
    workers-and-pages

到这里,你所有的配置都已经完成。

接下来我们设置一下端口转发,这样才能保证我们在公网可以访问家里的设备。

这里以从公网访问 openwrt 为例。

  1. 登录 openwrt ,前往 > 网络 > 防火墙 > 端口转发
    workers-and-pages

  2. 点击添加

  • 名称: openwrt (自行设置)
  • 地址族限制: 仅 IPv4
  • 外部端口: 41365 (3-5 位随便,不使用常见的 80/443 等,不报错即可)
  • 内部 IP 地址: 选择自己的 openwrt
  • 内部端口: 80
  1. 手机使用数据进行测试,在浏览器输入 “http://ddnsgo.example.com:41365” 即可访问。
  2. 其他你需要远程的服务同样需要增加端口转发。
CATALOG
  1. 1. 写在前面
  2. 2. 第一步:你需要提前准备或开通服务
  3. 3. 第二步:在 openwrt 上安装 DDNS-Go
  4. 4. 第三步:前往 DDNS-Go 快速设置用户名及密码
  5. 5. 第四步:前往 cloudflare 申请 Token
  6. 6. 第五步:返回 DDNS-Go 进行配置
  7. 7. 第六步:在 Cloudflare 进行配置
  8. 8. 到这里,你所有的配置都已经完成。
  9. 9. 接下来我们设置一下端口转发,这样才能保证我们在公网可以访问家里的设备。