Linux DNS解析3 -- DNS解析代理配置使用

当网关设备配置了 /etc/hosts 文件时,确实可以为终端设备提供自定义DNS解析功能,但具体效果取决于网关的DNS代理服务配置。下面详细解释其工作原理和限制:

一、/etc/hosts 文件的作用

/etc/hosts 是本地静态域名解析文件,格式为:

IP地址    域名1    域名2    ...

例如:

192.168.1.100    www.example.com    example.com

当系统(或DNS代理服务)收到域名解析请求时,会优先查询 /etc/hosts,如果匹配则直接返回对应IP,否则继续向上游DNS服务器查询。

二、网关DNS代理如何利用 /etc/hosts

1. Dnsmasq 配置

Dnsmasq 默认会读取 /etc/hosts 文件,无需额外配置。例如:

# /etc/dnsmasq.conf
listen-address=0.0.0.0
server=8.8.8.8
# 无需其他配置,自动读取 /etc/hosts

此时:

  • 终端请求 www.example.com 时,Dnsmasq 会先查 /etc/hosts,命中则直接返回192.168.1.100
  • 未命中的请求会转发到8.8.8.8
2. Pi-hole 配置

Pi-hole 基于 Dnsmasq,同样支持 /etc/hosts,但更推荐通过 Web 界面添加自定义解析(Admin → Local DNS → DNS Records)。

3. Unbound 配置

Unbound 默认不读取 /etc/hosts,需要手动配置:

# /etc/unbound/unbound.conf
local-data: "www.example.com. IN A 192.168.1.100"
local-data: "example.com. IN A 192.168.1.100"

三、对终端设备的影响

如果终端设备将网关IP(如192.168.1.1)设为DNS服务器,那么:

  1. 自定义域名生效
    终端请求 /etc/hosts 中配置的域名(如 www.example.com)时,会直接解析到网关指定的IP。
  2. 其他域名正常解析
    未配置的域名会通过网关转发到上游DNS服务器(如Google DNS)。

四、与纯本地 /etc/hosts 的区别

场景终端直接配置 /etc/hosts网关DNS代理配置 /etc/hosts
生效范围仅对配置的终端有效所有连接到网关的终端都有效
修改方式需登录每个终端修改只需修改网关一处
解析优先级本地优先网关代理优先
对上游DNS依赖仅影响自定义域名所有域名解析都经过网关

五、常见应用场景

1. 内网服务访问

将内网服务器域名(如 nas.home)指向固定IP:

192.168.1.200    nas.home
2. 广告拦截

将广告域名解析到本地或无效IP:

0.0.0.0    ads.example.com
3. 开发测试

在开发环境中,将域名指向本地测试服务器:

127.0.0.1    dev.example.com

