目录

一、域名服务基础:从 “名字” 到 “地址” 的转换

1️⃣什么是域名?

2️⃣什么是 DNS?

3️⃣DNS 用 TCP 还是 UDP?

二、DNS 服务器:各司其职的 “导航站”

1️⃣根域名服务器

2️⃣顶级域名服务器

3️⃣权威域名服务器

4️⃣本地 DNS 服务器

5️⃣转发服务器

三、正向解析与反向解析:DNS 的两种 “查询模式”

1️⃣正向解析:域名→IP

2️⃣反向解析:IP→域名

3️⃣区域(Zone)的概念

四、DNS 查询方式:递归与迭代

1️⃣递归查询:“你帮我搞定”

2️⃣迭代查询:“你告诉我下一步找谁”

3️⃣完整查询过程(以www.linuxprobe.com为例)

五、Linux 构建缓存域名服务器

1️⃣为什么需要缓存 DNS?

2️⃣工具:BIND(最常用的 DNS 软件)

3️⃣配置缓存 DNS 服务器(步骤)

步骤 1:修改主配置文件

步骤 2:重启服务并测试

六、Linux 构建主从域名服务器

1️⃣主从服务器的角色

2️⃣配置示例(环境:主服务器 192.168.141.130,从服务器 192.168.141.129)

步骤 1:配置主服务器

步骤 2:配置从服务器

步骤 3:测试


DNS(域名系统)是互联网的 “导航系统”,让我们能通过好记的域名(如www.baidu.com)访问网站,而不是复杂的 IP 地址(如 14.215.177.38)。对于 Linux 初学者来说,理解 DNS 的工作原理并掌握其配置方法,是搭建网络服务的重要基础。

一、域名服务基础:从 “名字” 到 “地址” 的转换

1️⃣什么是域名?

域名(Domain Name)是互联网上计算机或服务器的 “名字”,由一串用点分隔的字符组成,必须以点结尾(如www.qq.com.cn.),我们日常看到的 “www.qq.com.cn” 只是简略形式。

它的核心作用是替代 IP 地址:人类对 “www.baidu.com” 的记忆远比对 “14.215.177.38” 容易,而 DNS 的任务就是把 “名字” 翻译成 “地址”。

通过域名系统(DNS)实现域名与IP地址的映射。

2️⃣什么是 DNS?

DNS 就是用于将网站的域名转换为IP地址的系统。DNS(域名系统)是一个分布式数据库,负责存储域名与 IP 地址的对应关系,并提供查询服务。简单说,当你在浏览器输入 “www.example.com” 时:

  1. 你的电脑会向 DNS 服务器发送查询:“这个域名对应的 IP 是多少?”
  2. DNS 服务器通过一系列查询,找到对应的 IP(如 93.184.216.34)并返回;
  3. 电脑用 IP 地址连接服务器,获取网页内容。

DNS 的关键参数:

  • 使用端口:TCP 和 UDP 的 53 端口;
  • 长度限制:每级域名最长 63 字符,总长度不超过 253 字符。

3️⃣DNS 用 TCP 还是 UDP?

DNS 根据场景选择协议,初学者只需记住:

  • UDP:用于常规查询(如浏览器查域名),速度快、数据量小(≤512 字节),适合缓存查询、迭代查询;
  • TCP:用于大量数据传输(如主从服务器同步数据)、大型响应(>512 字节),或防止攻击,因为 TCP 需要建立连接,更可靠。

二、DNS 服务器:各司其职的 “导航站”

DNS 系统是分层的,不同服务器负责不同环节,就像 “国家 - 省 - 市” 的行政体系:

1️⃣根域名服务器

DNS 的 “顶层领导”,全球共 13 组(标识为 A-M),不直接解析域名,而是指引查询到对应的顶级域名服务器。例如:

  • A 根服务器:管理单位INTERNIC.NET,位于美国弗吉尼亚州,IP 为 198.41.0.4;
  • M 根服务器:由 WIDE Project 管理,位于日本东京,IP 为 202.12.27.33。

