在局域网内部署本地DNS缓存,能够极大加快域名解析速度,降低对外部DNS服务器的频繁请求。dnsmasq作为一款轻量级DNS转发与缓存工具,非常适合搭建此类服务。本文将从源码编译开始,一步步指导你完成dnsmasq的安装与配置,实现局域网DNS加速。
1. 下载dnsmasq源码包
首先需要获取dnsmasq的源码压缩包。本文以稳定版本2.45为例进行演示,你也可根据实际需求选用更新的版本。
wget https://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.45.tar.gz cp dnsmasq-2.45.tar.gz /usr/src tar zxvf dnsmasq-2.45.tar.gz
2. 编译并安装dnsmasq
解压完成后进入源码目录,执行make install即可完成编译安装。随后复制默认配置文件模板,并创建必要的子目录以存放自定义配置。
cd /usr/src/dnsmasq-2.45 make install cp dnsmasq.conf.example /etc/dnsmasq.conf mkdir -p /etc/dnsmasq.d
3. 配置dnsmasq参数
使用编辑器打开主配置文件 /etc/dnsmasq.conf,添加或修改以下关键参数:
vi /etc/dnsmasq.conf ########## resolv-file=/etc/dnsmasq.d/dnsmasq.resolv.conf strict-order listen-address= 192.168.1.xx addn-hosts=/etc/dnsmasq.d/dnsmasq.hosts
接下来,在 /etc/dnsmasq.d 目录中创建两个辅助文件:
- dnsmasq.resolv.conf:用于指定上游DNS服务器地址,例如公共DNS 8.8.8.8(Google)
- dnsmasq.hosts:自定义域名与IP地址的静态映射,格式为
IP地址 域名
# dnsmasq.resolv.conf nameserver 8.8.8.8 # dnsmasq.hosts ip domain
4. 安装dig与nslookup诊断工具
为了验证DNS解析效果,需要安装dig和nslookup等诊断工具。不同Linux发行版的安装命令略有不同:
Ubuntu/Debian系列:
sudo apt-get install dnsutils
Fedora/CentOS/RHEL系列:
yum install bind-utils
完成上述所有配置后,启动dnsmasq服务(使用systemctl start dnsmasq或service dnsmasq start命令)。然后将局域网中其他设备的DNS服务器地址指向本机IP,即可体验本地DNS缓存带来的解析加速效果。
