月下博客

使用Dnsmasq搭建无污染私有DNS服务器,Dnsmasq搭建私有DNS服务器

默认连接网络后,都是使用的网络运行商的DNS,而这类DNS都是被劫持和污染的,另一方便还方便了运行商给你推送广告。当然也有一些公众的DNS可以给大家选用,不过哪里有使用自己的私有DNS服务器爽呢?所以我们可以用Dnsmasq来搭建一个自己的私人DNS。

一、关于Dnsmasq

Dnsmasq提供DNS缓存和DHCP服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存DNS请求来提高对访问过的网址的连接速度。作为DHCP服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。

以上介绍来自ArchWiki。

当然Dnsmasq还可以自定义DNS路由、转发DNS请求之类的,用于屏蔽广告。当然本文主要介绍Dnsmasq的部署方法,至于高级操作将会重新写一篇文章。

至于Dnsmasq的工作原理呢,我也不在写了,毕竟我也没有官方文档了解的那么清楚,搭建起来后自己在去理解工作原理吧!!!

二、Dnsmasq部署

Dnsmasq的部署,不需要很强大的硬件资源,一下是我部署Dnsmasq的机子。

部署环境

系统环境:Debian 8.0 ×64

内存大小:1GB


VPS构架:KVM

三、安装Dnsmasq

1.安装DnsmasqLinux的软件仓库已经含有Dnsmasq,所以。。。

#安装Dnsmasq

apt-get -y install dnsmasq

至于CentOS用户,将apt-get替换成yum即可。

2.由于要编辑Dnsmasq配置文件的操作较多,因而建议操作之前先备份默认的Dnsmasq的配置文件。

#备份配置文件

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak

#编辑配置文件

vim /etc/dnsmasq.conf

3.配置上游DNS文件的路径。在Vim中搜索到resolv-file,将前面的注释符号#删除,并赋值为/etc/resolv.dnsmasq.conf。

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

4.解除strict-order的注释,Vim中搜索到strict-order,将注释符号#删除即可。

5.解除no-hosts的注释,Vim中搜索到no-hosts,将注释符号#删除即可。

6.在文档的最后一行,添加监听地址,并设置监听地址为你vps的ip地址。

listen-address=103.xxx.xxx.xxx(your vps IP address)

到此配置文件已经搞定了,复杂的东西都弄好了。

7.由于我们在第二步创建了上游DNS的配置文件路径,但是此时并没有配置文件。因此创建一个。

#创建配置文件

vim /etc/resolv.dnsmasq.conf

在Vim中添加nameserver值,我以Google DNS为例,没办法Google脑残粉,提示下Google DNS并不是最好的哦!!

nameserver 8.8.8.8
nameserver8.8.4.4

到此Dnsmasq的部署已经完毕了。

四、Dnsmasq使用测试

1.Dnsmasq的关闭、启动与重启。

#启动服务
/etc/init.d/dnsmasq start
#关闭服务
/etc/init.d/dnsmasq stop
#重启服务
/etc/init.d/dnsmasq restart

启动服务后,可以测试下Dnsmasq是否工作。

netstat -tunlp | grep 53

2.为了防止vps宕机后,Dnsmasq依旧可以服务,所以请加入开机启动。

chkconfig dnsmasq
/etc/init.d/dnsmasq restart

3.测试以下Dnsmasq的效果。

我用我的博客测试的,由于我用Google DNS,加之vps也是在美国,所以速度效果不是很明显,但是也可以看见效果的提升。

五、Windows下配置DNS服务器

之前的操作都是在VPS上完成的操作,你弄了那么多,不在自己的设备上修改好DNS服务器,那么运行商该劫持你还是要劫持你,所以速度将DNS服务器改为你的私有DNS服务器吧。

到设置DNS的地方,将首选DNS服务器修改为你的IP地址即可,至于备用DNS服务器可以随便使用一个public dns即可,当然比如果有2个私有的DNS服务器的话,那么都填写上吧!

六、总结

Dnsmasq的魅力不仅仅只有这么简单地东西,高级点的玩法可以用于屏蔽广告,个人觉得这个Dnsmasq还是值得折腾的,可以多看下官方文档,当然如果你嫌弃麻烦,完全可以使用那些Open Public DNS服务器即可。

官方QQ群号码:922069959(空)1093596563(空)

您可能感兴趣的文章