2️⃣顶级域名服务器

负责 “顶级域名”(如.com、.org、.cn)的解析,指引查询到下一级服务器。例如:

  • .com 服务器:管理所有以.com 结尾的域名;
  • .cn 服务器:管理中国国家域名(如.qq.com.cn的顶级域是.cn)。

3️⃣权威域名服务器

“具体管事的”,保存某一域名的详细解析记录(如www.baidu.com的 IP),是该域名的 “官方服务器”(如阿里云 DNS、腾讯云 DNS)。

4️⃣本地 DNS 服务器

你家宽带或公司网络提供的 DNS(如 114.114.114.114),负责替你完成整个查询过程:

  1. 先查自己的缓存,有结果直接返回;
  2. 没有则依次向根、顶级、权威服务器查询,最后把结果返回给你,并缓存下来。

5️⃣转发服务器

可选的 “中间代理”,接收查询后转发给其他 DNS 服务器,适合大型网络减少重复查询(比如公司内网用转发服务器统一处理外部查询)。

三、正向解析与反向解析:DNS 的两种 “查询模式”

DNS 的核心是 “地址对应关系”,分为两种查询方向:

1️⃣正向解析:域名→IP

最常用的功能,根据域名查 IP。例如:输入 “www.baidu.com”,得到 IP“14.215.177.38”。

2️⃣反向解析:IP→域名

根据 IP 查域名,用途较少但重要(如反垃圾邮件验证:验证发送邮件的 IP 是否对应宣称的域名)。例如:输入 “14.215.177.38”,得到 “www.baidu.com”。

3️⃣区域(Zone)的概念

每台 DNS 服务器只负责一小部分 “范围”(称为 “区域”):

  • 正向区域:存储域名→IP 的记录(如xykj.com区域);
  • 反向区域:存储 IP→域名的记录(如 192.168.141.x 网段的区域)。

四、DNS 查询方式:递归与迭代

DNS 查询有两种方式,就像 “找人” 的两种策略:

1️⃣递归查询:“你帮我搞定”

客户端(如你的电脑)向本地 DNS 服务器查询时,本地 DNS 会 “包办到底”:如果自己不知道,就主动向其他服务器查询,直到拿到结果返回给你。
特点:只需发一次请求,等待结果即可(类似 “我问快递员我的快递在哪,他查清楚告诉我市井”)。

2️⃣迭代查询:“你告诉我下一步找谁”

本地 DNS 服务器向其他服务器(如根、顶级服务器)查询时,对方不会直接给结果,而是告诉你 “去问下一个服务器”。本地 DNS 需要自己一步步找下去。
特点:可能发多次请求,目标不断变化(类似 “我问路人邮局在哪,他说‘前面路口问交警’,我再去问交警”)。

3️⃣完整查询过程(以www.linuxprobe.com为例)

  1. 你的电脑先查本地缓存和 hosts 文件(hosts 文件优先级高于 DNS,Linux 路径为 /etc/hosts,Windows 为 C:\Windows\System32\drivers\etc\hosts);
  2. 缓存和 hosts 中没有,就向本地 DNS 服务器发送递归查询;
  3. 本地 DNS 服务器查自己的缓存,没有则开始迭代查询:
    • 问根服务器:“www.linuxprobe.com在哪?” 根服务器说:“去问.com 顶级服务器”;
    • 问.com 顶级服务器,对方说:“去问linuxprobe.com的权威服务器”;
    • 问linuxprobe.com的权威服务器,得到 IP 地址;
  4. 本地 DNS 服务器将结果缓存,再返回给你的电脑。

五、Linux 构建缓存域名服务器

缓存 DNS 服务器的作用是 “记住” 之前的查询结果,让后续查询更快(类似 “记笔记”),适合内网环境(如公司、学校)。

