0

0

LINUX下如何搭建DNS缓存服务器_dnsmasq在LINUX中的配置与使用

裘德小鎮的故事

裘德小鎮的故事

发布时间:2025-12-14 16:48:07

|

119人浏览过

|

来源于php中文网

原创

部署dnsmasq可提升局域网DNS解析效率。1、更新软件源并安装dnsmasq;2、配置cache-size=1000、指定上游DNS如8.8.8.8;3、设置listen-address为本地及局域网IP,绑定接口;4、重启并启用服务,设为开机自启;5、用dig测试查询时间,二次响应显著缩短即表明缓存生效。

linux下如何搭建dns缓存服务器_dnsmasq在linux中的配置与使用

如果您在局域网中频繁进行域名解析,且希望提升解析速度并减少外部DNS查询负担,可以在Linux系统中部署一个轻量级的DNS缓存服务器。通过本地缓存常用域名解析结果,能够显著提高响应效率并降低网络延迟。

本文运行环境:联想ThinkPad E14,Ubuntu 22.04

一、安装dnsmasq软件包

dnsmasq是一个轻量级的DNS转发和DHCP服务工具,适用于小型网络环境。它支持DNS缓存功能,能有效减少重复查询。

1、打开终端,更新软件包索引列表:sudo apt update

2、执行安装命令:sudo apt install dnsmasq,等待安装完成。

二、配置基本DNS缓存参数

修改主配置文件以启用缓存功能,并设置上游DNS服务器地址,确保dnsmasq可以正确转发未命中的请求。

1、使用文本编辑器打开配置文件:sudo nano /etc/dnsmasq.conf

2、在文件中添加或取消注释以下行:

cache-size=1000 表示最多缓存1000个域名记录。

no-resolv 表示不从/etc/resolv.conf读取DNS服务器。

server=8.8.8.8 指定Google公共DNS作为上游服务器,可添加多行以配置多个。

3、保存并关闭文件。

三、设置监听地址与允许客户端访问

默认情况下,dnsmasq仅监听本地回环地址。若需为局域网其他设备提供服务,必须明确指定监听接口。

MaxAI
MaxAI

MaxAI.me是一款功能强大的浏览器AI插件,集成了多种AI模型。

下载

1、在配置文件中添加:listen-address=127.0.0.1,允许本地访问。

2、如需绑定到局域网IP(例如192.168.1.100),添加:listen-address=192.168.1.100

3、添加 bind-interfaces 确保只绑定到指定接口。

4、允许来自特定子网的请求:interface=eth0 或使用 except-interface=lo 排除不需要的接口。

四、启动并启用dnsmasq服务

完成配置后,需要重启服务以加载新配置,并设置开机自启以保证持续运行。

1、重启dnsmasq服务:sudo systemctl restart dnsmasq

2、启用开机自动启动:sudo systemctl enable dnsmasq

3、检查服务状态:sudo systemctl status dnsmasq,确认处于active (running)状态。

五、测试DNS缓存效果

通过多次查询同一域名并观察响应时间变化,验证缓存是否生效。

1、首次查询并记录响应时间:dig @127.0.0.1 google.com,查看"Query time"数值。

2、再次执行相同命令,若第二次查询时间显著缩短,则说明缓存已起作用。

3、查看当前缓存内容:sudo cat /var/log/syslog | grep dnsmasq,查找缓存命中信息。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1024

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

447

2025.12.29

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

703

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

11

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号