利用Dnsmasq搭建本地自有DNS服务器 享用独有无广告DNS

每天我们无论是工作还是娱乐休闲都离不开使用电脑,我们是否会经常看到打开网站或者电脑右下角看到弹出图片广告?大部分这个都是被劫持DNS商家推送过来的,是不是很讨厌?大部分情况下我们是无法避免的,虽然很多门户网站,比如360、百度、阿里都有推出他们DNS服务,我们可以将本地的DNS IP地址更换成他们的。

在一定程度上,可以解决我们访问网速、广告拦截的问题,为什么他们会给我们免费使用呢?在一定可能条件下他们会推送自己的广告业务。所以,最好的办法我们是否可以自己架设本地DNS服务器,这样我们用自己的DNS就不会有广告的问题。今天,老蒋就琢磨着用Dnsmasq自己架设本地DNS,然后使用看看。

对于我们大部分用户而言,其实也没有必要自建DNS,要么我们就默认本地的DNS,要么就用第三方的,弹点广告也无妨,毕竟我们还使用人家的产品。当然,Dnsmasq也不是仅仅这个用途,我们也可以作为局域网机器批量IP维护使用,以及局域网解决特定网址域名禁止访问。

第一、Dnsmasq安装

1、快速安装

yum install -y dnsmasq

Dnsmasq安装

这里老蒋使用的是CentOS环境,然后直接yum安装dnsmasq,安装完毕之后启动。如果我们喜欢编译安装可以直接到官方网站(http://www.thekelleys.org.uk/dnsmasq/)选择版本编译。

2、编译安装

wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.76.tar.gz
yum -y install gcc
tar -xf dnsmasq-2.76.tar.gz
cd dnsmasq-2.76
make install

安装完毕之后,我们可以通过dnsmasq -v命令检查当前版本,有版本号出来就代表安装上了。

Dnsmasq安装

因为默认yum或者apt-get安装版本肯定不是最新的,所以我们可以选择要最新版本就编译安装,也都很快。

第二、修改配置Dnsmasq文件

vi /etc/dnsmasq.conf

我们需要配置/etc/dnsmasq.conf这个文件。如果为了防止配置出错,我们可以先备份一份到本地或者服务器中。

1、添加内容

echo 'resolv-file=/etc/dnsmasq.d/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf
echo 'addn-hosts=/etc/dnsmasq.d/dnsmasq.hosts' >> /etc/dnsmasq.conf

执行脚本,这样自动在配置文件中最后两行加上内容。

2、启动strict-order

启动strict-order

默认前面是有#标注的,我们需要取消。

3、创建文件

我们需要到dnsmasq.d目录中创建上面1的两个文件resolv.dnsmasq.conf和dnsmasq.hosts。

A - resolv.dnsmasq.conf添加"nameserver 8.8.8.8"

B - dnsmasq.hosts添加"ip  domain"

第三、Dnsmasq设置启动和测试

1、添加开机启动

chkconfig dnsmasq
/etc/init.d/dnsmasq restart

我们设置启动。

2、检查是否启动

netstat -tunlp|grep 53

检查是否启动

3、检查测试缓存

A - 初次缓存

检查测试缓存

B - 再次缓存

dnsmasq-2-3

因为有了缓存数据,所以速度是不是变快了?

第四、Dnsmasq配置和使用

1、本地DNS使用

dnsmasq本地DNS使用

这里我们本地DNS可以使用服务器中配置的IP,这样我们本机就使用到自己的DNS,备用DNS可以用一个第三方公用DNS。

2、屏蔽网站/广告

vi /etc/dnsmasq.conf

如果我们需要屏蔽某个网站或者广告,可以修改上面文件。

address=/itbulu.com/127.0.0.1
address=/laojiang.me/127.0.0.1

比如我希望无法打开这两个网站,就在配置文件中添加指定的IP或者其他劫持的IP,比如我们打开某个网站被指定到其他的服务器或者网站中,就这样被劫持的。同样的,我们也可以将广告目录屏蔽。

第五、Dnsmasq配置和使用总结

Dnsmasq实际功能不仅仅局限在上面的搭建我们本地需要的DNS服务器功能,如果真就这么简单的用法,那我们也没有必要用一台服务器配置。使用点第三方公共DNS还是没有问题的,有点广告也无妨。

Dnsmasq实际用途较多的还是局域网的设定和限制,比如不让访问特定外网或者指定一些广告拦截、屏蔽跳转等使用。这篇文章仅仅是老蒋参考网上一些基本的配置本地DNS的用途记录,玩玩而已,一般网友也不要这么折腾。

本文出处:老蒋部落 » 利用Dnsmasq搭建本地自有DNS服务器 享用独有无广告DNS | 欢迎分享( 公众号:QQ69377078 )