免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11299 | 回复: 1
打印 上一主题 下一主题

[DNS] DNS查询AAAA记录疑问请教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-17 11:48 |只看该作者 |倒序浏览
本帖最后由 满天星 于 2011-05-17 11:55 编辑

目前使用BIND 9.8.0-P1版本验证最新发布的DNS64功能(参考:ISC发布BIND 9.8.0-P1版本支持DNS64特性),相应的IETF文档是RFC6147,基本原理就是DNS服务器先查询AAAA记录,如果权威服务器无AAAA记录返回,则DNS服务器再次发起A记录查询,根据返回的A记录,服务器自动使用options中配置的ipv6 prefix+返回的A记录ipv4地址,转换为AAAA记录返回给客户端,基本流程可以参考:NAT64与DNS64基本原理概述

目前我本机安装了一个bind进行调试与验证,但是发现www.qq.com的aaaa查询过后不会再发起a记录查询,导致服务器无信息返回给客户端
而vip.qq.com以及web.qq.com都会查询aaaa记录后再次发起a记录查询,并返回合成的AAAA记录。
不是很理解权威服务器返回www.qq.com的AAAA记录与vip.qq.com以及web.qq.com的区别……还是dns服务器自身的问题?

测试服务器上dig操作记录:
  1. D:\Windows\System32\dns\bin>rndc flush

  2. D:\Windows\System32\dns\bin>dig @localhost aaaa www.qq.com

  3. ; <<>> DiG 9.8.0-P1 <<>> @localhost aaaa www.qq.com
  4. ; (2 servers found)
  5. ;; global options: +cmd
  6. ;; Got answer:
  7. ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 3683
  8. ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

  9. ;; QUESTION SECTION:
  10. ;www.qq.com.                    IN      AAAA

  11. ;; Query time: 933 msec
  12. ;; SERVER: 127.0.0.1#53(127.0.0.1)
  13. ;; WHEN: Tue May 17 10:36:50 2011
  14. ;; MSG SIZE  rcvd: 28


  15. D:\Windows\System32\dns\bin>dig @localhost aaaa vip.qq.com

  16. ; <<>> DiG 9.8.0-P1 <<>> @localhost aaaa vip.qq.com
  17. ; (2 servers found)
  18. ;; global options: +cmd
  19. ;; Got answer:
  20. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47706
  21. ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 0

  22. ;; QUESTION SECTION:
  23. ;vip.qq.com.                    IN      AAAA

  24. ;; ANSWER SECTION:
  25. vip.qq.com.             600     IN      AAAA    1234::7793:415a
  26. vip.qq.com.             600     IN      AAAA    1234::716c:577b

  27. ;; AUTHORITY SECTION:
  28. vip.qq.com.             86400   IN      NS      ns-tel2.qq.com.
  29. vip.qq.com.             86400   IN      NS      ns-tel1.qq.com.

  30. ;; Query time: 261 msec
  31. ;; SERVER: 127.0.0.1#53(127.0.0.1)
  32. ;; WHEN: Tue May 17 10:36:58 2011
  33. ;; MSG SIZE  rcvd: 128


  34. D:\Windows\System32\dns\bin>dig @localhost aaaa web.qq.com

  35. ; <<>> DiG 9.8.0-P1 <<>> @localhost aaaa web.qq.com
  36. ; (2 servers found)
  37. ;; global options: +cmd
  38. ;; Got answer:
  39. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28739
  40. ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 2, ADDITIONAL: 0

  41. ;; QUESTION SECTION:
  42. ;web.qq.com.                    IN      AAAA

  43. ;; ANSWER SECTION:
  44. web.qq.com.             300     IN      CNAME   web2.qq.com.
  45. web2.qq.com.            300     IN      AAAA    1234::b73c:354
  46. web2.qq.com.            300     IN      AAAA    1234::b73c:37e
  47. web2.qq.com.            300     IN      AAAA    1234::b73e:7ed9
  48. web2.qq.com.            300     IN      AAAA    1234::790e:4a70

  49. ;; AUTHORITY SECTION:
  50. web2.qq.com.            86400   IN      NS      ns-tel1.qq.com.
  51. web2.qq.com.            86400   IN      NS      ns-tel2.qq.com.

  52. ;; Query time: 425 msec
  53. ;; SERVER: 127.0.0.1#53(127.0.0.1)
  54. ;; WHEN: Tue May 17 10:37:04 2011
  55. ;; MSG SIZE  rcvd: 203

复制代码
windows测试服务器安装bind的named.conf配置文件
  1. include "d:\Windows\System32\dns\etc\rndc.key";
  2. options  {
  3.     listen-on-v6 {any;};
  4.     allow-query {any;};
  5.     dnssec-enable no;
  6.     dnssec-validation no;
  7.     dns64 1234::/96 {
  8.                 clients { any; };
  9.                 mapped { any; };
  10.                 exclude { 1234::/96; ::ffff:0000:0000/96; };
  11.                 suffix ::;
  12.                 };
  13.     dns64-server "www.ipv6bbs.cn";
  14.     dns64-contact "www.ipv6bbs.cn";
  15.   
  16. };

  17. zone . {
  18.   type hint;
  19.   file "d:\Windows\System32\dns\etc\named.root";
  20. };
复制代码
查询过程对应的抓包记录:

dns64_packet.rar (3.02 KB, 下载次数: 44)

论坛徽章:
0
2 [报告]
发表于 2011-10-11 14:33 |只看该作者
我的DNS也发现了这个情况,dnsl_log日志记录如下:
11-Oct-2011 14:28:08.436 queries: info: client 192.168.25.54#37681: query: l-mem14.f.cn1 IN AAAA +
11-Oct-2011 14:28:08.436 queries: info: client 192.168.25.54#60267: query: l-mem14.f.cn1.xxx.com IN AAAA +
11-Oct-2011 14:28:08.437 queries: info: client 192.168.25.54#42853: query: l-mem14.f.cn1 IN A +
11-Oct-2011 14:28:08.438 queries: info: client 192.168.25.54#41048: query: l-mem14.f.cn1.xxx.com IN A +

它会先有两个AAAA的记录,然后再有两个A记录的查询

已知192.168.25.54这台上装的是nagios应用,/etc/resolv.conf里面是这样写的:
nameserver 192.168.0.250
search xxx.com

192.168.0.250就是提供解析的DNS,我在它的配置文件中加入了listen-on-v6 { none; }; 也不行,记录中还是会出现AAAA,这是怎么会事呀?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP