freenom免费域名自动续期和ddns
freenom免费域名自动续期,unraid ddns自动解析ip到阿里云/dnspod/cloudflare
一、DNS 简约
有需要可以看一下参考文章:
1. 什么是 DNS
答:
- DNS(Domain Name System) 是域名系统,简单理解为根据域名找出ip地址,可以在网上通过域名来转化为你的ipv4或者ipv6地址,找到你的访问地址,而不是记住冗长的ip地址,当然,有些域名耶不好记忆,这个很正常,不抬杠。
- 常见的资源记录有:SOA(起始授权结构)、A(主机)、NS(名称服务器)、CNAME(别名)和MX(邮件交换器),其中A记录用于映射ipv4或ipv6地址,CNAME记录映射为CDN地址或者其他域名(不能用ip,不过AWS的好像可以用ip表达,其他dns厂商没见过),这两种使用方式是最为常见的。
2. 什么是DNS NS记录和域名服务器
答:
- NS 代表域名服务器,可以简单理解为你要把你的域名放在那里做解析,如果我要把freenom购买的域名放到阿里云做DNS解析,NS就要修改为阿里云的dns ns 域名服务器,否则无法在阿里云上面做 A 解析记录,映射到你的公网ip上;
- 域名服务器一般是2个以上进行负载均衡,避免一个挂了,导致网站解析异常;
- 每个dns解析厂商,都有自己的NS服务器,不要混用;
- 有些dns服务商不支持解析为内网地址;
3. 何时应更新或更改 NS 记录?
答:
-
当你的ip或者cname改变时,就需要修改dns的A记录或者CNMAE记录;
-
NS更新记录一般需要等待几分钟,最长24小时,才能在全网进行更新;
-
如果更新没成功,建议你先刷新dns、关闭网络在重连(比如拔掉网线,不会弄又急的话就重启电脑咯)、浏览器用无痕模式等去验证解析是否成功;
-
可以使用站长工具在线测试dns解析结果:https://tool.chinaz.com/dns/?type=1&host=&ip=
4. 什么是 DDNS ?
答:
DDNS(Dynamic Domain Name Serve) 是指动态域名服务,比如,我们家用宽带的ip是动态的,随着每一次的路由重启,断线重连,或者移动商的定期重连,都会导致你的家用公网ip变化(当然你也可能没有,也可能只有ipv6),甚至是服务器没购买绑定公网ip,停机重启后导致公网ip变化,我们需要把动态ip映射到一个固定的域名解析服务器上(阿里云、dnspod)等,然后由服务器提供DNS服务实现动态域名解析。也就是说DDNS捕获的是用户每次变化的IP,然后与其域名相对应,我们需要记住的只是域名就好,而无需管他后面的ip是啥。
二、Freenom 域名
⚠️⚠️⚠️freenom的免费域名千万千万🙅🏻♀️不要🙅🏻♀️用于生产环境,否则等你流量起来之后,freenom会被莫名其妙的把你网站给封了,然后卖给别人,就等着哭吧。不过只是用于家庭环境使用,也无所谓了,不要就换一个的心态,那就无所谓。要不然还不如去买一下xyz这种便宜的顶级域名,一年6块钱的,就一瓶大可乐的零花钱就够了。
1. 申请 freenom 免费域名
1.0 Freenom是世界上第一个也是唯一的免费域名提供商。
1.1 由于该网站没有国内解析,所以比较卡访问慢,没条件的同学可以上阿里云或者腾讯云买一台香港最低配置的临时 ubuntu desktop 或者 windows desktop 云主机,按量付费,基本上15 分钟内都能搞定,花不了两块钱然后可以开始进行注册了。
1.2 点击 👉🏻 注册地址 👈🏻 即可跳转登录
1.3 免费域名只支持**.tk**、.ml、.ga、.cf、.gq,另外,最多支持 12 个月的免费续订,到期要后续期,否则会被回收。
1.4 开始进行注册 “Register a New Domain”,输入自己想要的域名,然后点击 Check Availability
1.5 如果显示以下信息“Yes,domain is available!",则表示该域名可以注册,然后选择”Select“,点击 checkout 进行跳转即可
1.6 需要手动选择 Period 时间为12个月,默认是 3 Months
1.7 最左边”Enter Your Email Address“的位置可以直接填写邮箱,然后点击”Verify My Email Address“,会发送一封验证邮件到你的邮箱,然后去邮箱打开 freenom 发过来的验证邮件,点击里面的邮件地址进行跳转即可,当然你也可以在最右边登录第三方 gmail 账号进行注册,原理都一样
1.8 我用的是 gmail 第三方登录的方式,点击👆🏻最右边的“登录”,如下
1.9 然后填写注意的信息,一个是 address1 指的ip,可以不填,默认会获取ip自动写入,一个是** city** 要和ip对应的地区一致,这两个要分别对应,我选取ipinfo.io的地址里面获取到的city:”Hong Kong“,然后填进去
1.10 如果出现以下报错,就要考虑ip和city是否填写正确了,改完之后多重新尝试几次
1.11 免费域名的注册到这里就结束了,因为免费域名是最多时长为 12 个月,默认是 3 个月(要记得自己修改哦),到期前 15 天我们要自动续期,否则就会被取消域名所有权,会被 freenom 回收,另外续期是免费的,不会像奸商一样续期要加钱。
2. 如何更改 freenom 的 NameServers
注册成功后,我们去检查我们选择的域名,选择“Manage Domain”然后修改 NS 服务器地址,可以指向 aws 的 router53,阿里云的 ddns,腾讯云的 dnspod,cloudfare 免费 cdn dns 解析商==
3. 如何手动续订域名
选择“Renew Domains”,然后进入域名类别,点击最右侧的 “Renew This Domain”
4. 如果上面的city地址填错,可以手动更改
5. 如何修改freenom 密码
6. 忘记密码如何重置?
📢:特别是使用gmail邮箱登录的,都不会有初始密码,需要使用重置功能,直接发送邮件到你的gmail📮进行重置方可。另外要注意的一个点就是,gmail只是第三方登录,freenom和gmail的密码是不通用的,两个不同的系统,互相改密码都不影响对方。
7. 如何删除不用的域名
你也可以等到过期自动回收。
8. 一些官方 Questions
地址:http://www.freenom.com/zh/support.html
三、unraid 如何自动续期 freenom?
- 以下两个docker镜像,推荐使用 luolongfei/freenom ,只拿他做个例子,另一个作为备用。
- unraid 配置freenom-ddns
|
|
📢:推荐使用 Filebrowser 这个 docker 容器去挂载unraid 的 /mnt/user,这样就可以在线直接修改配置文件了,而不需要去命令行里面修改,很方便
查看默认配置.env.example,除了一开始的freenom账号密码设置为变量外,你也可以去掉,然后在配置文件里面进行更改, 他的通知方式除了看日志,还支持邮件、Telegram Bot、企业微信、Server 酱 微信通知、Bark 送信 ios app端,可惜不支持钉钉。
四、ddns 服务列表推荐
👂🏻推荐使用:80x86/ddns-updater、newfuture/ddns、jeessy/ddns-go、sanjusss/aliyun-ddns
👂🏻域名购买商:NameSilo 推荐
功能 | qmcgaw/ddns-updater | 80x86/ddns-updater | newfuture/ddns | jeessy/ddns-go | sanjusss/aliyun-ddns | maxisoft/freenom-dns-updater | crazymax/ddns-route53 |
---|---|---|---|---|---|---|---|
支持多域名 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
支持不同dns解析平台同时登录 | ✅ | ✅ | |||||
更新方式 | 只能修改,不能新增 | 可新增 | 可新增 | 可新增 | 可新增 | ||
ipv4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ipv6 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
dnspod | ✅ | ✅ | ✅ | ✅ | |||
dnspod 国际 | ✅ | ✅ | ✅ | ✅ | |||
阿里云 dns | ✅ | ✅ | ✅ | ✅ | ✅ | ||
cloudflare | ✅ | ✅ | ✅ | ✅ | |||
AWS router53 | ✅ | ||||||
Freenom | ✅ | ||||||
华为云 | ✅ | ✅ | |||||
dns.com | ✅ | ||||||
HE.net | ✅ | ✅ | |||||
DD24 | ✅ | ||||||
DDNSS.de | ✅ | ||||||
DigitalOcean | ✅ | ||||||
DonDominio | ✅ | ||||||
DremHost | ✅ | ✅ | |||||
DuckDNS | ✅ | ✅ | |||||
DynDNS | ✅ | ||||||
FreeDNS | ✅ | ||||||
Gandi | ✅ | ||||||
GoDaddy | ✅ | ✅ | |||||
✅ | |||||||
Infomaniak | ✅ | ||||||
Linode | ✅ | ||||||
LuaDNS | ✅ | ||||||
Namecheap | ✅ | ✅ | |||||
NoIP | ✅ | ✅ | |||||
Njalla | ✅ | ||||||
OpenDNS | ✅ | ||||||
OVH | ✅ | ||||||
Porkbun | ✅ | ||||||
Selfhost.de | ✅ | ||||||
Servercow.de | ✅ | ||||||
Spdyn | ✅ | ||||||
Strato.de | ✅ | ||||||
Variomedia.de | ✅ |
0. 公网ip获取渠道有哪些?
1. http 测试:
2. 命令行测试
|
|
1. unraid安装ddns-go用于动态域名解析
1.1 安装 ddns-go 步骤就不讲了,直接上图
|
|
1.2 ddns-go配置简介
- 因为ddns-go不支持多dns解析商的配置,所以你只能配置以下一个,比如我配置了cloudflare,就不能再配置阿里云了,不过家用环境下,其实一个也够用了,要不然你也可以选择开多个ddns-go的docker,配置不同的运营商
-
一般通过接口获取就足够使用了,不过要是有同学走了代理网络,这里就会有问题,要注意支持哟!另外支持配置多个不同的域名,以下举个例子,只支持自动解析到 A记录(主机)
1 2 3 4
test.com ddns-go.test.com fucker.com dns.fucker.com
- 我这里直接禁止公网访问web,打了个勾,然后还设置了账号密码登录访问,已经成为使用习惯了,你自己的话就看着办吧
- Webhook,看文档说支持Server酱(强烈推荐),可以使用微信收到回调信息,不管更新成功还是不成功的结果。
2. unraid 安装 qmcgaw/ddns-updater 用于动态域名解析
⚠️⚠️⚠️一开始不管是不是代理环境,获取 ip 都不准,因为使用的都是国外的获取工具,现在我都改成国内了,就可以使用了,真的挺不错,不过可以直接用荒野无灯大佬提供的带web编辑的也很香。
1. 安装 qmcgaw/ddns-updater
|
|
2. qmcgaw/ddns-updater 的配置文件
|
|
3. 如何知道这些配置怎么来的呢?
答: 打开对应的md文件,github 地址有提供配置案例:https://github.com/qdm12/ddns-updater/tree/master/docs
4. 注意要点:
- 不能添加,只能更新,就是必须要dns解析厂商那里先手动配置一次A记录,才能使用,否则会有以下报错
-
dnspod 要把"id,token"一起填写进去到token配置里面。
-
如果遇到更新不及时,需要手动吧update.json删掉。
3. unraid 安装 newfuture/ddns 用于动态域名解析
1. 安装 newfuture/ddns
1.1 先配置 config.json,等会需要挂载到 docker 镜像,我这里用 Filebrowser 管理
|
|
1.2 unraid 配置
|
|
1.3 根据你自身的网络环境,修改相应配置,ipv4 我直接用的公网解析 “public”,因为我是 unraid,不是在路由器上面,如果是路由器比如 openwrt 直接安装 docker 可以指定网卡。
官网配置参考:https://github.com/NewFuture/DDNS
4. unraid 安装 sanjusss/aliyun-ddns 用于动态域名解析
1. 安装 sanjusss/aliyun-ddns
|
|
变量推荐
5. unraid 安装 80x86/ddns-updater 用于动态域名解析
1. 安装80x86/ddns-updater
|
|
进入web页面进行编辑
将配置进行整理复制进去就好了,这个配置一个settings只支持一个域名和一个host,多个就得复制多份进行配置
配置举例:https://hub.docker.com/r/80x86/ddns-updater
|
|
配置完拉倒最下面”Save Config“,然后”Back to Home“,查看结果,不需要重启,回自行加载,比 qmcgaw/ddns-updater 好用很多
如果需要手动更新,也不需要重启,直接点击”Manual Update“
2. 注意,cloudflare需要添加zone read权限
五、阿里云 dns 解析
1. 阿里云申请 AccessKey 用于api调用
- 点击 👉🏻阿里云 dns 登录地址👈🏻 即可跳转登录
- 登录控制台之后,鼠标移动到右上角的人头像,不需要点击人头像,然后选择AccessKey 管理
- 创建 AccessKey 有两种方式,第一种是admin 权限的 Accesskey,如果泄露,那么会被用于此账号下面所有的 api 控制权限,非常不安全,推荐使用第二种子用户 Accesskey 模式
- 第一种 admin 权限的 Accesskey
- 第二种子用户 Accesskey 模式
5.1 只需要选择OpenAPi 调用访问就好,控制台访问指的是这个账号可以用网页访问阿里云,没必要,用不到。
5.2 创建完成后,需要给用户进行授权AliyunDNSFullAccess的云解析dns权限
2. 在 云解析DNS 添加 freenom 注册的免费域名
- 添加域名解析
- 把 freenom 的NS域名服务器改为阿里云的
- 手动添加解析记录做测试
3. 使用 ddns-go 动态解析域名:
- 把步骤1申请到的CK填入ddns-go 的DNS服务商;
- 然后添加需要解析的域名到IPV4,选择右上角的保存就好了;
- 然后在最左边查看解析日志就好了,对应的域名显示解析成功就表示正常了。
七、腾讯云 dnspod 解析
1. 在腾讯云 dnspod 添加 freenom 注册的域名
- 你可以点击 👉🏻腾讯云 登录入口👈🏻 即可跳转登录,也可以点击 👉🏻dnspod 登录入口👈🏻 即可跳转登录,两个都一样可以用;
- 添加域名
- 查看dnspod的DNS服务器地址
- 修改freenom的NS地址为腾讯云的dnspod,最迟24小时内生效。
- 点击刷新后,解析状态显示“正常解析”就代表正常了
2. 申请api秘钥
📢腾讯云 API 密钥 不支持 dnspod 解析,请使用DNSPod Token
3. 使用 ddns-go 动态解析域名
不管解析成功还是失败,这里都会显示日志信息。
八、cloudflare 动态 ddns 解析
📢:自 2020 年 4 月起,CloudFlare 不在支持 Freenom 的免费域名(.tk、.ml、.ga、.cf、.gq)调用 api token 的权限,只支持付费域名,所以现在想要用api自动更新ip的,可以弃用了,不过如果是dashboard 的话,还可以支持手动更新和免费证书。
Tips:我测试了.com的付费域名和.tk的免费域名,api调用只支持.com,但是dashboard 面板还可以继续使用.tk免费,没有api功能。
1. cloudflare 添加 freenom 注册的域名
1.1 点击 👉🏻CloudFlare登录地址👈🏻 即可跳转登录
1.2 添加域名
1.3 选择免费的功能就可以了
1.4 默认会自动扫描该域名的已有的解析地址,等就是了
1.5 重点来了,这里会显示你需要修改的freenom的NS地址,比如我之前是修改为阿里云,这次就修改成cloudflare的就好
|
|
1.6 更改 Freenom 的 NS 地址到 cloudflare,具体可查看2.2步骤
1.7 默认配置建议都开启,不过因为个人用,可能不会有HTTPS,这个可以关闭;
2. CloudFlare申请CK用于api调用
点击 👉🏻CloudFlare api token 获取地址👈🏻 即可跳转登录
鼠标点击右上角获取,进入“我的个人资料”,然后选择“API 令牌”,在创建“令牌”即可
默认选择上面的dns模板就好了,主要是区域资源这里有三个选项,这里做一下解释
- 所有区域:意味着是该账号下面的域名都可以,即便你不是域名所有者,因为cloudflare是有邀请用户进行管理域名的权限控制功能;
- 账户的所有区域:表示该账号的域名所有者,被别人邀请管理的域名不归管控;
- 特定区域:就是指定域名进行管理了;
注意:有些程序会使用 zone id 作为配置使用
3. ddns-go 解析 cloudflare
📢免费域名确实无法api解析,报错如下图,com的域名解析正常。
参考: