查看: 2551|回复: 1

[原创] 【一网打尽】树莓派用作DNS查询服务器实现上网加速

[复制链接]
  • TA的每日心情

    2015-8-29 20:27
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-13 18:42:35 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 renegade 于 2015-3-13 18:55 编辑

    将DNS公共查询服务器架设在树莓派上面,常用的DNS查询将会缓存到树莓派上,能起到DNS查询加速、提升上网体验的作用。本文将以开源的轻量级DNS转发服务程序 DNSMASQ 为基础实现这个功能。

    首先找到网上的解决方案,在树莓讨论版上《[HOW TO] Use your RPI as a DNS server and speed up yo’ net!》,当然这个解决方案是基于这篇文章的《DNS on Raspberry Pi — Speed up your internet Experience》,使用树莓派最大的好处是有强大的社区支持,基本上你所遇到的问题网上都有相关的解决方案,得益于Debian的丰富的包,一些软件可以直接apt安装,我在这里再简单的阐述一下关于DNS公共查询服务器的设置:

    原作者为我们直接打包了命令,所以我们可以直接执行下面的代码:


    curl "https://raw.github.com/stephendotexe/raspberrypi/master/roles/dnsmasq_server" | sudo sh
    其实这里运行的脚本会附带的给我们装上dnsmasq这款软件,当然你也可以通过下面的命令手动安装:
    sudo apt-get install -y dnsmasq
    下面我们就需要配置DNSMASQ了,配置文件一般位于路径/etc/dnsmasq.conf。基本上配置文件内容如下所示:
    # Dnsmasq.conf for raspberry pi
    # /etc/dnsmasq.conf
    # http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example

    # Set up your local domain here
    domain=raspberry.local
    resolv-file=/etc/resolv.dnsmasq
    min-port=4096
    server=8.8.8.8
    server=8.8.4.4

    # Max cache size dnsmasq can give us, and we want all of it!
    cache-size=10000

    # Below are settings for dhcp. Comment them out if you dont want
    # dnsmasq to serve up dhcpd requests.
    # dhcp-range=192.168.0.100,192.168.0.149,255.255.255.0,1440m
    # dhcp-option=3,192.168.0.1
    # dhcp-authoritative

    这里的server所指示的就是上级DNS服务器的地址,这里用的是Google的8.8.8.8和8.8.4.4,也就是说本地缓存查不到的域名将会发送给上级DNS服务器然后本地再缓存结果,可以改成你所需要的,一般就用谷歌的,我就不改了:-)

    如果你改动过设置,请重启服务:


    sudo service dnsmasq restart


    到这里基本上就配置完成了,你可以在树莓派上nslookup或者dig一下看看结果,当然如果找不到这些命令是因为你没有安装dnsutils,直接通过下面的命令安装即可:
    sudo apt-get install dnsutils
    这里再讲解一个小技巧,大家电脑上的hosts文件一般不陌生,在DNS被投毒污染或者我们需要配置测试Web服务器时会要改这里的域名和IP对应关系,这里我们可以让dnsmasq替我们代劳。切换到/etc/dnsmasq.d/路径下,新建一个test.conf文件,内容如下:
    address=/appspot.com/74.125.155.141
    别忘了重启一下服务:
    sudo service dnsmasq restart
    这样当查询appspot.com的时候,dnsmasq将直接返回这里设定的IP地址,轻松避免了DNS投毒攻击。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2015-3-22 22:41
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-3-16 23:59:33 | 显示全部楼层
    忒麻烦,为了避免dns污染还要设置host文件.使用tcp查询,或者udp relay不就成了


    若是转载,请注明出处:http://wangye.org/blog/archives/858/
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 13:44 , Processed in 0.111852 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.