dnsmasq与bind

1,328 views
Skip to first unread message

cdluminate

unread,
Jul 23, 2014, 11:55:34 PM7/23/14
to xidian_linux
这几天我这边的ISP 对 8.8.8.8 和 8.8.4.4 有意见。
响应速度特别慢,dig 经常返回SERVFAIL。。。谷歌那边真的FAIL了吗。

dnsmasq用了半个学期,其中,有时候连续查询同一个地址都会出现200多毫秒延迟(不明真相)
现在折腾到bind9了,一开始还以为是个重量级server, 结果体积没比dnsmasq 大多少。

用了一阵子,dig的体验上,bind9的查询效果比dnsmasq稳定

各大wiki都写的用dnsmasq 来做 dns缓存,archwiki 神么的
而bind9照样可以 缓存only。
同时,dnsmasq的配置文件比bind乱,一个conf里塞了dns和dhcp等,内容上比较松散。
而bind(debian)的配置文件可以相对专注dns。(debian对bind9的配置文件做过改动)

我就不明白,为何没有推荐bind的
目前内存占用27MB,龙芯本都能开销。

---
千里之行,始于足下。
---
Regards,
C.D.Luminate

Qiyi Caitian

unread,
Jul 24, 2014, 12:39:51 AM7/24/14
to xidian...@googlegroups.com
鄙社这边好像没有什么问题,我觉得多半是墙的问题。


--
您收到此邮件是因为您订阅了“西电开源社区”邮件列表。
要向此邮件列表发帖,请发送电子邮件至 xidian...@googlegroups.com
要取消订阅,请发送电子邮件至 xidian_linux...@googlegroups.com
请通过 https://groups.google.com/group/xidian_linux?hl=zh-CN 访问此网上论坛。
通过 [ipv6 enabled] http://xdlinux.info/http://xdl.in/
[ipv4 only] http://linux.xidian.edu.cn/
[手机]:http://m.xdlinux.info/
访问西电开源社区。
---
您收到此邮件是因为您订阅了Google网上论坛中的“西电开源社区邮件列表”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到xidian_linux...@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout

lzt

unread,
Aug 6, 2014, 10:40:28 AM8/6/14
to xidian...@googlegroups.com
以前一直用bind9 后来,bind9 报了一个重量级别的BUG,远程内存泄露,后来就换成dnsmasq,然后就没有管,就一直dnsmasq了。
鄙社这边好像没有什么问题,我觉得多半是墙的问题。


要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到xidian_linux+unsubscribe@googlegroups.com
要查看更多选项,请访问https://groups.google.com/d/optout

Zhang Cheng

unread,
Aug 6, 2014, 9:59:16 PM8/6/14
to xidian...@googlegroups.com
​dnsmasq还是有一些功能,bind很难或者不能做到的。比如:

* 强制解析某些域名:
  address=/some.domain/1.2.3.4
  有一些​屏蔽广告的方案会这么用,将所有常见的广告域名都解析到127.0.0.1。如果用bind做,则需要为每一个域名配置一个zone文件,不仅配置麻烦,而且可能带来一些副作用。

* 指定上游DNS服务器:
​  server=/google.com/8.8.8.8
  许多防DNS污染的方案会这么用。例如在网关上配翻墙,国内流量走ISP出去,国外流量走VPN,8.8.8.8走VPN。一般DNS这一块会将可能被污染的域名都转发给8.8.8.8或者其他国外的DNS服务器​,而其他域名转发给ISP或者114.114.114.114这种国内的DNS,以提高网站访问速度。

* 屏蔽一些虚假解析:
  bogus-nxdomain=202.106.199.34
  许多运营商的DNS很流氓,会将一些不存在的域名解析到他们的广告服务器地址。用dnsmasq的这个选项,当dnsmasq发现某个域名返回的ip是指定的ip时,就对客户端返回“该域名不存在”的信息。

​此外,在使用dnsmasq时,有一些参数可以提高使用体验。例如:
*no-negcache: 当由于某种原因,某个域名解析失败后,dnsmasq会默认缓存这个结果,也就是接下来的几分钟里客户端再请求这个域名都会得到name not resolved。打开这个选项后,dnsmasq不会缓存没有结果的解析,效果会好很多。
*cache-size:这个值默认时150,有点小,调大一点,比如到1000也会好很多。




--
Cheng,
Best Regards

lumin

unread,
Aug 8, 2014, 8:01:50 AM8/8/14
to xidian...@googlegroups.com

> 强制解析某些域名
> 指定上游DNS服务器
> 屏蔽一些虚假解析

我用bind只在 [::1]:53 和 127.0.0.1:53 上边listen,于是如lzt提到的,安全
问题应该不大,大不了用iptables把53端口的udp tcp INPUT给扔掉。
强制解析我自己是没需求的,adblock就基本够(屏蔽掉baidu和taobao的某些站点
就已经清净很多了),而且我又不上奇怪的网站。

这样的话,dnsmasq和bind9只是一些需求区别问题而已了,
dnsmasq额外功能加成比较多,但配置文件比较复杂,长。
相对的,只作forwarding和本地缓存的话bind9配置起来最轻松。
--
Regards,
C.D.Luminate


lzt

unread,
Aug 8, 2014, 9:29:16 PM8/8/14
to xidian...@googlegroups.com, cdlum...@163.com
嗯,像这种在本地局域网用用的话,确实bind方便一些。

Zhang Cheng

unread,
Aug 8, 2014, 11:30:33 PM8/8/14
to xidian...@googlegroups.com, cdlum...@163.com

2014-08-09 9:29 GMT+08:00 lzt <lvzon...@gmail.com>:
嗯,像这种在本地局域网用用的话,确实bind方便一些。

​说实话没觉得bind更轻,dnsmasq虽然看上去一堆功能,但是确实要更轻量级一些。确实,对于dnsmasq的一坨功能我觉得很不伦不类。
不知道你们用的什么系统,在debian/ubuntu下,apt-get install dnsmasq之后,默认的配置就好了,默认配好了dns转发与缓存,没有启用dhcp,如果安装了resolvconf,那么还会自动更新/etc/resolv.conf,使用127.0.0.1解析。实现这种最简单的功能,dnsmasq的配置文件不到5行。

另一方面,dnsmasq看上去配置选项很多,但是比bind要少一个数量级。看文档,dnsmasq的文档扫两眼就看完了,bind的可以给你一本厚厚的书。​



--
Cheng,
Best Regards
Reply all
Reply to author
Forward
0 new messages