DDNS代表动态域名系统,它是一种机制,允许用户使用一个固定的域名来访问通过动态IP地址分配的网络资源。
在网络中,每个设备都需要一个独特的IP地址才能与其他设备进行通信。对于大多数家庭或小型企业网络,ISP(互联网服务提供商)通常会动态分配IP地址,这意味着每次重新启动路由器或重新连接互联网时,设备都会获得不同的IP地址。这使得访问这些设备变得困难,因为用户需要知道每个设备的新IP地址。
DDNS通过使用一个固定的域名来解决这个问题,该域名指向动态IP地址。DDNS服务提供商会在互联网上维护一个DNS服务器,该服务器将域名映射到设备的新IP地址。当设备的IP地址更改时,它会向DDNS服务器发送更新请求,以确保域名指向正确的IP地址。这使得用户可以通过一个固定的域名访问设备,而不需要知道其动态IP地址。
之前我们介绍了通过FRP的方式来访问内网服务,今天要来介绍这个DDNS技术。 在github上的有一个开源项目听说非常好用,今天我们就从头开始安装体验
github地址:https://github.com/jeessy2/ddns-go 。可以在readme上看到这项目还是很多功能的。 。今天的演示以windows系统安装和阿里云域名服务商为演示
-
从release页面下载windows系统的版本 -
解压缩,并且打开ddns-go.exe它就会自动启动服务 -
然后在web页面打开进行配置,启动地址是:http://127.0.0.1:9876/ 。 -
配置DNS服务商 我这里选择阿里云,我们点击创建Accesss Key,去阿里云获得一个key 和secret 复制过来就行,注意保密奥 -
然后配置IPV4设置 我们就选择启用、通过接口获取IP即可。Domains选择你想用的名字就行(你可以在这里填写1个或者多个域名都OK。)。我这里是ddnsgogogo.vwo50.club 。 当然在这个之前不需要你自己去阿里云新建解析了,因为有了令牌,在我们这里的配置保存后,它直接自动给我们创建好新的A记录了。 -
IPV6我们本期先不讲解,所以取消勾选即可。 -
其他配置,这个属于安全选项的配置,我们还是小白,所以按照默认的即可 -
WebHook。我们选择钉钉通知。 URL填写钉钉机器人的webhook地址即可。钉钉电脑端 -> 群设置 -> 智能群助手 -> 添加机器人 -> 自定义
只勾选 自定义关键词, 输入的关键字必须包含在RequestBody的content中, 如:你的公网IP变了 。RequestBody里面填写
{
"msgtype": "markdown",
"markdown": {
"title": "你的公网IP变了",
"text": "#### 你的公网IP变了 n - IPv4地址:#{ipv4Addr} n - 域名更新结果:#{ipv4Result} n"
}
}
Headers不用填写,然后点击测试,这就是成功了。然后点击Save保存当前配置即可。这样子我们就完成了我家里目前宽带的公网IP 和 我的域名的关系。钉钉推送了:
我本地启动了一个SD,端口是7860,准备验证但是,当我ping这个域名时候,发现始终ping不通,解析失败了。经过了一系列排查,才发现原来家里的IP并非是纯正的公网IP,而是内网IP,所以IPV4暂时无法下一步。(等我给联通打电话要一个IP在更新把!)
当然如果你的ip是公网IP,那么到这一步就已经成功。 从外网通过IP:端口 或者 域名:端口 就已经可以访问服务了。
不死心的我还试着用IPV6去试了试,通过ping发现已经解析到了。但是因为我的TP-LINK路由器没有找到防火墙设置,无法开启对应演示的SD端口,所以也只能作罢。
真的麻了。