V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vultr
V2EX  ›  DNS

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

  •  
  •   vultr · 2017-01-05 11:55:56 +08:00 · 7822 次点击
    这是一个创建于 2666 天前的主题,其中的信息可能已经有所发展或是发生改变。
    例如有: ns1.abc.com, ns2.abc.comns1.abc.com 用的是香港的云, ns2.abc.com 用的是 LA 的云,怎么让中国大陆用户一直请求 ns1.abc.com 对域名进行解析?

    搜索得知有 anycast 这样的技术,但不知道怎么弄,除了 anycast 还有其它招数不?
    19 条回复    2017-01-06 15:42:49 +08:00
    xcodeghost
        1
    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
        2
    shiji  
       2017-01-05 13:20:46 +08:00 via Android   ❤️ 1
    如果 abc.com 是你的域名的话, ns1.abc.com 是这个域名的 ns , 那么得设置 glue record 吧? glue record 结果是由.com 的 ns 负责的,没听说过.com 的 ns 支持过什么花花肠子功能。 所以我认为你提出的问题无解。
    mytsing520
        3
    mytsing520  
       2017-01-05 13:20:48 +08:00
    楼上的说法的话,那还是要在 3 个线路上随机跳的,反而增加了解析时长
    mytsing520
        4
    mytsing520  
       2017-01-05 13:21:13 +08:00
    说的是 1 楼, 2 楼请无视
    vultr
        5
    vultr  
    OP
       2017-01-05 13:25:32 +08:00
    @shiji 我目前也找不到解决的方法,上来 v2 问问,看有没有特别的招数。
    xcodeghost
        6
    xcodeghost  
       2017-01-05 13:33:35 +08:00   ❤️ 1
    @vultr
    @mytsing520 我记得递归 DNS 取得域名的最终 NS 记录是来自权威 DNS 上的记录,而并非.com 的记录。除非权威 DNS 上没有设置 NS 记录。
    xcodeghost
        7
    xcodeghost  
       2017-01-05 13:35:53 +08:00   ❤️ 1
    @shiji 这个问题我很早之前就请教过 fenghe ,他博客中当时还记录了: http://blog.dnsbed.com/archives/115

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

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

    高手在 v2, 哈。

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

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

    最合适的只有上 Anycast
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3711 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:50 · PVG 08:50 · LAX 17:50 · JFK 20:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.