LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1547|回复: 16

根据目标域名选择DNS服务器?

[复制链接]
发表于 2011-5-12 20:46:23 | 显示全部楼层 |阅读模式
因为严重的DNS污染,我一直用OpenDNS作为主要的DNS服务器。OpenDNS对一些有海外镜像的国内网站,会将域名解析到国外的服务器,譬如cctv.com会被解析到美国的服务器。因此我希望将某些特定域名通过国内的DNS服务器解析,而其他域名通过OpenDNS解析。

Google搜索的结果,似乎只有在本地架设DNS服务器用来转发DNS请求一途。我担心bind太过笨重,会占用过多的系统资源。不知有没有什么替代方案?

先谢谢了。
发表于 2011-5-12 20:51:13 | 显示全部楼层
直接8.8.8.8?
回复 支持 反对

使用道具 举报

发表于 2011-5-12 21:12:49 | 显示全部楼层
关注下,也用的opendns……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-12 21:17:04 | 显示全部楼层
Post by cigerma;2138906
直接8.8.8.8?


嗯...
  • Google Public DNS一样是会将cntv.cn解析到美国的,不会解决什么问题;
  • Google Public DNS更新DNS记录的频率较OpenDNS更低。
回复 支持 反对

使用道具 举报

发表于 2011-5-12 22:17:12 | 显示全部楼层
诺顿dns呢?

opendns 广告比某信某通更恶心。google dns秒更吧?我godaddy刚刚改完a记录,几分钟就ok,国内的基本要好几个小时
回复 支持 反对

使用道具 举报

发表于 2011-5-12 22:42:21 | 显示全部楼层
bind一点也不笨重,好用的很。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-13 12:45:48 | 显示全部楼层
Post by delectate;2138925
诺顿dns呢?

opendns 广告比某信某通更恶心。google dns秒更吧?我godaddy刚刚改完a记录,几分钟就ok,国内的基本要好几个小时

诺顿dns没试过。

上次我试用Google Public DNS时,一个DNS记录的更新花了几个小时,OpenDNS花了30分钟。(嗯,大约一年前...)而且OpenDNS有这个: http://www.opendns.com/support/cache/

关于OpenDNS的广告:

  • Adblock Plus足以屏蔽OpenDNS页上的广告;
  • 看不懂的广告,一般是不会令人感到恶心的;
  • OpenDNS不是慈善机构,其收入来源也不及电信/网通/Google那样多。

Post by druggo;2138927
bind一点也不笨重,好用的很。

至少bind似乎不是什么轻量级的软件... 正在emerge bind,准备实测一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-5-13 20:25:07 | 显示全部楼层
emerge bind之后配置相当容易,在/etc/bind/named.conf中将forward/forwarder等几行uncomment掉,bind就会默认将DNS请求forward到Google Public DNS。之后在文件末尾加入类似的内容:
  1. zone "cctv.com" {
  2.         type forward;
  3.         forwarders { 219.149.135.188; 219.150.32.132; };
  4. };
  5. zone "cntv.cn" {
  6.         type forward;
  7.         forwarders { 219.149.135.188; 219.150.32.132; };
  8. };
复制代码
注意219.149.135.188; 219.150.32.132;是我这里(山西电信)的DNS服务器,使用时应该替换为本地运营商的DNS服务器。
我还在options部分中加入max-cache-size以抑制bind进程内存占用的过分增长:
  1.         max-cache-size 4096;
复制代码


美中不足的是似乎每个特殊域名都要定义一个zone,未能找到更简洁的表示方法。
回复 支持 反对

使用道具 举报

发表于 2011-5-14 11:34:14 | 显示全部楼层
我之前从pdnsd转到了maradns 又转到了unbound
没用bind
为什么用ISP dns?我直接用的ICANN服务器,isp的dns不也是请求它们再返回结果么
关键是cache性能和dnssec验证
还有个好处是可以使用alternative dns service,如opennic,有.geek .null 等域名可以玩儿 :)
回复 支持 反对

使用道具 举报

发表于 2011-5-14 12:49:29 | 显示全部楼层
美中不足的是似乎每个特殊域名都要定义一个zone,未能找到更简洁的表示方法。


maradns 的表示非常简单明了,unbound还没来得及玩儿

From my mararc file:

  1. root_servers = {}
  2. root_servers["."] = "icann"
  3. root_servers["geek."] = "opennic"
  4. root_servers["free."] = "opennic"
  5. root_servers["bbs."] = "opennic"
  6. root_servers["fur."] = "opennic"
  7. root_servers["gopher."] = "opennic"
  8. root_servers["indy."] = "opennic"
  9. root_servers["ing."] = "opennic"
  10. root_servers["null."] = "opennic"
  11. root_servers["oss."] = "opennic"
  12. root_servers["micro."] = "opennic"

  13. ipv4_alias = {}
  14. # ICANN: the most common and most controversial root name server
  15. # http://www.icann.org
  16. # This list can be seen at http://www.root-servers.org/
  17. ipv4_alias["icann"]  = "198.41.0.4, 192.228.79.201, 192.33.4.12, 128.8.10.90,"
  18. ipv4_alias["icann"] += "192.203.230.10, 192.5.5.241, 192.112.36.4,"
  19. ipv4_alias["icann"] += "128.63.2.53, 192.36.148.17, 192.58.128.30,"
  20. ipv4_alias["icann"] += "193.0.14.129, 199.7.83.42, 202.12.27.33"

  21. # OpenNIC: http://www.opennic.unrated.net/
  22. # Current as of 2005/11/30; these servers change frequently so please
  23. # look at their web page
  24. ipv4_alias["opennic"]  = "74.207.247.4, 216.87.84.211, 66.244.95.20, 67.159.25.26, "
  25. ipv4_alias["opennic"] += "69.164.211.225, 72.14.189.120, 128.173.89.246, 68.68.18.197, "
  26. ipv4_alias["opennic"] += "82.237.169.10, 217.79.186.148, 58.6.115.42, "
  27. ipv4_alias["opennic"] += "202.83.95.227, 119.31.230.42 "
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表