树莓派3-搭建DNS服务器

搭建DNS服务器

说明

本文将以开源的轻量级DNS转发服务程序 DNSMASQ 为基础实现这个功能。

步骤

  1. 安装软件:

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

curl "https://raw.github.com/stephendotexe/raspberrypi/master/roles/dnsmasq_server" | sudo sh

其实这里运行的脚本会附带的给我们装上dnsmasq这款软件,当然你也可以通过下面的命令手动安装:

sudo apt-get install -y dnsmasq
  1. 需要配置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服务器然后本地再缓存结果,可以改成你所需要的,一般就用谷歌的,我就不改了:-)

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

    sudo service dnsmasq restart

  2. 你可以在树莓派上nslookup或者dig一下看看结果,当然如果找不到这些命令是因为你没有安装dnsutils,直接通过下面的命令安装即可:

    sudo apt-get install dnsutils

  3. 这里再讲解一个小技巧,大家电脑上的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投毒攻击。

参考:

  • http://www.raspberrypi.org/phpBB3/viewtopic.php?t=46154&p=429172
  • http://shumeipai.nxez.com/2015/02/03/use-your-raspberry-pi-as-dns-cache-to.html
  • http://www.heystephenwood.com/2013/06/use-your-raspberry-pi-as-dns-cache-to.html

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: 树莓派3dns服务器