每天我们无论是工作还是娱乐休闲都离不开使用电脑,我们是否会经常看到打开网站或者电脑右下角看到弹出图片广告?大部分这个都是被劫持DNS商家推送过来的,是不是很讨厌?大部分情况下我们是无法避免的,虽然很多门户网站,比如360、百度、阿里都有推出他们DNS服务,我们可以将本地的DNS IP地址更换成他们的。
在一定程度上,可以解决我们访问网速、广告拦截的问题,为什么他们会给我们免费使用呢?在一定可能条件下他们会推送自己的广告业务。所以,最好的办法我们是否可以自己架设本地DNS服务器,这样我们用自己的DNS就不会有广告的问题。今天,老蒋就琢磨着用Dnsmasq自己架设本地DNS,然后使用看看。
对于我们大部分用户而言,其实也没有必要自建DNS,要么我们就默认本地的DNS,要么就用第三方的,弹点广告也无妨,毕竟我们还使用人家的产品。当然,Dnsmasq也不是仅仅这个用途,我们也可以作为局域网机器批量IP维护使用,以及局域网解决特定网址域名禁止访问。
第一、Dnsmasq安装
1、快速安装
yum install -y 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命令检查当前版本,有版本号出来就代表安装上了。
因为默认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
默认前面是有#标注的,我们需要取消。
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配置和使用
1、本地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的用途记录,玩玩而已,一般网友也不要这么折腾。
评论前必须登录!
注册