最新dnsmasq安装部署详解(centos6)

admin 2015年06月27日 网络维护 1264次阅读 查看评论

  介绍Dnsmasq

  Dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上。

  它同时也可以作为一个dns查询服务器,虽然不如bind等完善,但基本功能也够用了。

  它可以提供如下几个实用的功能:

  1 提供dns服务

  2 优先使用本地自定义dns

  3 提供dhcp服务

  能有效解决区域网问题如下:

  1 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表

  2 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以

  3 禁止某个域名的正常解析

  本文主要讲述dnsmasq 安装、配置、域名解析、域名屏蔽等内容

  1.安装dnsmasq:

  yum install dnsmasq -y

  喜欢编译安装的,可以访问下面的连接下载源码文件!

  http://www.thekelleys.org.uk/dnsmasq/

  2.修改系统配置文件

  echo 'nameserver 127.0.0.1' > /etc/resolv.conf

  cp /etc/resolv.conf /etc/resolv.dnsmasq.conf

  echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf

  echo 'nameserver 202.106.0.20' > /etc/resolv.dnsmasq.conf

  cp /etc/hosts /etc/dnsmasq.hosts

  3.dnsmasq配置

  dnsmasq的配置文件为/etc/dnsmasq.conf,编辑该文件,添加内容如下:

  cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak #先做个备份

  echo 'resolv-file=/etc/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf

  echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf

  4.添加开机启动并启动服务

  chkconfig dnsmasq>

  /etc/init.d/dnsmasq restart

  验证服务器已启动!@

  [root@master ~]# netstat -tunlp|grep 53

  tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 10246/dnsmasq

  udp 0 0 0.0.0.0:53 0.0.0.0:* 10246/dnsmasq

  确认服务启动后,就可以将客户端PC的DNS服务器指向dnsmsq服务器(注意iptables),可以正常访问网络页面为正常!

  5.测试

  [root@cn-ptmind ~]# dig www.hcpbot.com

  中间省略。。。。。

  ;; Query time: 50 msec #首次查询域名使用50Mms!!!!

  ;; SERVER: 127.0.0.1#53(127.0.0.1)

  ;; WHEN: Tue Oct 8 12:51:50 2013

  ;; MSG SIZE rcvd: 48

  [root@cn-ptmind ~]# dig www.hcpbot.com

  中间省略。。。。。

  ;; Query time: 0 msec #再次查询域名使用0Mms,说明已经缓存!!!!!!!!

  ;; SERVER: 127.0.0.1#53(127.0.0.1)

  ;; WHEN: Tue Oct 8 12:51:53 2013

  ;; MSG SIZE rcvd: 48

  6.域名解析、域名解析

  只需要在配置文件下面添加一条address即可!

  root@cn-ptmind ~]# vi /etc/dnsmasq.conf

  resolv-file=/etc/resolv.dnsmasq.conf

  addn-hosts=/etc/dnsmasq.hosts

  address=/kkk.ptmind.com/118.126.32.53 #随便写一条不存在的域名,指向我们的一个页面!

  重启服务后在客户端浏览器访问,发现打开页面是指定页面。

  通过此方法可以实现泛域名解析、屏蔽等,这是hosts不可能实现的。

  例如输入*.domain.name->127.0.0.1则将会把所有domain.name下的域名都指向127.0.0.1,从而实现过滤功能。

  小提示:

  例如过滤时输入*.it168.com->127.0.0.1,那么不管我们访问wireless.it168.com还是safe.it168.com都将被过滤掉而无法顺利显示相应页面。

  而编辑HOSTS时我们则需要针对wireless.it168.com和safe.it168.com两个地址添加两个不同的条目才能实现过滤规则。

  如同我们配置本地hosts文件屏蔽广告一样,也可以在这里配置

  域名解析屏蔽广告----当然你要把dns服务器地址设成它而非直接ISP的。

  比起本地hosts来

  1. 配置一次,内网所有机器各种系统都生效

  2. 可以实现泛域名解析,这用hosts是不可能的

  【ps: addn-hosts=/etc/dnsmasq.hosts的优先级大于address=/domain.name/127.0.0.1】

  这样*.domain.name都会解析到127.0.0.1

  需要新的就多加一行address=....格式一样

  #参考内容

  http://i.sohu.com/p/=v2=ba5A9mcsmz94lMM3h29odS5jb20=/blog/view/204438336.htm

  http://blog.sina.com.cn/s/blog_6912b72c0100qbcv.html

  http://mmdev.iteye.com/blog/1707550

  http://linux008.blog.51cto.com/2837805/551372

« 上一篇 下一篇 » admin原创文章,转载请注明出处! 标签:dnsmasq安装dns服务器

相关日志:

«   2020年11月   »
1
2345678
9101112131415
16171819202122
23242526272829
30
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集
  • 又拍云
  • 订阅ipvb的RSS 2.0聚合