跳到主要内容

dnsmasq

配置

/etc/dnsmasq.conf

主配置文件

cache-size=10000
resolv-file=/etc/dnsmasq-resolv.conf
addn-hosts=/etc/dnsmasq.hosts
log-queries
log-facility=/var/log/dnsmasq.log
local-ttl=600
conf-dir=/etc/dnsmasq.d
strict-order
listen-address=192.168.10.30,127.0.0.1

/etc/dnsmasq.d/*

可以在这里配置内网域名解析,支持泛域名和反向解析

配置文件分片,通过主配置的 conf-dir 配置项指定

address=/www.taobao.com/127.0.0.1
ptr-record=127.0.0.1.in-addr.arpa,www.taobao.com
address=/baidu.com/127.0.0.1
address=/test.com/192.168.10.30

# 国内指定国内 dns
server=/cn/114.114.114.114
server=/taobao.com/114.114.114.114
server=/taobaocdn.com/114.114.114.114

# 国外指定国外 dns
server=/google.com/8.8.8.8

# 广告指定本地,去广告
address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1

/etc/resolv.conf

指定上游 DNS 服务器,通过主配置的 resolv-file 配置项指定

请求有个数限制,在配置文件中最多只能配置三个域名服务器。

nameserver 192.168.10.30
nameserver 192.168.10.2

/etc/dnsmasq.hosts

指定 host 配置

192.168.10.30 www.test.com
192.168.10.30 ftp.test.com
192.168.10.30 demo.com

可以在这里配置内网域名解析,但不支持泛域名解析和反向解析

也可以在 /etc/hosts 中配置,优先级需要确认。

优先级

本地 hosts > 配置分片 > 主配置 > 上游 DNS 配置

/etc/hosts > /etc/dnsmasq.d/* > dnsmasq.conf > /etc/resolv.conf

测试配置

检查配置文件

dnsmasq -test

检测 dns 解析

nslookup