温馨提示:
本文所述内容具有时效性,可能因经年累月发展而与现状有所差异,故不保证有效性,仅供参考。
域名名称系统(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用习惯了,懒得换
DNSPod 也是支持 EDNS 和 GeoDNS 的,不过从官方文档上看,华为云云解析 DNS 节点更多,也就意味着解析会比 DNSPod 更加准确。其实主要还是看需求,如果没有 EDNS 和 GeoDNS 需求的话,选哪一个解析商区别不大。
Windows 8.1Chrome 63.0.3239.132来自 湖南 的大神
用国外的吧。
看个人需求~擦边的就不建议用国内的了
Windows 10Chrome 75.0.3770.100来自 广西 的大神
国外速度慢吧
正常是感觉不出来的,我就是用国外的
Windows 10Chrome 77.0.3851.0来自 北京 的大神
没有GeoDNS我选择geoscaling
真大佬,居然能发现这么神奇的 DNS 解析
AWS CloudFront CDN 详细图文部署教程及自选优质 IP 方法 | 我的文本