1️⃣为什么需要缓存 DNS?

  • 提高速度:重复访问同一域名时,直接用缓存结果,不用再查外部服务器;
  • 节省流量:减少对外部 DNS 的依赖,降低出口带宽占用;
  • 增强安全:可屏蔽恶意网站,限制内网用户访问风险站点;
  • 方便管理:内网设备用缓存服务器,统一解析规则。

2️⃣工具:BIND(最常用的 DNS 软件)

BIND(Berkeley Internet Name Domain)是 Linux 上主流的 DNS 服务软件,通过以下步骤安装和控制:

  1. 安装:sudo apt install bind9(Debian/Ubuntu)或yum install bind(CentOS);
  2. 服务控制:systemctl start named(启动)、systemctl status named(查看状态)。

3️⃣配置缓存 DNS 服务器(步骤)

以 “192.168.141.130” 作为缓存服务器为例:

步骤 1:修改主配置文件

主配置文件为/etc/bind/named.conf.options,关键设置:

options

directory "/var/cache/bind";  # 数据文件存放目录
recursion yes;  # 启用递归查询(必须,因为缓存服务器要替客户端查询)
listen-on { any; };  # 监听所有网络接口
allow-query { any; };  # 允许所有客户端查询
forwarders {  # 转发器:自己查不到时,转发给这些服务器223.5.5.5;  # 阿里云DNS114.114.114.114;  # 国内通用DNS
};
dnssec-validation auto;  # 自动验证DNS数据有效性
步骤 2:重启服务并测试

bash

sudo systemctl restart named  # 重启服务
sudo systemctl stop firewalld  # 关闭防火墙(避免端口被挡)

在客户端(如 192.168.141.128)的/etc/resolv.conf中设置 DNS 为 192.168.141.130,然后用nslookup www.baidu.com测试:如果能返回 IP,说明配置成功。

六、Linux 构建主从域名服务器

主从域名服务器用于 “热备份”:主服务器负责维护数据,从服务器同步主服务器的数据,避免主服务器故障导致解析失效。

1️⃣主从服务器的角色

  • 主域名服务器:拥有某区域的 “决定权”,维护该区域的解析记录(如xykj.com的 A 记录),可自主修改数据;
  • 从域名服务器:同步主服务器的数据,提供相同的解析服务,作为备份(不能自己修改数据)。

2️⃣配置示例(环境:主服务器 192.168.141.130,从服务器 192.168.141.129)

步骤 1:配置主服务器
  1. 安装 bind9:sudo apt install bind9
  2. 修改区域配置文件/etc/bind/named.conf.default-zones,添加正向区域:

    zone

    zone "xykj.com" {type master;  # 主服务器file "/etc/bind/xykj.local";  # 区域数据文件路径
    };
    
  3. 创建区域数据文件/etc/bind/xykj.local(存储域名→IP 记录):

    zone

    $TTL 604800  # 记录在缓存中存活7天
    @ IN SOA xykj.com. admin.xykj.com. (2  ; 序列号(每次修改+1)604800  ; 刷新时间(7天,从服务器多久查一次主服务器)86400   ; 重试时间(1天,查不到时多久再试)2419200 ; 过期时间(28天,超过多久不再同步)604800  ; 否定缓存时间(7天,查不到的记录缓存多久)
    )
    @ IN NS xykj.com.  # 域名服务器记录
    @ IN A 192.168.141.131  # xykj.com对应IP
    www IN A 192.168.141.131  # www.xykj.com对应IP
    
  4. 检查配置:named-checkzone xykj.com /etc/bind/xykj.local,显示 “OK” 则有效;
  5. 启动服务:systemctl start named
步骤 2:配置从服务器
  1. 安装 bind9:sudo apt install bind9
  2. 修改区域配置文件/etc/bind/named.conf.default-zones,添加正向区域(指向主服务器):

    zone

    zone "xykj.com" {type slave;  # 从服务器masters { 192.168.141.130; };  # 主服务器IPfile "/var/cache/bind/xykj.local.slave";  # 同步的文件路径
    };
    

  3. 启动服务:systemctl start named,从服务器会自动同步主服务器的数据。
