ubuntu20.04上安装dnsmasq服务及dns缓存配置

简介: ubuntu20.04 安装dnsmasq服务, 缓存dns,加快网络地址解析

1. 禁用系统自带的dns服务

sudo systemctl stop systemd-resolved
sudo systemctl disable --now systemd-resolved
#备份/etc/resolv.conf
mkdir -p ~/bak
sudo mv /etc/resolv.conf  ~/bak/etc-resolv.conf

2. 安装dnsmasq服务

sudo apt install dnsmasq -y
#查看启动状态
sudo systemctl status dnsmasq

3. 配置/etc/dnsmasq.conf和/etc/resolv.conf

#1.备份dnsmasq.conf
sudo cp /etc/dnsmasq.conf ~/bak/etc-dnsmasq.conf
#2.sed 或vim 编辑配置文件
sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=\/google.com\/223.5.5.5/g' /etc/dnsmasq.conf
sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=\/cn\/114.114.114.114/g' /etc/dnsmasq.conf
sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=\/qq.com\/119.29.29.29/g' /etc/dnsmasq.conf
sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/baidu.com/180.76.76.76/g' /etc/dnsmasq.conf
sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/taobaocdn.com/223.5.5.5/g' /etc/dnsmasq.conf
sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/taobao.com/223.5.5.5/g' /etc/dnsmasq.conf
sudo sed -i 's/#server=\/localnet\/192.168.0.1/#server=\/localnet\/192.168.0.1\nserver=/aliyun.com/223.5.5.5/g' /etc/dnsmasq.conf
#设置cache-size
sudo sed -i 's/#cache-size=150/#cache-size=150\ncache-size=1500/g' /etc/dnsmasq.conf
sudo sed -i "s/#resolv-file=\/etc/resolv-file=\/etc/g" /etc/dnsmasq.conf
#3.测试配置
dnsmasq --test
#4.重启服务
sudo systemctl restart dnsmasq
#5.配置/etc/resolv.dnsmasq.conf
sudo sed -i '1a\nameserver 8.8.8.8' /etc/resolv.dnsmasq.conf
sudo sed -i '1a\nameserver 114.114.114.114' /etc/resolv.dnsmasq.conf

4.设置本机dns

将本机dns设置为127.0.0.1 , 即可使用dnsmasq服务提供的dns缓存。

5.应用

5.1 屏蔽网页广告

将指广告的URL指定127这个IP,就可以将网页上讨厌的广告给去掉了。

address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1

5.2 指定域名解析到特定的IP上

可以让你控制一些网站的访问,非法的DNS就经常把一些正规的网站解析到不正确IP上。

address=/test.com/123.123.123.123

5.3 管理控制内网DNS

首先将局域网中的所有的设备的本地DNS设置为已经安装Dnsmasq的服务器IP地址。然后修改已经安装Dnsmasq的服务器Hosts文件:/etc/hosts,指定域名到特定的IP中。

附录:

1. dnsmasq常用配置项

具体参数 参数说明
resolv-file 定义dnsmasq从哪里获取上游DNS服务器的地址, 默认从/etc/resolv.conf获取。
strict-order 表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
listen-address 定义dnsmasq监听的地址,默认是监控本机的所有网卡上. 如:listen-address=127.0.0.1,192.168.x.x
address 启用泛域名解析,即自定义解析a记录,例如:address=/long.com/192.168.115.10 访问long.com时的所有域名都会被解析成192.168.115.10
bogus-nxdomain 对于任何被解析到此 IP 的域名,将响应 NXDOMAIN 使其解析失效,可以多次指定通常用于对于访问不存在的域名,禁止其跳转到运营商的广告站点
server 指定使用哪个DNS服务器进行解析,对于不同的网站可以使用不同的域名对应解析。
cache-size 制定dns缓存大小, 如cache-size=1500

2. 常用dns

腾讯 119.29.29.29
百度 180.76.76.76
阿里:223.5.5.5 / 223.6.6.6
114:114.114.114.114
Google:8.8.8.8/ 8.8.4.4 ipv6: 2001:4860:4860::8888 / 2001:4860:4860::8844
北京dns:202.96.199.133 / 202.96.0.133 / 202.106.0.20 / 202.106.148.1 / 202.97.16.195 / 202.138.96.2

3.常用的dnsmasq.conf配置

server=/aliyun.com/223.5.5.5
server=/taobao.com/223.5.5.5
server=/baidu.com/180.76.76.76
server=/qq.com/119.29.29.29
server=/cn/114.114.114.114
server=/google.com/223.5.5.5
cache-size=1500
相关文章
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
域名解析 应用服务中间件 Shell
使用nps配置内网穿透加域名解析
使用nps配置内网穿透加域名解析
1257 77
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
10582 2
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
2474 12
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1708 0
|
9月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
886 25
|
10月前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
389 1
Redis专题-实战篇二-商户查询缓存
|
9月前
|
缓存 运维 监控
Redis 7.0 高性能缓存架构设计与优化
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Redis 7.0高性能缓存架构,探索函数化编程、多层缓存、集群优化与分片消息系统,用代码在二进制星河中谱写极客诗篇。
1737 3
|
10月前
|
缓存 NoSQL 关系型数据库
Redis缓存和分布式锁
Redis 是一种高性能的键值存储系统,广泛用于缓存、消息队列和内存数据库。其典型应用包括缓解关系型数据库压力,通过缓存热点数据提高查询效率,支持高并发访问。此外,Redis 还可用于实现分布式锁,解决分布式系统中的资源竞争问题。文章还探讨了缓存的更新策略、缓存穿透与雪崩的解决方案,以及 Redlock 算法等关键技术。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS