DNS搭建

DNS搭建

一、DNS简介

1、概念

  • DNS(Domain Name System)是一种分布式的命名系统,用于将域名与其对应的IP地址相互映射。简单来说,DNS充当了互联网上的“电话簿”,帮助用户通过易于记忆的域名查找到相应的网络资源,例如网站、电子邮件服务器等。

2、正向解析与反向解析

  1. 正向解析(Forward DNS Lookup)
    • 正向解析是最常见的DNS查询类型之一。
    • 它将域名转换为相应的IP地址。
    • 当用户在浏览器中键入网址时,操作系统将执行正向解析以查找该域名的IP地址,然后将请求发送到该IP地址。
    • 例如,当用户输入"www.example.com"时,正向解析将其解析为相应的IP地址,比如"192.0.2.1",然后浏览器将向该IP地址发送请求以获取网站内容。
  2. 反向解析(Reverse DNS Lookup)
    • 反向解析是将IP地址转换为相应的域名。
    • 它与正向解析相反,用于确定特定IP地址对应的域名。
    • 反向解析通常用于安全和身份验证目的,以及在网络管理中进行故障排除。
    • 例如,如果知道IP地址"192.0.2.1",但不知道对应的域名,可以执行反向解析以查找域名,可能会返回"www.example.com"。

3、DNS查询方式

  1. 迭代查询(Iterative Query)
    • 客户端向本地DNS服务器发送域名查询请求。
    • 本地DNS服务器根据自己的缓存或配置向根域名服务器发送查询请求。
    • 根域名服务器根据查询请求返回指向顶级域名服务器的响应。
    • 本地DNS服务器根据返回的顶级域名服务器地址向顶级域名服务器发送查询请求。
    • 顶级域名服务器返回指向权威域名服务器的响应。
    • 本地DNS服务器向权威域名服务器发送查询请求,并将结果返回给客户端。
  2. 递归查询(Recursive Query)
    • 客户端向本地DNS服务器发送域名查询请求。
    • 本地DNS服务器根据自己的缓存或配置向根域名服务器发送查询请求,并指示根域名服务器继续查询。
    • 根域名服务器返回指向顶级域名服务器的响应,并指示本地DNS服务器继续查询。
    • 顶级域名服务器返回指向权威域名服务器的响应,并指示本地DNS服务器继续查询。
    • 权威域名服务器返回域名解析结果,并将结果返回给本地DNS服务器。
    • 本地DNS服务器将结果返回给客户端。
  3. 本地缓存查询(Local Cache Query)
    • 本地DNS服务器在处理域名查询请求时首先检查自己的缓存,如果找到了相应的解析结果,则直接返回给客户端,不进行外部查询。
    • 如果本地缓存中没有相应的解析结果,才会进行迭代查询或递归查询以获取解析结果。

4、DNS域名等级

  1. 根域名(Root Domain)
    • 根域名位于DNS层次结构的最顶层,表示为一个点(.)。
    • 根域名服务器负责管理顶级域名服务器的地址,以及各个顶级域名的注册机构。
  2. 顶级域名(Top-Level Domain,TLD)
    • 顶级域名是根域名下直接的一级域名,例如.com、.org、.net等。
    • 顶级域名可以是通用顶级域名(gTLD),也可以是国别顶级域名(ccTLD),例如.cn、.uk、.jp等。
    • 顶级域名由相应的注册机构管理,并负责管理二级域名的分配和注册。
  3. 二级域名(Second-Level Domain,SLD)
    • 二级域名是直接位于顶级域名下的域名,例如example.com中的"example"。
    • 二级域名通常由注册者(域名持有者)自行选择和注册,并用于区分不同的网站或组织。
  4. 子域名(Subdomain)
    • 子域名是在二级域名之下创建的域名,形式为subdomain.example.com。
    • 子域名可以继续划分下去,形成更深层次的域名结构。
  5. 主机名(Hostname)
    • 主机名是指在域名中指代具体计算机或网络设备的名称,通常是域名的一部分。
    • 主机名可以位于任何域名层次中,例如www.example.com中的"www"就是一个主机名。

在这里插入图片描述

二、CDN服务器

1、概念

  • CDN(Content Delivery Network)服务器是一种分布式网络架构,旨在提高互联网内容的传输速度、可用性和安全性。CDN服务器位于全球各地的数据中心,并存储着大量的静态和动态内容,例如网页、图片、视频、音频等。当用户请求访问某个网站或内容时,CDN系统会根据用户的地理位置和网络状况,自动选择最近或最适合的CDN服务器来提供内容,从而实现更快的加载速度和更稳定的访问体验。

2、CDN服务器的主要功能

  1. 内容缓存和分发:CDN服务器缓存原始内容并分发到全球各地的边缘节点,使用户能够从离自己最近的节点获取内容,减少了网络延迟和传输时间。
  2. 负载均衡:CDN系统会根据用户的请求负载情况和服务器负载情况,智能地分配流量到不同的CDN服务器,以保持服务器的稳定性和性能。
  3. 安全防护:CDN服务器提供各种安全功能,例如DDoS攻击防护、数据加密、内容验证等,保护网站和内容免受恶意攻击和非法访问。
  4. 加速静态和动态内容:CDN服务器不仅可以加速静态内容(如图片、CSS、JavaScript),还可以加速动态内容(如网页、API请求),通过优化网络路由和传输协议来提高加载速度。
  5. 实时监控和报告:CDN系统提供实时监控和报告功能,帮助网站管理员了

三、DNS服务器类型

  1. 权威服务器(Authoritative Server):权威服务器是负责存储特定域名的DNS记录,并提供对这些域名的解析服务。它们存储有关特定域名的权威信息,并且对外提供这些信息的查询服务。
  2. 递归服务器(Recursive Server):递归服务器也称为DNS缓存服务器或DNS递归解析器,它负责接收客户端的DNS查询请求,并在收到查询后,负责向其他DNS服务器发出必要的查询以获取答案。递归服务器会迭代地查询其他DNS服务器,直到找到所请求的域名的IP地址或者找不到答案为止,并将最终结果返回给客户端。
  3. 主服务器(Master Server):主服务器是存储特定域名的权威信息并提供解析服务的服务器。它负责管理域名的区域文件,并向其他服务器提供这些信息的更新。
  4. 从服务器(Slave Server):从服务器是通过复制主服务器上的区域文件来提供域名解析服务的服务器。它们定期从主服务器获取更新的区域文件副本,以确保与主服务器的数据同步。
  5. 转发服务器(Forwarding Server):转发服务器负责将客户端的DNS查询请求转发到其他DNS服务器,而不是直接执行查询。它们通常用于在本地网络中提供高速的DNS查询服务,通过向其他DNS服务器发送查询请求,从而加速DNS查询的响应速度。
  6. 缓存服务器(Caching Server):缓存服务器暂时存储最近查询的DNS记录,以便在以后的查询中快速响应相同的查询。它们可以减轻DNS服务器的负载并提高查询的响应速度。

四、以下是常见的DNS记录类型


A记录(Address Record):将域名解析为IPv4地址,用于网站或其他网络资源的访问。AAAA记录(IPv6 Address Record):将域名解析为IPv6地址,支持IPv6网络的访问。CNAME记录(Canonical Name Record):将域名指向另一个规范的域名,通常用于网站重定向或负载均衡。MX记录(Mail Exchange Record):指定邮件服务器的地址,用于配置电子邮件服务。NS记录(Name Server Record):指定域名服务器的地址,用于域名解析的递归查询。PTR记录(Pointer Record):将IP地址解析为域名,用于反向DNS查找。TXT记录(Text Record):存储任意文本信息,通常用于验证域名所有权、配置SPF记录等。SRV记录(Service Record):指定提供特定服务的服务器地址和端口号,用于支持诸如SIP、XMPP等服务的自动发现和负载均衡。SOA记录(Start of Authority Record):指定了管理特定区域的权威DNS服务器,并包含了该区域的重要参数信息。CAA记录(Certification Authority Authorization Record):用于指定哪些证书颁发机构被允许为该域名签发SSL/TLS证书。DNSKEY记录(DNS Key Record):用于存储DNSSEC相关的公钥,以验证DNS数据的完整性和真实性。DS记录(Delegation Signer Record):用于存储上级域名的DNSKEY记录的散列值,用于在DNSSEC中建立信任链。NAPTR记录(Naming Authority Pointer Record):用于在ENUM架构中将电话号码转换为URI地址。TLSA记录(TLS Authentication Record):用于存储TLS证书的公钥指纹,增强TLS连接的安全性。

五、BIND服务

  • BIND服务是一种DNS(Domain Name System,域名系统)服务器软件,用于提供域名解析服务。

1、主要功能和用途

  1. 域名解析:BIND服务主要用于将域名解析为相应的IP地址,使得用户可以通过域名访问互联网上的各种网络资源,如网站、邮件服务器等。
  2. DNS缓存:BIND服务器可以缓存最近的DNS查询结果,提高了域名解析的效率和速度,同时减轻了DNS系统的负载。
  3. 权威解析:BIND服务器可以配置为权威DNS服务器,管理特定区域的域名解析信息,包括配置A记录、CNAME记录、MX记录等。
  4. 反向解析:BIND服务支持反向DNS查找,即根据IP地址查找相应的域名,用于识别访问者的IP地址和验证邮件服务器的合法性。
  5. DNSSEC支持:BIND服务器支持DNSSEC(DNS Security Extensions),用于提供域名解析数据的认证和完整性保护,防止DNS劫持和篡改攻击。
  6. 负载均衡:通过配置DNS记录的权重和优先级,BIND服务器可以实现负载均衡,将访问请求分发到多个后端服务器上,提高了系统的可用性和稳定性。
  7. DNS转发:BIND服务器可以配置为DNS转发器,将无法解析的域名查询请求转发给其他DNS服务器进行处理,以实现全局DNS解析服务。