步骤 3:测试

在客户机(192.168.141.128)的/etc/resolv.conf中设置 DNS 为 192.168.141.129,用nslookup www.xykj.com测试:能返回 192.168.141.131,说明从服务器工作正常。

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

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

相关文章

iview表单验证一直提示为空的几个原因?

1.Form上的rules是否配置正确; 2.Form-item的prop是否配置正确; 3.规则的名称和input的v-model是否对应; 4.验证的字段是否响应,新增字段使用this. $set. © 著作权归作者所有,转载或内容合作请联系作者 平台声明&#xff1…

SpringBoot3(若依框架)集成Mybatis-Plus和单元测试功能,以及问题解决

一、Mybatis-Plus集成 新增依赖到父级pom.xml,原先的mybatis依赖可以不动需要注意 mybatis-plus与mybatis版本之间的冲突,不要轻易改动依赖,不然分页也容易出现问题分类顶级pom.xml下面,如果没有引入还是出现报错,在co…

删除远程分支上非本分支的提交记录

要删除远程分支上非本分支的提交记录(即主分支的提交历史),需要使用 Git 的重写历史功能。以下是完整解决方案: 解决方案步骤: 创建干净的新分支(基于主分支最新提交) # 切换到主分支并更新 git…

Flask input 和datalist结合

<input list"categories" name"category" id"category" class"form-control" placeholder"任务分类" required> 这段代码是一个 HTML 输入控件&#xff0c;结合了 <input> 和 <datalist>&#xff0c;用来…

嵌入式分享#27:原来GT911有两个I2C地址(全志T527)

最近在调试全志T527的触摸功能时&#xff0c;发现GT911触摸芯片的I2C地址有时是0x5d&#xff0c;有时又识别成0x14&#xff0c;不知道大家有没有遇到过类似这个情况。虽然最后使用0x5d地址调通了触摸功能&#xff0c;但是一直还是很困惑&#xff0c;为什么会出现0x14和0x5d两个…

Linux运维新人自用笔记(Rsync远程传输备份,服务端、邮箱和客户端配置、脚本)

内容全为个人理解和自查资料梳理&#xff0c;欢迎各位大神指点&#xff01;每天学习较为零散。day24一、Rsync传输文件#安装rsync#-a递归同步&#xff08;包含子目录&#xff09;保留文件权限、所有者、组、时间戳等元数据 #​​-z传输时压缩数据 #​​-v显示详细同步过程 #​​…

以 “有机” 重构增长:云集从电商平台到健康生活社区的跃迁

当电商行业陷入流量争夺的红海&#xff0c;同质化运营模式难以突破增长瓶颈时&#xff0c;云集以从精选电商到有机生活平台的战略转型&#xff0c;开辟出差异化发展路径。其转型并非凭经验决断的孤例&#xff0c;而是建立在对市场趋势的精准研判、用户需求的深度解码&#xff0…

【2025最新版】midjourney小白零基础入门到精通教程!人工智能绘图+AI绘图+AI画图,一键出图教程 (持续更新)

前言 现在市面上相关的AI绘画工具非常多&#xff0c;有6pen.art、Stable Diffusion、DALL.E、Midjourney等。 而MJ就目前而言&#xff0c;它是一款强大的人工智能工具&#xff0c;旨在帮助设计师和创意人员完成各种设计任务。 非常适合我们图像工作者&#xff0c;从 UI 设计到…

