1.dnsmasq 是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,
适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能
2. dnsmasq可以解决小范围的dns查询问题,如果业务是跨机房,跨地区的
的话不建议使用dnsmasq作为dns解析服务器
dnsmasq的配置文件
1. 主配置文件,安装后自动生成
/etc/dnsmasq.conf
2. 内部需要解析的IP和域名配置文件,需手动创建
/etc/dnsmasq.hosts
3. dnsmasq的上游DNS服务器配置文件,需手动创建
/etc/resolv.dnsmasq.conf
主配置文件参数
#过滤文件中排除空行^$和 ^#或者^;的行
[root@local-pyyu ~]# grep -Ev '^$|^[#;]' /etc/dnsmasq.conf
#定义dnsmasq从哪里获取上游DNS服务器的地址,默认是从/etc/resolv.conf获取
resolv-file=/etc/resolv.dnsmasq.conf
#访问baidu.com时的所有域名都会被解析成123.206.16.61
address=/baidu.com/123.206.16.61
address=/taobao.com/123.206.16.61
#定义dnsmasq监听的地址,默认是监控本机的所有网卡上。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址
listen-address=192.168.178.180
#本地域名配置文件(不支持泛域名),添加内部需要解析的地址和域名(重新加载即可生效)
addn-hosts=/etc/dnsmasq.hosts
#记录dns查询日志服务器
log-queries
##设置日志记录
log-facility=/var/log/dnsmasq.log
#包含其他文件夹下所有配置文件
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
内部解析地址配置
[root@local-pyyu ~]# cat /etc/dnsmasq.hosts
8.8.8.8 taobao.com
添加上游dns服务器地址
#当某个域名无法解析的时候,发给上游服务器查询
[root@local-pyyu ~]# cat /etc/resolv.dnsmasq.conf
nameserver 223.5.5.5
nameserver 223.6.6.6
配置日志切割
[root@local-pyyu ~]# cat /etc/logrotate.d/dnsmasq
/var/log/dnsmasq.log {
daily
copytruncate
missingok
rotate 30
compress
notifempty
dateext
size 200M
}
配置dns客户端地址
# 此时我们本地机器,以及是dns的服务端
[root@local-pyyu ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.178.180
测试dns域名解析
#安装dns客户端软件 dig与nslookup
yum install bind-utils -y
dig www.4399.com|grep -i 'query time' #第二次访问就能够缓存加速了
[root@local-pyyu ~]# nslookup baidu.com #用本地dns
Server: 192.168.178.180
Address: 192.168.178.180#53
Name: baidu.com
Address: 123.206.16.61
[root@local-pyyu ~]#
[root@local-pyyu ~]#
[root@local-pyyu ~]# nslookup baidu.com 223.5.5.5 #用公网dns
Server: 223.5.5.5
Address: 223.5.5.5#53
Non-authoritative answer:
Name: baidu.com
Address: 39.156.69.79
Name: baidu.com
Address: 220.181.38.148
[root@local-pyyu ~]# nslookup taobao.com #用本地dns
Server: 192.168.178.180
Address: 192.168.178.180#53
Name: taobao.com
Address: 123.206.16.61
[root@local-pyyu ~]# nslookup www.jd.com #转发给上游服务器
Server: 192.168.178.180
Address: 192.168.178.180#53
Non-authoritative answer:
www.jd.com canonical name = www.jd.com.gslb.qianxun.com.
www.jd.com.gslb.qianxun.com canonical name = www.jdcdn.com.
www.jdcdn.com canonical name = img2x-v6-sched.jcloudedge.com.
Name: img2x-v6-sched.jcloudedge.com
Address: 117.131.205.3
Name: img2x-v6-sched.jcloudedge.com
Address: 2409:8c02:11c:20:8000::3