现在,IPv6已经基本普及,只要你愿意,你的每一台支持IPv6的设备都可以由路由器分配一个公网IPv6地址,但它是八组四位16进制的字符串、也是动态的,难以记住,那怎么样才能被我们日常所用呢?今天给大家介绍一款github上开源的动态域名解析工具——DDNS-Go,它可以自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。

项目网址:https://github.com/jeessy2/ddns-go

(github没有被墙,但是有时访问速度很感人)

DDNS-Go目前支持Mac、Windows、Linux系统,支持ARM、x86架构;它支持国内主流的的域名服务商,如阿里云、 腾讯云、华为云、百度云,也支持大名鼎鼎的Cloudflare,还通过自定义回调支持更多的第三方DNS服务商。

今天以阿里云为例,分别给大家介绍在windows、linux和群晖中如何使用DDNS-Go。

首先,在阿里云(https://www.aliyun.com)注册一个账号,

然后去freenom(https://www.freenom.com)申请一个免费域名转至阿里云解析,

在阿里云的账号控制台首页的“AccessKey管理”选项中,创建AccessKey,

将创建好的AccessKey ID和Sercet记下来备用,

回到Windows系统,去github下载与你系统相对应的发行版本,最新版本是4.0.4,

解压,目录不限,C盘、D盘均可,

以管理员身份打开CMD命令行进入安装目录,

执行命令,

ddns-go.exe -s install

返回结果:安装ddns-go服务成功,请打开浏览器并进行配置。

命令中的参数s是将ddns-go注册为用户服务,install是安装命令,对应的卸载命令是uninstall。

在windows设置的隐私与安全中,打开windows安全中心,

在左侧菜单中,选择“防火墙和网络保护”,

选择“允许应用通过防火墙”,

点击“更改设置”,然后选择“允许其他应用”,

选择“浏览”,找到DDNS-Go的安装目录,选择ddns-go.exe,点击打开,

点击“添加”,

根据你自己的实际情况选择允许通过的网络类型,然后点击“确定”,这样DDNS-Go应用才能通过防火墙,让外网访问;如果你禁止外网访问,可以忽略此步骤,

打开浏览器,输入http://127.0.0.1:9876,如果有多个网卡,输入ip地址加端口号9876,现在DDNS-Go支持多网卡,

选择阿里云,然后输入在阿里云账号创建的AccessKey ID和Secret,

没有IPv4公网地址就不要选择启用IPv4,在IPv6选项中,

选择启用IPv6,选择“通过网卡获取”,

正则表达式主要是来匹配你IPv6后缀的,通常情况下路由器会分配有状态和无状态的几个IPv6地址,ISP分配给你的前缀是动态的,但是后缀是相对固定的,你可以用正则表达式来匹配你想要解析的IPv6地址,这里可以根据你自己的实际情况而定,

输入你要解析的域名记录,

在其他配置中,你可以选择是否允许公网访问,如果选择是,那么建议创建访问登录用户名和登录密码,以确保你的信息安全,TTL保持默认即可,

接下来,Webhook也是一个很有实用价值的选项,当你的IP地址发生变化时,它可以通过微信或者钉钉通知你,

如果选择微信通知,

打开Server酱官网,https://sct.ftqq.com,

复制获取的SendKey,

将你的SendKey粘贴到下面的代码替换[SendKey],再将整段复制粘贴到URL中,

https://sctapi.ftqq.com/[SendKey].send?title=我的电脑的IPv6变了#{ipv6Addr},域名更新结果:#{ipv6Result}

点击”save”。

不过现在Server酱开始收费了,不想付费的可以选择钉钉,

选择钉钉通知的设置步骤,

登录钉钉电脑版,点击右上角“+”,发起群聊,

根据自己的喜好选择群聊类型,然后点击“创建”,我用的是项目群,不用拉人、再踢人,没有其他推送消息,

输入群名称,点击“创建”,

点击右上角的“齿轮”,进入群设置,并选择“智能群助手”,

选择“添加机器人”,

在“添加机器人”选项中,点击右侧“齿轮”,

选择“自定义”,

点击“添加”,

依次按自己喜好添加机器人名字,勾选“自定义关键词”并添加关键词“公网IP变了”,然后勾选同意条款,点击“完成”,

设置关键词的目的在于当机器人收到包含关键词的请求时触发向钉钉群发通知的动作,所以我们要将请求中的关键词添加到机器人设置中,

点击“复制”,复制webhook地址,

将复制的webhook地址粘贴到URL中,

再将下面这段代码复制粘贴到RequestBody中,

{"msgtype": "text","text": {"content": "我的电脑的公网IP变了:#{ipv6Addr},域名更新结果:#{ipv6Domains}"}}

“我的电脑”可以根据你的实际情况改动,但是关键词“公网IP变了”不能改动,

测试一下,

在钉钉里返回结果,

点击“save”,这时DDNS-Go启动,片刻便在右侧返回解析结果,并通知webhook调用结果(也就是钉钉通知结果),同时通知配置文件路径,配置文件.ddns_go_config.yaml是一个隐藏文件,注意备份,这样你重置电脑系统时就可以直接导入配置文件代替重新配置。

打开钉钉群聊,通知是这样的,

每当你的IPv6地址发生变化时,你都会第一时间收到这样的通知。

至此,windows系统下DDNS-Go的设置完成,你可以愉快地通过域名来远程访问你的电脑,连接共享文件等等通过局域网可以完成的工作了。

Linux系统的设置方法,以ubuntu22.04为例,

在github官网复制下载链接,

https://github.com/jeessy2/ddns-go/releases/download/v4.0.4/ddns-go_4.0.4_Linux_x86_64.tar.gz

打开终端,

输入命令wget空格加下载链接,

wget https://github.com/jeessy2/ddns-go/releases/download/v4.0.4/ddns-go_4.0.4_Linux_x86_64.tar.gz

创建一个目录存放解压后的文件,

sudo mkdir /usr/lib/ddns-go_4.0.4

因为用到sudo权限,所以执行过程中要求输入密码,输入密码时并不显示,

解压下载文件到/usr/lib/ddns-go_4.0.4,

sudo tar -zxvf ddns-go_4.0.4_Linux_x86_64.tar.gz -C /usr/lib/ddns-go_4.0.4

转到解压后的应用程序所在目录,

cd /usr/lib/ddns-go_4.0.4

执行安装用户服务的命令,

sudo ./ddns-go -s install

返回结果:安装ddns-go服务成功,请打开浏览器并进行配置。

接下来,打开浏览器,按照windows系统下的步骤配置DDNS-Go即可。

群晖可以在Docker里安装DDNS-Go,

首先在套件中心安装Docker应用,

打开Docker应用,在左侧菜单中选择“注册表”,

在右上角的搜索框中输入“ddns-go”,

在搜索结果中选择jeessy/ddns-go,这是DDNS-Go官方映像,双击下载,

在选择标签对话框中,选择latest,开始下载映像,

下载完成后,在左侧菜单中选择“映像”查看结果,

双击映像,开始创建容器,

选择“使用与Docker Host相同的网络”模式,并点击“下一步”,在官方文档中已经说明,host网络模式支持IPv4和IPv6,而bridge网络模式只支持IPv4,

“容器名称”可以保持默认,也可以根据自己的喜好填写,勾选“启用自动重新启动”,并点击“下一步”,

点击“添加文件夹”,

在跳出的对话框中,创建或者选择一个文件夹,用来存放配置文件,

/docker/ddns-go
举报/反馈

学驿站

14获赞 30粉丝
西安交通大学EMBA青岛教育中心官方新闻平台
关注
0
0
收藏
分享