dnsmasq

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

 

测试域名解析是否成功

dnsmasq

 

上一篇:ubuntu14.04 网络配置ubuntu14.04 网络配置


下一篇:ubuntu21.04 desktop dns 解析慢