免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6018 | 回复: 11

[DNS] Bind9中view问题,无法加入第二个view [复制链接]

论坛徽章:
0
发表于 2010-01-27 20:44 |显示全部楼层
10可用积分
named.conf:
options {
15     listen-on port 53 { any; };
16     #listen-on-v6 port 53 { ::1; };
17     directory   "/var/named";
18     dump-file   "/var/named/data/cache_dump.db";
19         statistics-file "/var/named/data/named_stats.txt";
20         memstatistics-file "/var/named/data/named_mem_stats.txt";
21
22     // Those options should be used carefully because they disable port
23     // randomization
24     // query-source    port 53;
25     // query-source-v6 port 53;
26
27     allow-query     { any; };
28     allow-query-cache { any; };
29     forwarders      {8.8.8.8;};
30     forward         only;
31     recursion yes;
32     #allow-transfer {any;};
33 };
34
35 logging {
36         channel default_debug {
37                 file "data/named.run";
38                 severity dynamic;
39                 };
40         };
41
42 view tianan{
43     match-clients   {any;};
          match-destinations  {any;};
45     recursion yes;
46     zone "." IN {
47             type hint;
48             file "named.ca";
49     };
51     zone "tianan.com" { type master; file "tianan.com.zone"; allow-query { any; }; };
52     zone "linux.com" { type master; file "linux.com.zone"; allow-query { any; }; };
53 };
54
55 view linux{
56     match-clients   {any;};
57     match-destinations  {any;};
58     recursion yes;
59     zone "." IN {
60             type hint;
61             file "named.ca";
62     };
63   
64     zone "example.com" { type master; file "example.com.zone"; allow-query { any; }; };
65 };
66
67 view localhost_resolver {
68     match-clients      {localhost; };
69     match-destinations {localhost; };
70     recursion yes;
71     include "/etc/named.rfc1912.zones";
72 };

linux.com.zone:
$TTL    86400
  2 @       IN SOA  master.linux.com.       root.linux.com (
  3                     12      ; serial (d. adams)
  4                     3H      ; refresh
  5                     15M     ; retry
  6                     1W      ; expiry
  7                     1D )        ; minimum
  8
  9         IN NS   master.linux.com
10         IN A        172.16.41.30
11 master  IN A        172.16.41.30
12 www     IN A        172.16.41.30
13 mail    IN A        172.16.41.30
14 smtp    IN A        172.16.41.30
15 pop3    IN A        172.16.41.30
16 @       IN MX 10    mail.linux.com
17 *       IN A        172.16.41.30

tianan.com.zone:
  1 $TTL    86400
  2 @       IN SOA  tianan.com.       root.tianan.com (
  3                     13  ; serial (d. adams)
  4                     3H      ; refresh
  5                     15M     ; retry
  6                     1W      ; expiry
  7                     1D )        ; minimum
  8
  9         IN NS       tianan.com
10         IN A        172.16.41.14
11 www     IN A        172.16.41.14
12 mail    IN A        172.16.41.14
13 *       IN A        172.16.41.14

example.com.zone:
1 $TTL    86400
  2 @       IN SOA  master.example.com.       root.example.com (
  3                     12      ; serial (d. adams)
  4                     3H      ; refresh
  5                     15M     ; retry
  6                     1W      ; expiry
  7                     1D )        ; minimum
  8
  9         IN NS   master.example.com
10         IN A        172.16.41.30
11 master  IN A        172.16.41.30
12 www     IN A        172.16.41.30
13 mail    IN A        172.16.41.30
14 smtp    IN A        172.16.41.30
15 pop3    IN A        172.16.41.30
16 @       IN MX 10    mail.example.com
17 *       IN A        172.16.41.30

bind版本:BIND 9.3.6-P1-RedHat-9.3.6-4.P1.el5
问题:ping linux.com或者 ping tianan.com可以正确解析到IP地址,但是ping example.com 却不是172.16.41.30,而是转发出去解析了,得到的是真正的网站的IP,不是内部的IP地址。
怎样才能让example.com也解析到内部的IP地址?

[ 本帖最后由 shelmesky 于 2010-1-27 20:48 编辑 ]

最佳答案

查看完整内容

同地址来源的请求分配到不同的view而相同地址来源的请求都必须放到同一个view从我的实验结果验证时这样的。

论坛徽章:
0
发表于 2010-01-27 20:44 |显示全部楼层
同地址来源的请求分配到不同的view
而相同地址来源的请求都必须放到同一个view
从我的实验结果验证时这样的。

论坛徽章:
0
发表于 2010-01-27 20:45 |显示全部楼层
自己顶!

论坛徽章:
0
发表于 2010-01-27 21:55 |显示全部楼层
view同ACL,按照逐条匹配原则。
“view tianan
match-clients   {any;};”
match client已经是any了,客户机查询“example.com”,如果“view tiantian”中如过没有zone "example.com",
那么服务器就直接将查询提交根服务器进行迭代查询了,而不是继续在“view linux”中进行查询。

论坛徽章:
0
发表于 2010-01-27 22:03 |显示全部楼层
是不是可以这么理解,如果第一个view无法解析的域名,才会轮到第二个view解析?
有没有可能两个view的match-clients都匹配相同的地址,但是解析的域名不一样?
是不是view设计的初衷就是,把不同地址来源的请求分配到不同的view?
而相同地址来源的请求都必须放到同一个view?

论坛徽章:
0
发表于 2010-01-27 22:57 |显示全部楼层
谢谢您的答案!

论坛徽章:
0
发表于 2010-01-27 23:09 |显示全部楼层
我在删除了named.conf中的recursion=yes递归查询,删除了forwarder,还删除了zone ".",为什么我在bind所在的服务器上ping example.com,它还是会去根服务器查询呢?按道理不会啊。

论坛徽章:
0
发表于 2010-01-28 06:42 |显示全部楼层
原帖由 shelmesky 于 2010-1-27 23:09 发表
我在删除了named.conf中的recursion=yes递归查询,删除了forwarder,还删除了zone ".",为什么我在bind所在的服务器上ping example.com,它还是会去根服务器查询呢?按道理不会啊。


当你使用“ping”命令时,这个时候你要确认一下你的服务器是向那个DNS提交的查询!

论坛徽章:
0
发表于 2010-01-28 08:09 |显示全部楼层
抓包看到了,它是向某台根服务器发出DNS查询请求的。开始我怀疑是服务器本身DNS的问题,可是服务器的DNS已经设置成它自己解析了。而且在其他windows机器上,查询相同的域名,也是相同的结果(7楼)。

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
发表于 2010-01-28 12:29 |显示全部楼层
最好在真实情况测试,不然得自建根域和.com权威

或者lz把.zone给去掉试试,我正愁手头没条件测试

[ 本帖最后由 godsad 于 2010-1-28 12:32 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP