dnsmasq小工具

介绍

  • DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务,它可以提供如下几个实用的功能:

    • 提供dns服务
    • 优先使用本地自定义dns
    • 提供dhcp服务
  • 一般情况下,我们可以用bind解决dns的问题,dhcpd解决dhcp的问题,另外,还可以用ypbind解决自定义hostname解析的ip(当然还有用户的功能),它都解决了!很实用吧?这真的很吸引人,况且它一直在更新维护,最新版本是6月份的。当碰到比较棘手的几个问题时,即可用dnsmasq通通解决:

    • 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表
    • 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以
    • 禁止某个域名的正常解析

安装

1
yum install dnsmasq

配置

1
2
3
4
5
6
7
no-resolv    			#不使用/etc/resolv.conf文件
server=223.5.5.5 #需要使用的上层dns
server=114.114.114.114
no-negcache #不缓存没有解析到的域名
no-hosts #作为内部DNS服务时,可以注释。
log-queries
log-facility=/var/log/dnsmasq.log #日志记录位置

启动

1
service dnsmasq start

测试

1
nslookup www.4399.com

日志

  • 第一次去上游查询。

    1
    2
    3
    4
    5
    6
    7
    Dec 15 16:14:06 dnsmasq[61277]: query[A] www.4399.com from 127.0.0.1
    Dec 15 16:14:06 dnsmasq[61277]: forwarded www.4399.com to 223.5.5.5
    Dec 15 16:14:06 dnsmasq[61277]: reply www.4399.com is <CNAME>
    Dec 15 16:14:06 dnsmasq[61277]: reply www.4399.com.lxdns.com is <CNAME>
    Dec 15 16:14:06 dnsmasq[61277]: reply 4399hw.xdwscache.ourglb0.com is 122.228.233.206
    Dec 15 16:14:06 dnsmasq[61277]: reply 4399hw.xdwscache.ourglb0.com is 122.228.237.161
    Dec 15 16:14:06 dnsmasq[61277]: reply 4399hw.xdwscache.ourglb0.com is 183.131.168.154
  • 第二次直接读缓存

    1
    2
    3
    4
    5
    6
    Dec 15 16:14:34 dnsmasq[61277]: query[A] www.4399.com from 127.0.0.1
    Dec 15 16:14:34 dnsmasq[61277]: cached www.4399.com is <CNAME>
    Dec 15 16:14:34 dnsmasq[61277]: cached www.4399.com.lxdns.com is <CNAME>
    Dec 15 16:14:34 dnsmasq[61277]: cached 4399hw.xdwscache.ourglb0.com is 183.131.168.154
    Dec 15 16:14:34 dnsmasq[61277]: cached 4399hw.xdwscache.ourglb0.com is 122.228.237.161
    Dec 15 16:14:34 dnsmasq[61277]: cached 4399hw.xdwscache.ourglb0.com is 122.228.233.206
-------------本文结束感谢您的阅读-------------