2、bind的服务类型

  1. 主服务器(Master Server):主服务器负责存储和管理区域文件的权威副本。当客户端发出DNS查询请求时,主服务器将提供所请求的DNS信息。
  2. 从服务器(Slave Server):从服务器通过在主服务器上定期获取区域文件的副本来提供DNS服务。它们通常用作备份服务器,以提供冗余和容错功能。
  3. 缓存服务器(Caching Server):缓存服务器会暂时存储DNS查询的结果,以便在以后相同的查询再次出现时快速响应,从而减轻DNS服务器的负载并加速DNS查询的响应时间。
  4. 转发服务器(Forwarding Server):转发服务器会将所有的DNS查询请求转发到另一个DNS服务器,而不是直接执行DNS解析。这种类型的服务器通常用于通过较大的、更高性能的DNS服务器提供查询服务。

3、顶级域名与权威域名

  • 顶级域名(Top-Level Domain,TLD)是DNS(Domain Name System,域名系统)中的最高级别域名,位于域名的最右侧。顶级域名用于区分不同的域名类别和管理机构。在互联网中,顶级域名主要分为两类:通用顶级域名(gTLD)和国别顶级域名(ccTLD)。
  1. 通用顶级域名(gTLD):通用顶级域名是全球范围内使用的域名后缀,通常用于指示域名的用途或类别。例如,.com、.org、.net、.edu、.info等是常见的通用顶级域名,它们通常用于指示商业、非营利组织、网络服务提供商、教育机构、信息网站等不同类型的网站。

  2. 国别顶级域名(ccTLD):国别顶级域名是针对特定国家或地区的域名后缀,用于区分不同国家或地区的域名。例如,.us(美国)、.uk(英国)、.cn(中国)、.jp(日本)、.de(德国)等是常见的国别顶级域名,它们通常与特定国家或地区相关联。

  • 顶级域名由相应的注册机构管理,负责管理顶级域名下的二级域名的分配和注册。例如,Verisign管理.com和.net等通用顶级域名,而CNNIC管理.cn等中国的国别顶级域名。

  • 权威域名(Authoritative Domain)是指负责管理和控制特定域名区域的域名服务器,存储了该域名区域的全部或部分DNS记录,并能够对外提供相应域名的解析服务。权威域名服务器在DNS系统中具有权威性,负责对外提供域名解析服务。

区别

  1. 位置:顶级域名是整个域名系统中的最高级别域名,用于区分不同的域名类别和管理机构;而权威域名是针对特定域名区域的域名服务器,负责管理和控制该域名区域的DNS记录。

  2. 功能:顶级域名主要用于标识域名的用途或类别,由注册机构管理;而权威域名负责管理和控制特定域名区域的DNS记录,并提供相应域名的解析服务。

  3. 范围:顶级域名包括通用顶级域名和国别顶级域名,涵盖了整个域名系统的最高级别;而权威域名仅针对特定域名区域,在该区域中具有权威性。

六、centos7中DNS主从服务器搭建实验

1、项目需求

  • 现在一个IP为192.168.20.0/24的网络中,需要配置两台DNS服务器,192.168.20.133(yun01)做为从服务器,192.168.20.128(yun02)作为主服务器,实现双机热备份。另需一台同网络的主机(yun03)用于测试,其DNS1为192.18.1.128,DNS2为192.168.20.133。

2、项目搭建

(1)在yun01、yun02上安装bind服务

在这里插入图片描述

在这里插入图片描述

(2)在yun02上配置正向解析与反向解析,并指定其从服务器的IP
  1. 将/etc下的named.conf主配置文件中的允许访问的主机改为any

在这里插入图片描述

  1. 修改named.rfc1912.zones文件,配置正向解析与反向解析,并指定其解析文件名和从服务器IP

在这里插入图片描述

  1. 配置正、反向解析文件
  • 直接复制模板文件进行修改

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

  1. 在yun01上修改named.conf配置文件,使得所有主机可访问;修改named.rfc1912.zones文件,配置正向解析与反向解析,并指定其解析文件名和主服务器IP

在这里插入图片描述