六、注意事项

  1. 配置生效条件

    • 网关DNS代理服务必须正确配置(如Dnsmasq未禁用 /etc/hosts
    • 终端必须将网关设为DNS服务器
  2. 缓存影响

    • 终端和网关都可能缓存DNS结果,修改 /etc/hosts 后需清除缓存:
      # 清除Dnsmasq缓存(重启服务)
      sudo systemctl restart dnsmasq# 清除终端缓存(不同系统命令不同)
      ipconfig /flushdns  # Windows
      sudo dscacheutil -flushcache  # macOS
      
  3. 域名冲突
    如果 /etc/hosts 与权威DNS记录冲突,可能导致服务异常(如无法访问真实网站)。

七、验证方法

在终端设备上测试:

# 使用nslookup测试域名解析
nslookup www.example.com 192.168.1.1  # 指定网关为DNS服务器# 预期输出
Server:         192.168.1.1
Address:        192.168.1.1#53Name:   www.example.com
Address: 192.168.1.100  # 与/etc/hosts配置一致

如果输出与 /etc/hosts 配置一致,说明网关DNS代理已成功使用该文件提供解析服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90877.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

历史版本的vscode下载地址

我有点厌恶vscode越来越臃肿的体积,也不需要层出不穷的新功能,于是网上找寻历史版本。 首先是这个页面:https://code.visualstudio.com/updates ,但最多只显示两年,更早的就要手工修改地址栏,我试了最早的…

如何规范化项目执行

要实现项目执行的规范化,应做到以下几点:制定详细的项目执行计划、明确项目团队角色职责、建立高效沟通与协调机制、实施全面的质量与风险管理、采用合适的项目管理工具。其中,尤其重要的是明确项目团队角色职责,通过构建清晰的责…

【Rust异步】async和await异步编程实战:高并发任务处理全解析

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

在Linux上使用DuckCP实现从csv文件汇总数据到SQLite数据库的表

从pypi网站Duckcp页面下载duckcp-0.1.1-py3-none-any.whl 一开始用的Python 3.11.2环境。 继续沿用上文打补丁的方法,得到一个支持python3.11.1的安装包。 因为缺少zip压缩工具,使用python程序来完成对修改后文件的重新压缩。 import os import zipfile…

基于深度学习的图像分类:使用EfficientNet实现高效分类

前言 图像分类是计算机视觉领域中的一个基础任务,其目标是将输入的图像分配到预定义的类别中。近年来,深度学习技术,尤其是卷积神经网络(CNN),在图像分类任务中取得了显著的进展。EfficientNet是一种新型的…

Java基础-综合案例

1、设计一个可以执行基本数学运算(加减乘除)的计算器程序功能描述:用户输入两个数字、一个运算符(、-、*、/)。根据所选运算符执行相应的数学运算,显示运算结果。import java.util.Scanner;public class Te…

四、计算机组成原理——第3章:存储系统

目录 3.1存储器概述 3.1.1存储器的分类 1.按在计算机中的作用(层次)分类 2.按存储介质分类 3.按存取方式分类 4.按信息的可保存性分类 3.1.2存储器的性能指标 3.2主存储器 3.2.1SRAM芯片和DRAM芯片 1.SRAM的工作原理 2.DRAM的工作原理 3.SRAM和DRAM的比较 4.存储器芯片的内部结…

3D Semantic Occupancy Prediction

3D 语义占用预测(3D Semantic Occupancy Prediction)旨在将真实世界环境划分为规则的三维体素(voxel)网格,并对每个体素同时预测: 占用状态(Occupancy):该体素是否被物体…

在Word和WPS文字中添加的拼音放到文字右边

在Word和WPS文字中,可以方便地为中文汉字添加拼音。默认的是拼音在汉字的上方,而且不方便直接编辑。可以简单操作后把拼音放在汉字的右边,并且可以方便地编辑。一、Word:先为汉字添加拼音,然后选择性粘贴为纯文本即可1…

Torchv Unstrustured 文档解析库

一个强大且开发者友好的文档解析库,专为RAG(检索增强生成)应用优化。基于Apache Tika、Apache POI和PDFBox等业界标准Java库构建,TorchV Unstructured提供了增强的解析能力,具备智能表格结构识别和内容提取功能。 &am…

30天入门Python(基础篇)——第22天:面向对象之继承与多继承

目录 专栏导读 学习目标 1. 继承的基本概念 1.1 继承的优势 2. 单继承 2.1 基本语法 2.2 实际示例 3. super()函数详解 3.1 基本用法 3.2 super()的高级用法 4. 多继承 4.1 多继承语法 4.2 多继承示例 5. 方法解析顺序(MRO) 5.1 查看MRO 5.2 复杂的MRO示例 6. 实际应用案例 6…

学习人工智能所需知识体系及路径详解

一、核心基础知识体系1. 数学基础线性代数关键概念:向量空间、矩阵运算(转置/逆矩阵)、特征值分解、奇异值分解(SVD)应用场景:数据降维(PCA)、图像处理(矩阵变换&#xf…

前端实现银河粒子流动特效的技术原理与实践

文章目录 1,引言 2,特效效果简介 3,技术原理解析 1. 粒子系统基础 2. 银河结构的数学建模 3. 动态流动与旋转 4,实现流程图 5,关键代码实现与详细讲解 1. 初始化Three.js场景 2. 生成银河粒子数据 3. 创建粒子几何体与材质 4. 实现粒子的动态旋转与动画 5. 可选:粒子颜色…

Qt_Gif_Creator 基于Qt的屏幕gif录制工具

本文介绍了一个基于Qt框架的屏幕GIF录制工具的实现。该工具包含XYGifCreator类负责GIF创建逻辑,使用Gif.h库进行GIF编码;XYGifFrame类提供GUI界面,支持设置录制区域大小、帧率以及保存位置。工具采用多线程处理GIF编码,支持Window…

Linux实战:HAProxy全方位指南

一、负载均衡核心概念 1.1 负载均衡定义 负载均衡(Load Balance,简称LB)是一种基于硬件设备或软件服务的高可用反向代理技术。它将特定业务(如Web服务、网络流量)分发到后端的一个或多个服务器/设备,从而提…

22 BTLO 蓝队靶场 Countdown 解题记录

Tools: - ELK - CyberChef - OSINT (whole World Wide Web) Hunt #1: Brute Force DetectedSource: winevent-security (1/3) — 可疑暴力破解流量来自哪个IP地址 What is the IP address from which the suspicious brute force traffic is seen?? 我们需要寻找暴力破解…

文心一言4.5开源模型实战:ERNIE-4.5-0.3B轻量化部署与效能突破

文心一言4.5开源模型实战:ERNIE-4.5-0.3B轻量化部署与效能突破 文心一言4.5开源模型实战:ERNIE-4.5-0.3B轻量化部署与效能突破,本文介绍百度文心一言 4.5 开源模型中 ERNIE-4.5-0.3B 的轻量化部署与效能。该 3 亿参数模型破解大模型落地的算力…

SAP-MM-采购订单批量创建 excel 版

采购订单批量创建程序摘要:不含任何定制字段的导入,直接导入系统即可使用 该SAP ABAP程序实现采购订单的批量创建功能,主要特性包括: 支持通过Excel文件批量导入采购订单数据(XLS/XLSX格式) 提供数据校验功能,包括: 物料号有效性检查 采购凭证存在性验证 科目分配类别…

2_软件重构_一种组件化开发方式

一、碎碎念 首先先考虑下,什么情况下软件需要重构?我觉得答案有很多种,而且还有范围。当日益增长的需求与现有软件结构越来越无法匹配时——①具体表现可能为新增需求所导致的bug越来越多,一个新功能的改动牵一发而动全身&a…

今日行情明日机会——20250728

上证指数量能持续在200天均量线上,最近今天横盘震荡,今天依然收在5天均线上方,个股涨跌个数基本相同。目前依然强势,有望冲击3674的前高。需要注意板块的高低切换。深证指数今天缩量收小阳线,均线多头的趋势明显&#…