Debian 搭建自己的DNS服务器,编译安装 dnsmasq 最新版

栏目:Linux, 经验分享 作者:小天 点击: 9,257 次

很多发行版已经可以直接安装dnsmasq了,可以用apt-get install dnsmasq或者yum install dnsmasq来安装,但安装的版本较低,接下来介绍一下debian8上编译安装的方法:
在这里查看最新的dnsmasq: http://www.thekelleys.org.uk/dnsmasq/

设置dnsmasq

编译安装或者aptyum均是修改下面的文件
配置文件是/etc/dnsmasq.conf,修改vi /etc/dnsmasq.conf
只是简单的使用,修改以下的内容即可。

对参数的解释
resolve-file 定义dnsmasq从哪里获取上游DNS服务器的地址, 默认是从/etc/resolv.conf获取。

strict-order 表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。

listen-address 定义dnsmasq监听的地址,默认是监控本机的所有网卡上。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址,如果你的DNS服务器和你欲使用该DNS的设备不在同一个局域网则把你的公网地址放上去,这里可以同时设置多个IP。

cache-size 缓存设置。

address 启用泛域名解析,即自定义解析a记录,如下配置为demon.com这个域名:

bogus-nxdomain 为防止DNS污染,使用参数定义的DNS解析的服务器。注意:如果是阿里云服务器上配置dnsmasq要启用此项。

server 指定dnsmasq程序使用哪个DNS服务器进行解析。 对于不同的网站可以使用不同的域名对应解析如下配置

因为这里的编译安装没有设置开机自启,我们设置一下开机自启,如果你采用apt或者yum方法来安装的话,不需要执行以下步骤。
通过编译安装的dnsmasq不支持systemd的系统,当我们执行service dnsmasq start 或 systemctl restart dnsmasq 时会出现以下错误提示:
Job for dnsmasq.service failed. See 'systemctl status dnsmasq.service' and 'journalctl -xn' for details.

解决方法一:利用cron来实现。

加入以下内容

解决方法二:让dnsmasq支持systemd的系统(debian8/ubuntu16.04以上),将一下内容一起复制执行,不要单行复制

以上配置完毕后,需要重启dnsmasq服务,重启完毕后其他机器,就可以通过该DNS服务器解析公网的域名。

通过netstat -lntp查看dnsmasq是否监听53端口。如果提示-bash: netstat: command not found,则通过下面的命令安装

查看监听端口的方法:https://www.quyu.net/info/1448.html
dnsmasq还有更强大的功能,具体内容可以查看官方文档:http://www.thekelleys.org.uk/dnsmasq/doc.html

感谢来源文章分享:https://zorz.cc/post/dnsmasq.html



声明: 本文由( 小天 )原创编译,转载请保留链接: Debian 搭建自己的DNS服务器,编译安装 dnsmasq 最新版

------====== 本站公告 ======------
欢迎使用趣域网域名百科,我们将长期提供域名使用相关知识和投资域名的方法和技巧;并提供主机、服务器的解决问题和网站运营方法。