官方文档 http://www.thekelleys.org.uk/dnsmasq/doc.html
下载地址 https://thekelleys.org.uk/dnsmasq/
介绍
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。
安装
1.编译安装
2.YUM安装
yum install dnsmasq -y
配置使用
- resolv-file 定义dnsmasq从哪里获取上游DNS服务器地址,默认从
/etc/resolv.conf
获取- strict-order 表示严格按照 resolv-file 文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止
- listen-address 定义dnsmasq监听地址,默认监听本机所有网卡。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址
- address 启用泛域名解析,即自定义解析a记录。
address=/test.com/127.0.0.1 # 访问test.com的所有域名都会被解析为127.0.0.1
- bogus-nxdomain
- server 指定dnsmasq服务使用哪个DNS进行解析。对于不同的网站可以指定不同的域名进行解析,例如
server=/cn/114.114.114.114 # 表示所有的cn域名都使用114这个公共DNS
server=/google.com/8.8.8.8 # 表示对于google的服务使用谷歌的DNS进行解析
[root@demo1 ~]# vim /etc/dnsmasq.conf
resolv-file=/etc/resolv.conf
strict-order
listen-address=10.100.129.31
address=/demo.com/10.100.129.31
server=114.114.114.114
bogus-nxdomain=114.114.114.114
[root@demo1 ~]# systemctl start dnsmasq
[root@demo1 ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.100.129.31
domain demo.com # 即使省略也未见异常
[root@demo1 ~]# yum install bind-utils -y
[root@demo1 ~]# nslookup www.demo.com
同局域网中只需要修改DNS地址指向10.100.129.31即可实现*.demo.com域名访问(域名解析至10.100.129.31)
[root@demo2 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.100.129.31