DNSMasq 是一个用于处理 DNS 和 RAID 的工具,常用于 Linux 系统中,它可以作为 DNS 服务器、 DHCP 服务器和 TFTP 服务器同时工作,以下是配置 DNSMasq 的一些常见规则和设置示例。
安装和启动 DNSMasq
在安装 DNSMasq 之前,确保你已经安装了 dnsmasq 包:
sudo apt-get install dnsmasq
启动 DNSMasq:
sudo systemctl start dnsmasq sudo systemctl enable dnsmasq
配置文件
DNSMasq 的配置文件通常位于 /etc/dnsmasq/dnsmasq.conf,默认配置文件包含许多 commented-out 选项,以下是常见的配置示例:
# 监听指定的接口 interface= # 监听指定的端口 port=53 # 设置接口的广播地址 interface=eth # 指定允许的 DNS 查询类型 add_local
DNS 记录设置
DNSMasq 支持多种 DNS 记录类型,以下是一些常见的记录类型:
A 记录
用于将域名指向 IP 地址:
host-record=192.168.1.1,example.com
CNAME 记录
用于将域名指向另一个域名:
cname-record=CNAME.example.com,www.example.com
MX 记录
用于邮件 交换 机制:
mx-record=mx.example.com,example.com
TXT 记录
用于 SPF、DKIM 等记录:
txt-record="v=spf1 ip4:all",example.com
服务器设置
可以配置 DNSMasq 作为 DNS 服务器:
dns-forwarders=
DHCP 设置
如果你希望 DNSMasq 作为 DHCP 服务器,可以启用以下选项:
dhcp
指定接口
你可以指定 DNSMasq 监听的网络接口:
interface=eth
防火墙设置
你可以设置防火墙规则来限制 DNSMasq 接收的 DNS 查询类型:
query-type=cache
重启 DNSMasq
在修改配置后,重启 DNSMasq:
sudo systemctl restart dnsmasq
测试配置
可以使用 dig 工具测试 DNSMasq 的配置是否正确:
dig www.example.com @localhost
高级配置
缓存设置
你可以配置 DNSMasq 的缓存大小:
cache-size=100
日志设置
你可以调整日志级别:
log-level=DEBUG
常见问题
如果你遇到问题,可以检查日志文件:
tail -f /var/log/messages
通过上述配置示例,你可以根据需求配置 DNSMasq,确保在修改配置后测试配置是否正常工作,避免因配置错误导致网络问题。









