写在前面:在安装dnsmasq的时候遇到了很多问题 这篇不止是如何安装 还会罗列出我在实际搭建中出现的问题
将DNS公共查询服务器架设在树莓派上面,常用的DNS查询将会缓存到树莓派上,能起到DNS查询加速、提升上网体验的作用。
1.安装Dnsmasq
apt-get install dnsmasq -y
2.配置dnsmasq
vim /etc/dnsmasq.conf
打开以后首先按 "/" 然后搜索:strict-order //去掉strict-order前面 "#"
搜索listen-address //配置如下:listen-address=127.0.0.1,192.168.3.51
#这句如果只有localhost地址的话表示只为本机提供解析 如果需要给其他机器就要在后面加上树莓派的地址
搜索cache-size 修改为:cache-size=1024
保存dnsmasq.conf
以上内容来自:树莓派 之 dnsmasq搭建DNS服务器
接下来是配置resolv.conf文件 这一步我建议去看另一篇文章 因为这个文件会不定时还原 这样网络有时候就会断开 很尴尬的
文章地址:树莓派中resolv.conf文件重启被更改的解决办法
最后重启dnsmasq:service dnsmasq restart
没有报任何错误就可以去配置要上网的设备DNS地址了
如果报错的话请看下面:
1.Dnsmasq报错日志
Job for dnsmasq.service failed because the control process exited with error code.
See "systemctl status dnsmasq.service" and "journalctl -xe" for details.
之后我再去看journalctl -xe:
● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
Loaded: loaded (/lib/systemd/system/dnsmasq.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2018-08-15 01:51:22 CST; 2min 8s ago
Process: 4645 ExecStop=/etc/init.d/dnsmasq systemd-stop-resolvconf (code=exited, status=0/SUCCESS)
Process: 2116 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf (code=exited, status=0/SUCCESS)
Process: 2106 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=0/SUCCESS)
Process: 4697 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=1/FAILURE)
Main PID: 2115 (code=exited, status=0/SUCCESS)
8月 15 01:51:22 MyServer systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server...
8月 15 01:51:22 MyServer dnsmasq[4697]: dnsmasq: illegal repeated keyword at line 671 of /etc/dnsmasq.conf
8月 15 01:51:22 MyServer systemd[1]: dnsmasq.service: Control process exited, code=exited status=1
8月 15 01:51:22 MyServer systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
8月 15 01:51:22 MyServer systemd[1]: dnsmasq.service: Unit entered failed state.
8月 15 01:51:22 MyServer systemd[1]: dnsmasq.service: Failed with result 'exit-code'.
一开始看不出来什么的 后来去了v2ex上看到一个外网链接是说输入:dnsmasq --test来查看:
dnsmasq: illegal repeated keyword at line 671 of /etc/dnsmasq.conf
于是查看dnsmasq.conf 发现是cache-size重复了 删除以后问题解决
dnsmasq: syntax check OK.
这里说一下为什么会重复:
最开始是在树莓派论坛看到这个方法的:树莓派用作DNS查询服务器实现上网加速
那时候看到配置文件 也不知道怎么在终端下搜索关键字 【后来也是百度知道的】
然后看到配置文件就全部复制过来了 中间卸载dnsmasq无数次 重新安装无数次 因为也不太懂linux 都是慢慢百度学一点的 不知道这个conf文件一直是最开始的 后来找到其他教程开始搭建 结果报错 因为填了两次一样的配置内容
- 后来出现设置DNS不能上网是域名没有填写在resolv.conf文件里面 一直是127.0.0.1 无论怎么样都会被还原 后来上面也有链接提供解决办法
- 坑太多 希望我的文章能帮助到和我一样的菜鸟们
网友评论