企业开源域名服务安全防护策略及实战(5)

发表于:2013-07-14来源:IBM作者:李洋点击数: 标签:域名
上述六条资源记录的具体含义为:在 DNS 服务器中为 www.feixiang.com 设定了三台服务器响应客户的访问请求。这三台服务器分别为 web_server1、web_server2 和 we

  上述六条资源记录的具体含义为:在 DNS 服务器中为 www.feixiang.com 设定了三台服务器响应客户的访问请求。这三台服务器分别为 web_server1、web_server2 和 web_server3,而他们均为 www 服务器的别名。因此,在访问 www 服务器时,DNS 服务器将依次循环地将访问请求均衡到三台服务器中去,以达到负载均衡的目的。

  配置智能 DNS 高速解析

  随着原中国的互联网骨干网被一分为二了,北有联通、南有电信。从此,细心的网民可以发现,有些经常访问的网站速度一下子慢了下来,有时候还有访问不到的情况出现。例如北方地区的网络用户访问中国联通的服务器会非常快,而访问中国电信的服务器时,感觉非常慢。这种现象不仅影响了网站的访问量,更严重的是它直接影响了一些经营性网站的经济效益。据分析,产生这个问题的根本原因是中国电信分家之后,电信与联通之间的互连存在问题。虽然信息产业部已经在规划南北互通计划,但在今后相当长的一段时期内,南北方网互连的问题还会长期存在。

  智能 DNS 策略解析很好的解决了上面所述的问题。DNS 策略解析最基本的功能是可以智能的判断访问网站的用户,然后根据不同的访问者把网站的域名分别解析成不同的 IP 地址。如访问者是联通用户,DNS 策略解析服务器会把网站域名对应的联通 IP 地址解析给这个访问者。如果用户是电信用户,DNS 策略解析服务器会把网站域名对应的电信 IP 地址解析给这个访问者。

  除此之外,智能 DNS 策略解析还可以实现就近访问机制。有些用户在国外和国内都放置了服务器,使用 DNS 策略解析服务可以让国外的网络用户访问国外的服务器,国内的用户访问国内的服务器,从而使国内外的用户都能迅速的访问到网站的服务器。另外,智能 DNS 策略解析还可以给网站的多个主机实现负载均衡,这时来自各地的访问流量会比较平均的分布到服务器的每一个主机上。

  下面以一个简单的例子来说明如何实现智能 DNS 的配置。在配置之前,我们需要使用前面小节介绍的有关知识生成针对电信网(telecom_feixiang.com)和联通网(cnc_feixiang.com)的区文件:

 // 在 named.conf 文件的
 options { 
 directory "/var/bind"; 

 }; 

 // 后添加如下控制网段:
 acl "CNC" { 
 58.16.0.0/16; 
 58.17.0.0/17; 
 58.17.128.0/17; 
 58.18.0.0/16; 
 58.19.0.0/16; 
 58.20.0.0/16; 
 58.21.0.0/16; 
 58.22.0.0/15; 
 58.240.0.0/15; 
 221.13.128.0/17; 
 221.14.0.0/15; 
 221.192.0.0/15; 
 221.194.0.0/16; 
 221.195.0.0/16; 
 221.196.0.0/15; 
 221.198.0.0/16; 
 221.207.0.0/18; 
 }; 

 // 修改原来的 dns 配置,让电信和联通访问不同的配置文件
 view "view_cnc" { 

 match-clients { CNC;}; 

 zone "." { 

 type hint; 

 file "named.ca"; 

 }; 

 zone "localhost" { 

 type master; 

 file "db.local"; 

 }; 

 zone "0.0.127.in-addr.arpa" { 

 type master; 

 file "127.0.0.zone"; 

 }; 

 zone "feixiang.com" { 

 type master; 

 file "cnc_feixiang.com"; 

 }; 

 zone "10.42.59.in-addr.arpa" { 

 type master; 

 file "59.42.10.zone"; 

 }; 

 zone "110.21.210.in-addr.arpa" { 

 type master; 

 file "210.21.110.zone"; 

 }; 
 }; 

 view "view_any" { 

 match-clients { any; }; 

 zone "." { 

 type hint; 

 file "named.ca"; 

 }; 

 zone "localhost" { 

 type master; 

 file "db.local"; 

 }; 

 zone "0.0.127.in-addr.arpa" { 

 type master; 

 file "127.0.0.zone"; 

 }; 

 zone "feixiang.com" { 

 type master; 

 file "telecom_feixiang.com"; 

 }; 

 zone "10.42.59.in-addr.arpa" { 

 type master; 

 file "59.42.10.zone"; 

 }; 

 zone "110.21.210.in-addr.arpa" { 

 type master; 

 file "210.21.110.zone"; 

 }; 

 }; 

  合理配置 DNS 的查询方式提高效率

  DNS 的查询方式有两种,递归查询和迭代查询。合理配置这两种查询方式,能够在实践中取得较好的效果。

  其中,递归查询是最常见的查询方式,工作方式是:域名服务器将代替提出请求的客户机(下级 DNS 服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。具体流程示意请见图 2:

  图 2.DNS 递归查询流程示意

图 2.DNS 递归查询流程示意

  迭代查询又称重指引查询。其工作方式为:当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般的,每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。具体流程示意如图 3 所示:

  图 3.DNS 迭代查询流程示意

图 3.DNS 迭代查询流程示意

  综合上面两点,我们可以看出来,递归查询就是客户机会等待最后结果的查询,而迭代查询是客户机等到的不一定是最终的结果,而可能是一个查询提示。因而存在如下两个问题:

原文转自:http://www.ibm.com/developerworks/cn/linux/1306_liyang_securedns/