IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    老蒋发表于 2016-07-07 03:36:37
    love 0

    每天我们无论是工作还是娱乐休闲都离不开使用电脑,我们是否会经常看到打开网站或者电脑右下角看到弹出图片广告?大部分这个都是被劫持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=/laobuluo.com/127.0.0.1

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

    第五、Dnsmasq配置和使用总结

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

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

    未经允许不得转载:老蒋部落 » 利用Dnsmasq搭建本地自有DNS服务器 享用独有无广告DNS



沪ICP备19023445号-2号
友情链接