软件的安装
yum -y install dnsmasq
一、主机的/etc/resolv.conf设置(在第三方机器上,就是客户机上)
; generated by /sbin/dhclient-script
nameserver 10.88.0.11 #新部署的dnsmasq服务
dnsmasq服务相关的配置
#
#重新填写配置文件 /etc/dnsmasq.conf 这个自由选择,用默认的可以满足需求
##侦听端口
port=53
##服务启动用户及用户组
user=nobody
group=nobody
##业务侦听地址 - interface 选项和 listen-address 选项可以同时使用
listen-address=10.10.10.10,127.0.0.1
##不加载本地的 /etc/hosts 文件
no-hosts
##添加读取额外的 hosts 文件路径,可以多次指定。如果指定为目录,则读取目录中的所有文件。
addn-hosts=/data/dnsmasq/dnsmasq.hosts
##读取目录中的所有文件,文件更新将自动读取
hostsdir=/data/dnsmasq/dnsmasq.d
##记录dns查询日志,如果指定 log-queries=extra 那么在每行开始处都有额外的日志信息。
log-queries
##设置日志记录器
log-facility=/data/dnsmasq/log/dnsmasq.log
##异步log,缓解阻塞,提高性能。默认为5,最大100。
log-async=50
##指定 EDNS.0 UDP 包的最大尺寸,默认为 RFC5625 推荐的 edns-packet-max=4096
edns-packet-max=4096
##指定接口
interface=ens33
##指定不提供 DHCP 或 TFTP 服务的接口,仅提供 DNS 服务。
no-dhcp-interface=ens33
##指定 resolv-file 文件路径(上游DNS服务器),默认/etc/resolv.dnsmasq
resolv-file=/data/dnsmasq/resolv.dnsmasq
##严格按照resolv.conf中的顺序进行查找
strict-order
##重启后清空缓存
clear-on-reload
##完整的域名才向上游服务器查找,如果仅仅是主机名仅查找hosts文件
domain-needed
##缓存条数,默认为150条,cache-size=0 禁用缓存。
cache-size=1000
##不缓存未知域名缓存,默认情况下dnsmasq缓存未知域名并直接返回为客户端。
no-negcache
##指定DNS同属查询转发数量
dns-forward-max=1000
二、dnsmasq配置(新增记录)
1、定义上游DNS
#cat /etc/resolv.dnsmasq.conf
nameserver 100.100.2.136 #上级的dns服务器
nameserver 100.100.2.138 #上级的dns服务器
2、增加新的正向解析记录
编辑
/etc/dnsmasq.hosts
3、增加新的PTR记录
/etc/dnsmasq.d/ethnicity.cn.conf
/etc/dnsmasq.d/sz.conf
/etc/dnsmasq.d/hadoop.conf
格式
address=/openfile.ethnicity.cn/10.5.39.115
address=/openfile.ethnicity.cn/10.5.39.115
#正向解析的设置
cat /etc/dnsmasq.hosts
10.10.10.10 test
10 10.10.10.11 test11
10.10.10.12 test12
4、重启服务即可
systemctl start dnsmasq.service
systemctl enable dnsmasq.service
其他DNS用法
添加指定泛域名通过指定DNS服务器解析(防域名被劫持,或者转发指定域名解析)
#增加配置 /etc/dnsmasp.conf
server=/sohu.com/10.1.1.1
添加指定泛域名解析成指定IP (可用来屏蔽特定的域名)
#增加配置 /etc/dnsmasp.conf
address=/baidu.com/2.2.2.2
添加A记录
#增加配置 /etc/dnsmasp.conf
host-record=test13.test,10.10.10.13
添加别名记录(需要先添加源地址解析记录,在添加别名记录)
#增加配置 /data/dnsmasq/dnsmasq.d/test.test
10.10.10.20 20.test.test
#增加配置 /etc/dnsmasp.conf
cname=10.test.test,20.test.test