Dnsmasq是一款高性能的DNS缓存软件,可以使用它来搭建一个小型的DNS服务器。在使用时,由于dnsmasq可以将域名缓存下来,这样下次就不用再次请求上游的DNS服务器,使用时极大的加快了上网速度,从而提升了上网体验。如果你有树莓派在闲置,那就赶快利用起来吧,使用你手里的树莓派来搭建一个自己的DNS服务器吧。
配件:
树莓派 一片 即可
安装Dnsmasq
- sudo apt-get install dnsmasq
配置Dnsmasq
Dnsmasq的配置文件为 /etc/dnsmasq.conf ,使用vim 打开配置文件
- sudo vim /etc/dnsmasq.conf
去掉strict-order前面的#号
设置listen-address,配置如下:
- listen-address=127.0.0.1,192.168.1.103
如果只加上127.0.0.1,表示只能为本机提供dns服务,如果需要为局域网的其他电脑提供dns服务,需要再加上树莓派在局域网内的IP地址。
修改缓存大小
- cache-size=10000
保存dnsmasq.conf文件
修改resolv.conf文件,添加以下几行:
- nameserver 127.0.0.1
- nameserver 223.5.5.5
- nameserver 114.114.114.114
第一行是自动生成的,表示查询DNS时首先从本地查找,找不到了才从下面的上游DNS服务器查找。
保存resolv.conf文件
重启dnsmasq
- sudo service dnsmasq restart
查看服务状态
- sudo service dnsmasq status
输出信息如下:
dnsmasq.service - A lightweight DHCP and caching DNS server
Loaded: loaded (/lib/systemd/system/dnsmasq.service; disabled)
Drop-In: /run/systemd/generator/dnsmasq.service.d
└─50-dnsmasq-$named.conf, 50-insserv.conf-$named.conf
Active: active (running) since 四 2016-06-16 17:54:50 CST; 4h 21min ago
Process: 21161 ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf (code=exited, status=0/SUCCESS)
Process: 21225 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf (code=exited, status=0/SUCCESS)
Process: 21219 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS)
Main PID: 21222 (dnsmasq)
CGroup: /system.slice/dnsmasq.service
└─21222 /usr/sbin/dnsmasq --keep-in-foreground --pid-file --enable-dbus -u dnsmasq -r /var/run/dnsm...
OK,安装成功了!在其它电脑上就可以使用树莓派DNS缓存服务器了,明显可以看到解析域名的速度大大提高,基本上第一次解析花点时间,以后访问时的速度有了极大提高。
参考:(个人博客)