简介

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度。

安装DNSmasq

可以下载软件包编译安装,不过一般Linux软件仓库已经提供了DNSmasq,相关命令如下:

#centos安装yum -y install dnsmasq#如果是ubuntu系统apt-get -y install dnsmasq

配置DNSmasq

DNSmasq配置文件在/etc/dnsmasq.conf,我们需要修改几个参数,分别为:

  • resolv-file=/etc/resolv.dnsmasq.conf这个参数表示dnsmasq会从这个指定的文件中寻找上游dns服务器。

  • 取消注释的strict-order,表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,
    直到第一个成功解析成功为止。

  • 注释掉no-hosts, 默认情况下这是注释掉的,dnsmasq会首先寻找本地的hosts文件再去寻找缓存下来的域名,最后去上游 dns服务器寻找。

  • 设置listen-address=0.0.0.0, 0.0.0.0改成服务器公网IP。

我们来整理下上面我们修改了那些配置内容

#需要新建一个resolv.dnsmasq.conf文件,这个是配置上游DNS,也就是真正的公共DNSvi /etc/resolv.dnsmasq.conf#内容如下nameserver 119.29.29.29nameserver 1.2.4.8
#修改/etc/dnsmasq.conf#上游DNS路径resolv-file=/etc/resolv.dnsmasq.conf#取消strict-order注释strict-order#监听地址0.0.0.0对所有网络有效listen-address=0.0.0.0

使用方法

DNSmasq可以设置不同的域名指定不同的DNS进行解析,修改/etc/dnsmasq.conf文件即可,若不对域名设置DNS,则从上游DNS获取记录。

#指定淘宝使用114 DNS进行解析server=/taobao.com/114.114.114.114#google指定8.8.8.8进行解析server=/google.com/8.8.8.8

也可以对指定的域名进行解析,相当于就是本地hosts指向,可以利用这个功能实现广告屏蔽等效果。也是需要修改/etc/dnsmasq.conf文件,DNSmasq也可以对域名进行泛解析,填写*.moerats.com,这样的格式即可。

#将广告域名指向到127.0.0.1实现广告屏蔽address=/ad.youku.com/127.0.0.1address=/ad.iqiyi.com/127.0.0.1#对moerats.com进行泛解析address=/*.moerats.com/132.165.25.188

启动与测试

#启动/etc/init.d/dnsmasq start#停止/etc/init.d/dnsmasq stop#重新启动/etc/init.d/dnsmasq restart

比如我在本地一台Linux服务器(192.168.20.127)安装了DNSmasq,并在局域网内其它PC将DNS配置为192.168.20.127,使用dig命令进行测试,第一次查询相对较长,第二次几乎再10ms内,如下截图。

夜河资源网提供的所有内容仅供学习与交流。通过使用本站内容随之而来的风险以及法律责任与本站无关,所承担的法律责任由使用者承担。
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!