通过 ddns-go 动态域名解析 实现公网访问内网服务

通过 ddns-go 动态域名解析 实现公网访问内网服务
2024年04月22日 20:14 什么值得买

作者:只抄

本文首发于只抄博客,欢迎点击原文链接了解更多内容。

前言

如今 IPv6 的普及度越来越高,与 IPv4 不同的是,大部分人获取到的 IPv6 是公网 IP 并且每一个设备都有一个属于自己的公网 IPv6,因此我们无需再进行内网穿透、端口转发等操作,直接通过设备的公网 IPv6 就可以成功访问到内网服务。

但是直接记住这么长 IPv6 的地址来访问显然不现实,我们可以将域名通过 AAAA 解析到我们的 IPv6 地址上,这样访问时,只需要输入域名,DNS 就会帮我们解析到响应的 IP 地址了。

即便如此,几天之后你就会发现域名又无法访问了,这是因为运营商分配的 IPv6 地址是动态的,过几天 IPv6 就会变动一次,所以就需要 DDNS 了,它可以定时获取我们当前的 IPv6 地址,并将该地址同步到 DNS 服务商。

安装 ddns-go

ddns-go 是一个使用 Go 语言编写的 DDNS 客户端,支持多种 DNS 服务商,通过 Docker 可以直接安装

docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go

使用 ddns-go

在使用 DDNS 之前,需要确保正常获取到 IPv6,并能正常访问 IPv6,通过 http://[ipv6]:port 的形式,能够访问即可。若访问失败,则需要检查光猫或路由器的 IPv6 防火墙配置是否正确。

在浏览器中打开 http://ip:9876 即可进入到 ddns-go 的管理界面,按照以下步骤依次配置:

  1. 首先,选择对应的 DNS 服务商,本文以 Cloudflare 为例,点击 创建令牌 -> 编辑区域 DNS (使用模板) 跳转到 Cloudflare 创建一个 Token

  1. 点击 Create Token 创建 Token

  1. 选择 Edit zone DNS,点击 Use template

  1. 选择自己需要的域名

  1. 最后会出现一个 Token,将该值填入到 ddns-go 中即可

  1. 返回 ddns-go,来到下方的 IPv4 与 IPv6 设置,一般没有公网 IPv4 的可以取消勾选 IPv4,勾选 IPv6,将域名填入下方的 Domains 中,稍等片刻,就可以直接用该域名访问到内网服务了(部分地区80、443端口没有开放,需要使用非标端口)

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部