在这里插入图片描述

  1. 关闭三台服务器的防火墙,启动yun02、yun01的named服务,将yun03的DNS改为DNS1为192.18.1.128,DNS2为192.168.20.133。

在这里插入图片描述

  • 因为我是使用dhcp的方式分配IP,需要修改一下/etc/resolv.conf文件,若使用静态IP的话不用更改

在这里插入图片描述

  1. 测试

在这里插入图片描述

  • 将yun02的DNS服务关闭

[外链图片转存中…(img-1SbBK1Fr-1712121151849)]

  • 因为我是使用dhcp的方式分配IP,需要修改一下/etc/resolv.conf文件,若使用静态IP的话不用更改

[外链图片转存中…(img-gIprflNk-1712121151849)]

  1. 测试

[外链图片转存中…(img-OxcDRg9l-1712121151849)]

  • 将yun02的DNS服务关闭

在这里插入图片描述

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

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

相关文章

Maven--lib分离的打包方式

就是把lib包和source源码分开打包。优势就是,面对频繁更新的应用场景时,可以只更新源码包(当然,前提是你的依赖没有增减)。尤其是使用jenkins更新项目时,会省去很多时间吧? 不同项目的 lib之间不…

稀疏矩阵的三元组表表示法及其转置

1. 什么是稀疏矩阵 稀疏矩阵是指矩阵中大多数元素为零的矩阵。 从直观上讲,当元素个数低于总元素的30%时,这样的矩阵被称为稀疏矩阵。 由于该种矩阵的特点,我们在存储这种矩阵时,如果直接采用二维数组,就会十分浪费…

Android Monkey自动化测试

monkey一般用于压力测试,用户模拟用户事件 monkey 基本用法 adb shell monkey [参数] [随机事件数]monkey常用命令 -v:用于指定反馈信息级别,总共分三个等级-v -v -vadb shell mokey -v -v -v 100-s:用于指定伪随机数生成器的种…

JavaEE初阶-线程3

文章目录 一、线程安全问题-内存可见性二、等待通知2.1 wait()方法2.2 notify()方法 一、线程安全问题-内存可见性 import java.util.Scanner;public class Demo27 {private static int count0;//下面这段代码会出现内存的可见性问题//将从内存中读取count值的操作称为load 判…

为什么企业需要ERP帮助中心?看完你就懂了

企业资源计划(ERP)系统,这个听起来十分高大上的名词,实际上是许多现代企业后台运行的大脑。从财务管理、人力资源到生产操作和供应链管理,ERP系统如同一个企业的神经中枢,协调着各个部门之间的信息流。但是…

useBlocker 防止页面跳转导致的表单丢失

关于useBlocker The hook allows you to prevent the user from navigating away from the current location, and present them with a custom UI to allow them to confirm the navigation 在react-router的v6版本之前&#xff0c;我们会使用<Prompt />组件来拦截路由的…

【JAVASE】学习面向对象程序三大特性之一( 封装)

✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609;\n &#x1f34e;个人主页&#xff1a;再无B&#xff5e;U&#xff5e;G-CSDN博客 目标&#xff1a; 1.包的使用 2.static关键字的使用 3.代码…

随机生成Long全范围数

随机生成Long全范围数 前言实现思路主要代码分区随机生成过程案例&#xff1a;随机生成100个数 朴素的比较总结 前言 使用自带的Random.nextLong()函数生成Long型的长整数&#xff0c;范围比较小&#xff0c;如下图。100个随机数没看见10以内的数字。所以考虑实现随机化生成大…

golang语言系列:Scrum、Kanban等敏捷管理策略

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 golang语言系列 文章&#xff0c;主要对编程通用技能 Scrum、Kanban等敏捷管理策略 进行学习 1.什么是敏捷开发 敏捷是一个描述软件开发方法的术语&#xff0c;它强调增量交付、团队协作、持续规划和持续学习。…

代码随想录算法训练营第二十九天(回溯5)|491. 非递减子序列、46. 全排列、47. 全排列 II(JAVA)

文章目录 491. 非递减子序列解题思路源码 46. 全排列解题思路源码 47. 全排列 II解题思路源码 总结 491. 非递减子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 …

【ai-动态维基百科】

初体验 今日份分享&#xff0c; 有趣工具&#xff0c;ai-动态维基百科&#xff0c;Globe Explorer。 介绍&#xff1a;基于人工智能(gpt3.5, gpt4.0)的搜索引擎&#xff0c;帮助用户以视觉化的方式探索各种主题。它使用大型语言模型来理解查询&#xff0c;并生成详细的主题页面…

【Python】快速排序法 Leetcode 148. 排序链表

题目 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 代码 第一次使用朴素快速排序&#xff0c;基准值为头节点值&#xff0c;居然超时了&#xff0c;然后…