DNS dnsmasq
来源:原创
时间:2020-03-01
作者:脚本小站
分类:Linux
dnsmasq服务读取本地的/etc/hosts 和 /etc/resolv.conf 文件作为内网解析和向上解析。
安装:
yum -y install dnsmasq
启动服务:
systemctl start dnsmasq.service
配置
配置文件:
vim /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