dns服务器一般是按照bind服务
dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络
提供了dns解析的功能和可选择的dhcp功能
dnsmasq可以解决小范围的dns查询问题,如果业务是跨机房。跨地区的话不建议使用dnsmasq作为dns解析服务器
安装软件
yum install dnsmasq -y
dnsmasq的主配置文件
/etc/dnsmasq.conf
#dnsmqsq内部解析所需要的ip和域名,也就是用户所需要自定义的域名和ip的对应关系编写、
/etc/dnsmasq.hosts #该文件需要手动创建
#dnsmasq的上游dns服务器地址
/etc/resolv.dnsmasq.conf #手动创建
修改dnsmasq.conf
vim /etc/dnsmasq.conf #打开且修改如下参数
resolv-file=/etc/resolv.dnsmasq.conf
#自定义某些域名及其子域名,都解析到一个ip地址,添加如下参数
address=/baidu.com/123.206.16.61
address=/taobao.com/123.206.16.61
定义dnsmasq的监听地址的配置文件 ,如果你是本地的linx虚拟机,可以填写127.0.0.1,也可以是本地的局域网ip
listen-address=本地ip
定义一个本地域名配置文件,需要自定义的一些域名解析记录
addn-hosts=/etc/dnsmasq.hosts
记录dns查询的日志参数
log-queries #打开
包含目录的语法,能够包含某一个文件夹下所有符合定义类型的配置文件
#conf-file=/etc/dnsmasq.more.conf
conf-dir=/etc/dnsmasq.d
# Include all the files in a directory except those ending in .bak
conf-dir=/etc/dnsmasq.d,.bak
# Include all files in a directory which end in .conf
conf-dir=/etc/dnsmasq.d/,*.conf
自定义的dnsmasq服务的配置文件,参数如下
[root@localhost ~]# grep -v "^#" /etc/dnsmasq.conf | grep -v "^$"
resolv-file=/etc/resolv.dnsmqsa.conf
address=/baidu.com/123.206.16.61
listen-address=160.116.208.83
addn-hosts=/etc/dnsmasq.hosts
log-queries
conf-dir=/etc/dnsmasq.d
conf-dir=/etc/dnsmasq.d,.bak
conf-dir=/etc/dnsmasq.d/,*.conf
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
内部解析的地址关系
[root@localhost ~]# cat /etc/dnsmasq.hosts
160.116.208.83 sprr.com
添加上游dns服务器地址
#当dnsmasq在本地找不到解析记录的时候,去上游查找
[root@localhost ~]# cat /etc/resolv.dnsmasq.conf
nameserver 119.29.29.29
nameserver 223.5.5.5
启动dnsmasq服务
通过yum安装的软件,直接systemctl启动
systemctl start dnsmasq
修改本地的dns客户端配置文件,指定自定义的dnsmasq服务器地址
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
#search domain.com
#nameserver 8.8.8.8
nameserver 160.116.208.83
测试域名解析是否成功