自建权威 dns,怎么让用户一直访问最合适的 dns 服务器

2017-01-05 11:55:56 +08:00
 vultr
例如有: ns1.abc.com, ns2.abc.comns1.abc.com 用的是香港的云, ns2.abc.com 用的是 LA 的云,怎么让中国大陆用户一直请求 ns1.abc.com 对域名进行解析?

搜索得知有 anycast 这样的技术,但不知道怎么弄,除了 anycast 还有其它招数不?
7993 次点击
所在节点    DNS
19 条回复
xcodeghost
2017-01-05 12:55:58 +08:00
你这三台权威 DNS 得支持智能解析,在这三台服务器上设置 ns1.abc.com\ns2.abc.com\ns3.abc.com 的 A 记录时,设置智能解析到 ns1.abc.com 的 IP 地址,这样递归 DNS 获取的 IP 地址应该就是 ns1.abc.com

这样应该可以的,没试过,不确定。
shiji
2017-01-05 13:20:46 +08:00
如果 abc.com 是你的域名的话, ns1.abc.com 是这个域名的 ns , 那么得设置 glue record 吧? glue record 结果是由.com 的 ns 负责的,没听说过.com 的 ns 支持过什么花花肠子功能。 所以我认为你提出的问题无解。
mytsing520
2017-01-05 13:20:48 +08:00
楼上的说法的话,那还是要在 3 个线路上随机跳的,反而增加了解析时长
mytsing520
2017-01-05 13:21:13 +08:00
说的是 1 楼, 2 楼请无视
vultr
2017-01-05 13:25:32 +08:00
@shiji 我目前也找不到解决的方法,上来 v2 问问,看有没有特别的招数。
xcodeghost
2017-01-05 13:33:35 +08:00
@vultr
@mytsing520 我记得递归 DNS 取得域名的最终 NS 记录是来自权威 DNS 上的记录,而并非.com 的记录。除非权威 DNS 上没有设置 NS 记录。
xcodeghost
2017-01-05 13:35:53 +08:00
@shiji 这个问题我很早之前就请教过 fenghe ,他博客中当时还记录了: http://blog.dnsbed.com/archives/115

本地递归DNS最终是缓存权威 DNS 上 NS 记录。
vultr
2017-01-05 13:51:59 +08:00
@xcodeghost 我在本机的环境验证了你的说法,确实如你所说的是缓存的权威 dns 的 ns 记录。

看来 bind 上配置 minimal-responses yes ; 是不好的。
shiji
2017-01-05 13:56:24 +08:00
@xcodeghost 这个有点意思,我以前从来没注意过这块儿,学习了。
raysonx
2017-01-05 14:01:05 +08:00
@vultr 没错, ns 的结果确实是权威 DNS 的 ns 的记录。
但问题出在递归 DNS 第一次解析这个域名的时候, ns 记录是由 com.的权威 DNS 提供的。
vultr
2017-01-05 14:10:21 +08:00
@raysonx 是的,第一次解析可能慢的问题还没解决,不过已经解决大部分问题了。

高手在 v2, 哈。

一直在头痛的问题一下子就解决掉了,谢谢大家。
lslqtz
2017-01-05 17:05:38 +08:00
只能 anycast 了吧,国内 anycast 又残了
johnjiang85
2017-01-05 17:08:03 +08:00
建议国内、国外分别部署多于一台服务器,用来做容灾。
vultr
2017-01-05 17:18:32 +08:00
@johnjiang85 是的,确实是要部署多台服务器。

对了,完全不了解 DPDK 的如果要研究它的话,有没有什么好书或者资料介绍?
johnjiang85
2017-01-05 23:40:48 +08:00
@vultr dpdk.org,官网的文档和 examples 都比较全,应该算是最好的资料了,除了 TCP/IP 协议栈没有开源。
czb
2017-01-06 02:17:17 +08:00
你这样来的话 Points of Failure 太多了 而且还要有额外的查询 我觉得没有什么实用性
czb
2017-01-06 02:19:08 +08:00
要实现你说的这个我知道的只有 Anycast
txydhr
2017-01-06 05:09:50 +08:00
dns 协议好像没有自动选择最近服务器的功能
millken
2017-01-06 15:42:49 +08:00
@johnjiang85
推荐 snabb ,性能不输 DPDK ,我就拿它来测试 dns 性能,万兆网卡发 dns 查询包可以达到 1000W+

最合适的只有上 Anycast

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/332359

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX