相信很多小伙伴对于动态域名已经很熟悉了,大多数光猫/路由器也都内置了 DDNS 功能。但是在使用过程中,好像总是有点掣肘,例如一些早期的光猫/路由器提供的 DDNS 功能只支持更新 IPv4 地址,由于移动宽带只提供公网的 IPv6 公网地址,DDNS 功能会无法使用。因此在两年前,我就写了两段简单的 DDNS 更新脚本,使用 DnsPod.cn 或 dynv6.com 动态域名完成 IPv4&IPv6 地址的更新。
现在看来,使用 DnsPod.cn 或 dynv6.com 动态域名仍然有一些不完美的地方,由于三大运营商都关闭了家庭宽带的 80 & 443 端口,如果想利用家庭宽带搭建一个 Blog ,或者将自己群晖里的内容分享给其他朋友使用时,总要在网址后面带上端口才可以访问。如果使用 Cloudflare.com 的动态域名,另外配合 Cloudflare Origin Rules 功能,即可完美解决上述问题。
一、获取域名的 Zone ID 和 API 令牌
1、登录 Cloudflare.com ,点击域名,我以 ifeng.xyz 这个域名为例。
2、Copy 页面右下角的“区域 ID” ( Cloudflare_Zone_ID )备用,然后点击“获取您的 API 令牌” ( Cloudflare_API_Tokens ) 。
5、如下图所示填入令牌名称,例如我填入了“dynamic”;权限选择 “区域” -> “DNS” ->“编辑” ;区域资源选择 “包含” -> “特定域名” ->“自己的域名(例如我选择 ifeng.xyz )” ,最后点击页面底部的“继续以显示摘要”。
7、Copy “API 令牌” ( Cloudflare_API_Tokens )备用 。
ddns_update.sh 脚本中有关 Cloudflare 域名记录更新的代码为 update_IP 函数中 24 行代码,其他代码主要用于获取光猫/软路由的公网 IPv4/IPv6 地址,同时检测 IP 地址是否发生变化,然后调用 update_IP 函数更新。如果对于特定的光猫/软路由,代码会写的更简单一些,例如使用类似“ip -6 addr list scope global pppoe | grep -v " fd" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1”这样的命令来获取本机的 IPv6 地址,但是不同品牌的光猫/路由器由于固件版本不同,在建立 pppoe 链接后 interface 名称有所区别,为了脚本的通用性,这种方法不能使用,因此代码中的处理逻辑相对来说更复杂一点。当然,你可以根据自己光猫/路由器的情况自行修改代码,让代码更加简单高效。例如可以使用 /etc/ppp/ipv6-up 来启动脚本,来减少循环检测 IP 地址是否发生变化对系统资源的占用。
1、下载并安装 DDNS 更新脚本,以 EdgeMAX EdgeRouter ER-X 路由器为例。
项目地址:https://github.com/hiifeng/Dynamic-DNS-using-Cloudflare
在上述地址下载 ddns_update.sh ,使用 WinSCP 等 ftp 工具将脚本上传到 /usr/local/ 目录中。
2、使用 ssh 登录光猫/软路由
Bash
# 切换到 root 用户
sudo -i
# 增加可执行属性
chmod a+x /usr/local/ddns_update.sh
# 修改 ddns_update.sh 文件中的相关参数,其中包含 Cloudflare_Zone_ID 、Cloudflare_API_Tokens 和你需要解析的域名(例如:ddns.ifeng.xyz)
sed -i "s/type in zoneID/此处填入上面获取的Cloudflare_Zone_ID/g" /usr/local/ddns_update.sh
sed -i "s/type in token/此处填入上面获取的Cloudflare_API_Tokens/g" /usr/local/ddns_update.sh
sed -i "s/ddns.example.com/你的域名/g" /usr/local/ddns_update.sh
# 修改操作系统 /etc/rc.local 文件,当光猫/软路由开机或重启时,自动执行 ddns_update.sh
sed -i 's/^exit 0$/bash \/usr\/local\/ddns_update.sh\n\nexit 0/' /etc/rc.local
BASH
3、重启光猫/软路由使其生效。
三、注意事项
Cloudflare API 不支持对 .cf, .ga, .gq, .ml, .tk 域名的更新。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 11210980@qq.com 进行处理!
本文地址:https://www.zycang.com/115523.html
文章转载或复制请以超链接形式并注明来源出处。 本文最后更新于:2023-07-06 23:02:52
声明:某些文章或资源具有时效性,若有 错误 或 所需下载资源 已失效,请联系客服QQ:11210980
请登录后发表评论
注册