none
询问关于DNS GlobalNames Zone能否支持类似aaa.bbb这种Cname? RRS feed

  • 问题

  • 原来使用aaa.bbb这种形式的a记录,解决域名太长的问题。现在想统一,使用cname加入到globalnames zone。但是直接改成单标签DNS又担心某些应用无法解析。

    想在globalnames zone下直接创建aaa.bbb这种cname,自己搭了个虚拟机测试,没成功,想询问下,是否支持这种格式的cname?

    我在测试机器上创建了2个DNS cname,指向同一个web服务器IP,用nslookup解析没有问题

    --------------------------------------------------------------

    C:\Users\Administrator>nslookup

    Default Server:  localhost
    Address:  127.0.0.1

    > aaa.bbb
    Server:  localhost
    Address:  127.0.0.1

    Name:    test1.test.org
    Address:  192.168.60.200
    Aliases:  aaa.bbb.test.org

    > aaa
    Server:  localhost
    Address:  127.0.0.1

    Name:    test1.test.org
    Address:  192.168.60.200
    Aliases:  aaa.test.org

    --------------------------------------------------------------

    但是用浏览器访问aaa.bbb和ping aaa.bbb都有问题

    --------------------------------------------------------------

    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

    C:\Users\Administrator.TEST>ping aaa

    Pinging test1.test.org [192.168.60.200] with 32 bytes of data:
    Reply from 192.168.60.200: bytes=32 time<1ms TTL=128
    Reply from 192.168.60.200: bytes=32 time<1ms TTL=128
    Reply from 192.168.60.200: bytes=32 time<1ms TTL=128
    Reply from 192.168.60.200: bytes=32 time<1ms TTL=128

    Ping statistics for 192.168.60.200:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms

    C:\Users\Administrator.TEST>ping aaa.bbb
    Ping request could not find host aaa.bbb. Please check the name and try again.

    C:\Users\Administrator.TEST>

     --------------------------------------------------------------


    2013年5月8日 12:22

答案

  • 据我了解,GlobalNames Zone是为了解决单标域解析问题,aaa.bbb不行吧

    • 已建议为答案 Finy 2013年5月9日 4:27
    • 已编辑 Finy 2013年5月9日 7:04
    • 已标记为答案 但愿人长久 2013年5月9日 10:10
    2013年5月9日 4:24
  • 经过进一步研究,貌似GlobalNames Zone这种解决方案是依赖于客户端的程序在请求单标域名时发出的DNS请求中会先append domain suffix这样一个行为的。

    也就是说,你在ping aaa或nslookup aaa或IE去访问aaa这种单标域名时,实际发出的DNS请求中,问的是aaa.test.org,这个test.org是被自动添加的,这时,DNS服务器首先检查GlobalNames Zone中有没有aaa,发现有,就CNAME了;如果没发现,就继续走正规流程,查test.org这个zone下的aaa

    在nslookup里,你可以通过set d2再执行aaa查询,看一下详细的query是不是带了test.org?这个应该就是关键!我相信你那边就是这样。

    那么,对于非单标域名aaa.bbb,程序就不会有这种auto append suffix的行为,以至于无法得到解答(除非你的DNS真的有bbb zone,里面有aaa的记录)。

    _____________________________________________________________________________________________

    最后,换句话说,GlobalNames Zone能支持类似aaa.bbb这种Cname,GlobalNames Zone本质上也就是个普通的正向Zone。。。

    但是你的客户端程序不会在企图访问aaa.bbb时发出aaa.bbb.test.org那样的DNS请求(nslookup除外)

    2013年5月9日 8:27

全部回复

  • 据我了解,GlobalNames Zone是为了解决单标域解析问题,aaa.bbb不行吧

    • 已建议为答案 Finy 2013年5月9日 4:27
    • 已编辑 Finy 2013年5月9日 7:04
    • 已标记为答案 但愿人长久 2013年5月9日 10:10
    2013年5月9日 4:24
  • 经过进一步研究,貌似GlobalNames Zone这种解决方案是依赖于客户端的程序在请求单标域名时发出的DNS请求中会先append domain suffix这样一个行为的。

    也就是说,你在ping aaa或nslookup aaa或IE去访问aaa这种单标域名时,实际发出的DNS请求中,问的是aaa.test.org,这个test.org是被自动添加的,这时,DNS服务器首先检查GlobalNames Zone中有没有aaa,发现有,就CNAME了;如果没发现,就继续走正规流程,查test.org这个zone下的aaa

    在nslookup里,你可以通过set d2再执行aaa查询,看一下详细的query是不是带了test.org?这个应该就是关键!我相信你那边就是这样。

    那么,对于非单标域名aaa.bbb,程序就不会有这种auto append suffix的行为,以至于无法得到解答(除非你的DNS真的有bbb zone,里面有aaa的记录)。

    _____________________________________________________________________________________________

    最后,换句话说,GlobalNames Zone能支持类似aaa.bbb这种Cname,GlobalNames Zone本质上也就是个普通的正向Zone。。。

    但是你的客户端程序不会在企图访问aaa.bbb时发出aaa.bbb.test.org那样的DNS请求(nslookup除外)

    2013年5月9日 8:27
  • 解疑惑了,真心感谢!太详细了!
    2013年5月9日 10:11