一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

利用Dnsmasq搭建本地DNS服务器的教程

时间:2016-07-07 编辑:简简单单 来源:一聚教程网

每天我们无论是工作还是娱乐休闲都离不开使用电脑,我们是否会经常看到打开网站或者电脑右下角看到弹出图片广告?大部分这个都是被劫持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的用途记录,玩玩而已,一般网友也不要这么折腾

热门栏目