温馨提示:
本文所述内容具有时效性,可能因经年累月发展而与现状有所差异,故不保证有效性,仅供参考。
域名名称系统(DNS,Domain Name System) ,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。全球提供 DNS 解析服务的厂家很多,但大多要么是只提供商业收费服务,要么是只提供给在自家注册的域名使用,可选的免费服务一般就是 HE.NET、CloudFlare 等国外 DNS,国内的几乎可以说是麟毛凤角。
名词解释
EDNS
国内网络基本是由三大运营商把控,地区间互通性可能并不是很好,比如教育网 IPv6 访问电信 IPv6 居然要先出国溜达一圈,体验不是那么友好。
EDNS(Extension mechanisms for DNS)正好可以解决这个问题,用户请求解析时 DNS 携带特定信息,权威 DNS 可以根据信息做出不同响应,比如可将移动用户解析到移动节点、联通用户解析到联通节点,电信用户解析到电信节点等,当然了, EDNS 可以做到的不止按运营商分别解析。
根据 EDNS 工作原理,EDNS 要正常工作需要权威 DNS(也就是我们今天探讨的解析服务)支持按不同等线路来解析,同时客户端本地 DNS(递归 DNS)也需要支持 EDNS,目前客户端 119.29.29.29、114.114.114.114 等都支持 EDNS。
GeoDNS
顾名思义就是可以指定根据 DNS 解析请求的来源位置,回应不同的区域的 IP,用来作负载平衡或是根据这样子的特性,将使用者导流到离他最近(或最快)的服务器,来达到加速的目的。
从效果上来看,GeoDNS 和 EDNS 其实都差不多,只不过一个按地区响应,一个按线路响应,配合使用可以达到最佳体验。
国内外 DNS 区别
国内 DNS 延迟都比较低,解析响应速度也很快,支持 EDNS 几乎是标配,少部分支持 GeoDNS,一般都有要求实名认证。国外 DNS 延迟相对都比较高,还存在不稳定(针对国内)、生效慢等问题,免费 DNS 几乎都不支持 EDNS 或 GeoDNS,不过使用上基本没啥限制,没什么太大门槛。所以到底要选择国内 DNS 还是国外 DNS,还是要看你域名的使用目的和服务对象。
云解析 DNS
华为云解析 DNS 是目前国内为数不多的既支持 ENDS 又支持 GeoDNS 的、最低 TTL 为 1s 的免费权威 DNS,面向所有华为云注册用户,不论域名是否是在华为云注册都可以使用。
注册账号
参考《华为云云创校园计划学生免认证上线,高配学生机最低只要 99 元/年,附申请教程及最新测评》,打开注册页面,按页面提示注册即可:

注册后按提示进行实名认证,认证后即可无限制使用华为云服务:

新用户可以免费领取云服务器、MySQL、CDN 的体验套餐,有兴趣可以自行参与,这里我们直接使用云解析 DNS 服务。
添加域名
在后台服务列表找到云解析服务 DNS,然后公网解析:

创建公网域名:

填写域名以及邮箱等信息,其中域名必填,其他信息选填,点确定保存:

然后再在列表点域名进入解析管理,可以看到需要在域名注册商处,将 DNS 地址设置为:ns1.hwclouds-dns.com 及 ns1.hwclouds-dns.net 才能接管解析:

考虑到无损迁移,建议先在云解析这里将解析记录都添加好后再行 DNS 修改,到这里域名已经添加成功。
添加解析
点击右上角“记录集” 添加解析:

主机记录可以根据自己需求填写,不填则为根域名。可以看到记录类型支持 A、AAAA、CNAME、MX、TXT、SRV、NS、CAA 等常见类型,很贴心地指出了各种类型具体什么作用。

线路类型可以看到支持默认、运营商线路解析、地域解析等类型。
默认针对不支持其他类型的 DNS 的回应,考虑到仍有大部分 DNS 不支持 EDNS 或 GeoDNS,建议都先配置一条默认解析。
运营商线路(EDNS)支持电信、移动、联通、教育网、铁通、鹏博士等,还支持细化到东北、华北、西北、华中、华南、华东、西南等区域的运营商:

地区线路(GeoDNS)支持中国东北、华北、西北、华中、华南、华东、西南等区域,以及亚太地区、大洋洲、欧洲、北美洲、南美洲、非洲等地区,甚至还可以细化到的各个国家:

华为云云解析 DNS TTL 最低支持 1s,因此可以自己填写,或者直接快速选择 5 分钟、1 小时、12 小时、1 天,然后填好记录值点确定添加即可:

到这里,一条 www 记录已经添加成功,可以根据自己需求继续添加:

验证解析
现在添加的记录如下:
| 域名 | 记录类型 | 线路类型 | TTL值(秒) | 权重值 | 记录值 |
|---|---|---|---|---|---|
| vircloud.net. | A | 全网默认 | 30 | 1 | 192.168.1.1 |
| vircloud.net. | A | 联通默认 | 30 | 1 | 192.168.1.2 |
| vircloud.net. | A | 移动默认 | 30 | 1 | 192.168.1.3 |
| vircloud.net. | A | 电信默认 | 30 | 1 | 192.168.1.4 |
| vircloud.net. | A | 北美洲 | 30 | 1 | 192.168.1.5 |
北京电信 + 80.80.80.80 解析
[root@lc-bj ~]# curl http://ip-api.com/json/?fields=status,country,regionName,city,isp
{"city":"Beijing","country":"China","isp":"Chinanet","regionName":"Beijing","status":"success"}
[root@lc-bj ~]# dig vircloud.net @80.80.80.80 +short
192.168.1.1福州联通 + 223.5.5.5.5 解析
[root@fzun ~]# curl http://ip-api.com/json/?fields=status,country,regionName,city,isp
{"city":"Fuzhou","country":"China","isp":"UNICOM","regionName":"Fujian","status":"success"}
[root@fzun ~]# dig vircloud.net @223.5.5.5 +short
192.168.1.2安徽移动 + 8.8.8.8 解析
[root@ahcm ~]# curl http://ip-api.com/json/?fields=status,country,regionName,city,isp
{"city":"Guangzhou","country":"China","isp":"China Mobile communications corporation","regionName":"Guangdong","status":"success"}
[root@ahcm ~]# dig vircloud.net @8.8.8.8 +short
192.168.1.3北京电信 + 114.114.114.114 解析
[root@lc-bj ~]# curl http://ip-api.com/json/?fields=status,country,regionName,city,isp
{"city":"Beijing","country":"China","isp":"Chinanet","regionName":"Beijing","status":"success"}
[root@lc-bj ~]# dig vircloud.net @114.114.114.114 +short
192.168.1.4香港 + 8.8.8.8 解析
[root@az-hk ~]# curl http://ip-api.com/json/?fields=status,country,regionName,city,isp
{"city":"Hong Kong","country":"Hong Kong","isp":"Microsoft Corporation","regionName":"Central and Western","status":"success"}
[root@az-hk ~]# dig vircloud.net @8.8.8.8 +short
192.168.1.1洛杉矶 + 8.8.8.8 解析
[root@cc-us ~]# curl http://ip-api.com/json/?fields=status,country,regionName,city,isp
{"city":"Santa Clarita","country":"United States","isp":"Multacom Corporation","regionName":"California","status":"success"}
[root@cc-us ~]# dig vircloud.net @8.8.8.8 +short
192.168.1.5新加坡 + 119.29.29.29
root@do-sg:~# curl http://ip-api.com/json/?fields=status,country,regionName,city,isp
{"city":"Singapore","country":"Singapore","isp":"DigitalOcean, LLC","regionName":"","status":"success"}
root@do-sg:~# dig f2u.me @119.29.29.29 +short
192.168.1.1综上解析情况,可以看到不同地区不同线路解析到的 IP 跟我们添加的解析是一致的,也就是说华为云云解析 DNS 的 EDNS 和 GeoDNS 名副其实。测试中发现,华为云云解析生效很快,几乎是添加后马上生效,同时意外发现谷歌的 8.8.8.8 居然也支持 EDNS 和 GeoDNS。
参考文章:
1、《利用Google Kubernetes Engine打造GeoDNS服务》
2、《目前国内免费可用的域名解析服务》
Windows 10Chrome 75.0.3770.100来自 陕西 的大神
dnspod用习惯了,懒得换
Windows 10Chrome 75.0.3770.80来自 福建 的大神
DNSPod 也是支持 EDNS 和 GeoDNS 的,不过从官方文档上看,华为云云解析 DNS 节点更多,也就意味着解析会比 DNSPod 更加准确。其实主要还是看需求,如果没有 EDNS 和 GeoDNS 需求的话,选哪一个解析商区别不大。
Windows 8.1Chrome 63.0.3239.132来自 湖南 的大神
用国外的吧。
Windows 10Chrome 75.0.3770.80来自 福建 的大神
看个人需求~擦边的就不建议用国内的了
Windows 10Chrome 75.0.3770.100来自 广西 的大神
国外速度慢吧
Windows 10Chrome 75.0.3770.80来自 福建 的大神
正常是感觉不出来的,我就是用国外的
Windows 10Chrome 77.0.3851.0来自 北京 的大神
没有GeoDNS我选择geoscaling
Windows 10Chrome 75.0.3770.80来自 福建 的大神
真大佬,居然能发现这么神奇的 DNS 解析
AWS CloudFront CDN 详细图文部署教程及自选优质 IP 方法 | 我的文本