1、安装dnsmasq的目的


     能够在客户端缓存曾经查询过的域名解析。

     试想:如果一台客户机要查询一条域名解析纪录,那么它就需要向它所设定的DNS服务器发送请求,那台DNS服务器将不论以何种形式得来的信息(可能是自己本身就知道的信息,或者是向别的DNS服务器(权威DNS服务器)查询得到的信息)反馈给客户机,并在自己这边留下缓存(以TTL为缓存的生存时间),下次再有客户机查询这条纪录的时候,如果还在生存期内,就可以直接将结果反馈给查询的客户机。那么客户机自己能不能够实现对曾经查询过的纪录有一个缓存呢?下次访问的时候不仅可以提高查询的效率,也可以减轻DNS服务器的访问压力,一举两得!


2、安装、配置dnsmasq

(1)安装:yum安装即可 (下面 图示yum安装的所有文件)


    

wKioL1jBAl-yLT3PAAGNv0BUZtU860.png-wh_50


(2)配置

     对dnsmasq主配置文件进行如下配置

     [root@localhost Desktop]# vim /etc/dnsmasq.conf  

     #打开日志功能

          log-queries

          log-facility=/var/log/dnsmasq

          listen-address=127.0.0.1

          bind-interfaces

          no-hosts

          all-servers

    设置本机的上级权威DNS

     [root@localhost Desktop]# vim /etc/resolv.conf

          options timeout:1

          search ns1.test.local

          nameserver 127.0.0.1

          nameserver 192.168.250.128 (搭了dns服务的IP)


3、测试

方法:在一台机器上搭建DNS服务,一台主机部署dnsmasq服务,然后用查看日志的方式来进行验证dnsmasq的功能;


基本思路:第一次dig一个域名的时候,主机肯定是要向自己的权威DNS服务器发送请求以得到对应的IP,然后就可以将得到的信息缓存在本地的dnsmasq,第二次dig同一个域名的时候,就可以直接从本地的dnsmasq缓存中得到(日志中就会有更新纪录),就不需要向DNS服务器发送请求咯!

PS:注意缓存的TTL哦


(1)清空缓存

# rndc flush                               #清理BIND服务器上的缓存

# /etc/init.d/dnsmasq restar      #清理用dnsmasq实现的DNS服务器功能的缓存


(2)digDNS服务器上的一个域名dnsmasq的日志

第一次dig

wKiom1jBAqSTL75OAACBVDbd1cw711.png

第二次dig

wKiom1jBArSTfx6kAAB6wyzDO4k346.png