1、介绍
DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务.
它可以提供如下几个实用的功能:
1 、提供dns服务
2 、优先使用本地自定义dns
3 、提供dhcp服务
一般情况下,我们可以用bind解决dns的问题,dhcpd解决dhcp的问题,另外,还可以用ypbind解决自定义hostname解析的ip(当然还有用户的功能),它都解决了!很实用吧?这真的很吸引人,况且它一直在更新维护,最新版本是6月份的。
当碰到比较棘手的几个问题时,即可用dnsmasq通通解决:
1 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表
2 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以
3 禁止某个域名的正常解析
2、安装
yum install dnsmasq
3、配置
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 #日志记录位置
4、启动
service dnsmasq start
5、测试
nslookup www.4399.com
6、日志
第一次去上游查询。
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
第二次直接读缓存
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