2025年渗透测试面试题总结-2025年HW(护网面试) 70(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 2025年HW(护网面试) 70 一、自我介绍 二、同源策略 & 三大漏洞对比解析 1. 同源策略&#xff08;SOP&…

加权卡尔曼滤波

加权卡尔曼滤波融合&#xff0c;它通过给不同传感器或估计结果分配不同的权重&#xff0c;来提高状态估计的精度和可靠性。一、卡尔曼滤波1.状态方程2.观测方程其中&#xff1a;基本方程①状态一步预测②状态估计③滤波增益④一步预测均方差⑤估计均方误差二、加权卡尔曼滤波对…

【世纪龙科技】新能源汽车维护与故障诊断-汽车专业数字课程资源

在职业院校汽车专业教学中&#xff0c;理论与实践脱节、设备投入不足、学生实操能力薄弱等问题长期存在。如何让学生在有限的教学资源下掌握新能源汽车核心技术&#xff1f;如何让教师更高效地开展理实一体化教学&#xff1f;《新能源汽车维护与故障诊断》数字课程资源&#xf…

Windows Server系统安装JDK,一直卡在“应用程序正在为首次使用作准备,请稍候”

一、背景 第二次遇到这个问题了&#xff0c;但是居然没想起来之前遇到过&#xff0c;又问元宝给的答案不对&#xff0c;还没想起来之前收藏过解决方案&#xff0c;这里特别记录一下。 二、问题描述 操作系统是Windows Sever2019&#xff0c;安装JDK时卡住一直过不去&#xff0…

机器学习入门:线性回归详解与实战

线性回归&#xff08;Linear Regression&#xff09;是机器学习中最基础也最常用的算法之一&#xff0c;无论是初学者入门还是实际业务场景&#xff0c;都能看到它的身影。本文将从概念、原理到代码实现&#xff0c;带你全方位了解线性回归。一、什么是线性回归&#xff1f;简单…

第3篇:软链接 mklink /D 教程:轻量缓存目录迁移利器

我们通过诸多实践后将三种链接方案分别独立成篇&#xff0c;可以让不同需求场景的读者精准获取所需内容。下面是回顾我们文章系列策划的三篇博客标题、定位和详细大纲&#xff0c;每篇都围绕一个核心方案展开&#xff0c;具备教学性、实用性和实操性&#xff1a; &#x1f4d8;…

力扣 hot100 Day52

124. 二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉…

数据存储:OLAP vs OLTP

下面系统性地进行介绍,包括OLAP数据库的基本概念、特点、常见产品,以及它们在实际工作中的典型应用场景,最后对比与关系型数据库(OLTP)的区别。 一、OLAP数据库是什么? OLAP(Online Analytical Processing,联机分析处理)数据库,主要用于大数据量、多维度、复杂查询与…

云原生网络策略自动化在微服务架构 API 安全防护与流量管理中的应用

云原生网络策略自动化在微服务架构中的核心价值随着微服务架构在金融、电商等领域的广泛应用&#xff0c;API安全防护与流量管理已成为企业数字化转型的关键挑战。Gartner 2023年报告显示&#xff0c;83%的分布式系统因网络策略缺失导致安全事件&#xff0c;而传统静态策略配置…

无需云服务器的内网穿透方案 -- cloudflare tunnel

内网穿透 原文地址 https://docs.caolib.dpdns.org/network/cloudflare tunnel.html Cloudflare Tunnel 内网穿透工具 1.简介 1.1 介绍 官方介绍&#xff1a;Cloudflare Tunnel 为您提供了一种安全的方式&#xff0c;无需公开路由的 IP 地址即可将资源连接到 Cloudflare。使用…

目前市面上arm64-v8a、armeabi-v7a设备的市占率有多少?为什么x86架构的手机越来越少?

deepseek回答&#xff1a; 当前全球范围内&#xff0c;arm64-v8a 架构在安卓设备中的市占率已超过 64%&#xff0c;远超其他架构版本。具体分布如下&#xff1a; &#x1f4ca; 各架构市场份额对比 架构类型市占率定位与趋势arm64-v8a≥64%主流 64 位架构&#xff0c;性能最…

Java中配置两个r2db连接不同的数据库

Java中配置两个r2db连接不同的数据库在实际项目中不可避免的存在使用两个数据库的情况&#xff0c;下面将系统地讲解相关配置方案&#xff0c;包含配置文件、数据库配置类、注解原理、常见错误排查等维度&#x1f9e9; 一、配置文件说明&#xff08;application.yml&#xff09…