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服务关闭

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

调用飞书获取用户Id接口成功,但是没有返回相应数据

原因: 该自建应用没有开放相应的数据权限。 解决办法: 在此处配置即可。

Python打包exe文件——pyinstaller模块

Python打包exe文件——pyinstaller模块 目录 Python打包exe文件——pyinstaller模块介绍安装打包文件夹模式打包单文件模式方式SPEC打包(推荐) 介绍 当要在没有python环境的设备上运行python文件时就可以将环境变量全部封装成exe文件发送给对方,此时就可以使用打包…

使用Python实现基本的线性回归模型

线性回归是一种简单而强大的统计学方法,用于预测一个因变量与一个或多个自变量之间的关系。在本文中,我们将使用Python来实现一个基本的线性回归模型,并介绍其原理和实现过程。加粗样式 什么是线性回归? 线性回归是一种用于建立…

upload-labs训练平台

GitHub:GitHub - Tj1ngwe1/upload-labs: 一个帮你总结所有类型的上传漏洞的靶场 把下好的文件夹之间拖入到小皮的WWW目录下就可以之间访问网址使用了 目录 Pass-01(前端JS的绕过) (1)抓包绕过 (2)在前端绕过 Pass-02(content-type绕过)…

kettle快速入门教程

探索数据的深邃奥秘,引领你踏入数据处理的殿堂!Kettle(Pentaho Data Integration)的神奇魔力,将为你解锁数据世界的无限可能。本人基于公司业务实战整理的50篇精华Kettle系列文章,是你的密钥,让…

【大模型应用篇2】提示词实践-短剧文案

在上节课《【大模型应用篇1】学会对模型念咒语》带大家一起学习了提示词工程,我相信大部分朋友学完之后,还是有懵懂的,这节课带大家实操一下提示词的应用场景,现在短剧的创作很火,好看的短剧内容一定不会差&#xff0c…

java自动化测试-03-05java基础之字符串

1、字符串的定义 String是变量类型,表示字符串类型 name是给这个变量起的名字,这个是可以随意取的,只要不是java的关键字就可以了 表示赋值,右边的的内容表示 变量值,对字符串变量进行 赋值,需要用双引号…

idea建多级目录出现问题,报错找不到xml文件,如何解决?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

芯片工程系列(6)Chiplet封装

0 英语缩写 chiplet是一个合成词,由chip和let两个单词组合而成。它的意思是“小芯片”,通常指的是一种集成电路中的小型芯片系统级封装(System in a Package,SiP)系统级芯片(System on a Chip,…

【并发编程】CountDownLatch

📝个人主页:五敷有你 🔥系列专栏:并发编程 ⛺️稳中求进,晒太阳 CountDownLatch 概念 CountDownLatch可以使一个获多个线程等待其他线程各自执行完毕后再执行。 CountDownLatch 定义了一个计数器,…

4.7 数组的读取和写入,type指令和一些杂项

4.7 数组的读取和写入,type指令和一些杂项 可以通过word ptr将db转为dw,然后按照dw的方式去存储数据 1. 段名也可以把其地址赋给变量 assume cs:codesg,ds:data,ss:stack data segmentdb 12,34dw 12,34db hello world data ends stack segmentdb 10 dup…

YOLOv5改进 | 低照度检测 | 2024最新改进CPA-Enhancer链式思考网络(适用低照度、图像去雾、雨天、雪天)

一、本文介绍 本文给大家带来的2024.3月份最新改进机制,由CPA-Enhancer: Chain-of-Thought Prompted Adaptive Enhancer for Object Detection under Unknown Degradations论文提出的CPA-Enhancer链式思考网络,CPA-Enhancer通过引入链式思考提示机制,实现了对未知退化条件下…

Shell GPT:直接安装使用的chatgpt应用软件

ShellGPT是一款基于预训练生成式Transformer模型(如GPT系列)构建的智能Shell工具。它将先进的自然语言处理能力集成到Shell环境中,使用户能够使用接近日常对话的语言来操作和控制操作系统。 官网:GitHub - akl7777777/ShellGPT: *…

OpenCV4.9开发之Window开发环境搭建

1.打开OpenCV所在github地址 2.点击opencv仓库,进入仓库详情,点击右下方的OpenCV 4.9.0进入下载页面 3.点击opencv-4.9.0-windows.exe下载 开始下载中... 下载完成 下载完成后,双击运行解压,默认解压路径,修改为c:/

企业家升维认知:引领企业持续发展的关键

一、引言 在快速变化的时代背景下,企业家面临着前所未有的挑战与机遇。新东方教育科技集团董事长俞敏洪曾深刻指出:“企业家本身要不断升维自己的认知,才能带领企业持续发展。”这句话不仅揭示了企业家认知升维的重要性,也为我们…

JRT简化开发环境

JRT是完全前后端分离的项目,实际工程是逻辑上完全前后端分离,代码层级和工程是不离的。这样就可以做到一键启动,同时又有分离的好处。开始页面后缀都沿用aspx,最开始考虑过修改后缀为html,当时觉得搞aspx也不错&#x…

Qt 的发展历史、现状与启示

Qt 最早在1991年由挪威的两位程序员 Eirik Chambe-Eng 和 Haavard Nord 开发,他们在1994年创立 Trolltech 公司(奇趣科技)正式经营软件业务。Qt 的第一个公众预览版于1995年面世,之后在2008年被诺基亚收购;2011年到201…

【Oracle篇】expdp/impdp高效完成全部生产用户的全库迁移(第四篇,总共四篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在扩展大数据方向的知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣️❣️…

SEO必备,网站词库拓展建设

我以前做网站是没有词库这个概念的,今天恰巧和站长交流的时候提到了词库的建设,大致问题就是如何增加词库。其实我也不是特别明白,只是听说使用长尾关键词挖掘然后拓展,至于怎么用,也没有聊到。 所以我的求知欲让我去…

Spring Boot:Web开发之视图模板技术的整合

Spring Boot 前言Spring Boot 整合 JSPSpring Boot 整合 FreeMarkerSpring Boot 整合 ThymeleafThymeleaf 常用语法 前言 在 Web 开发中,视图模板技术(如 JSP 、FreeMarker 、Thymeleaf 等)用于呈现动态内容到用户界面的工具。这些技术允许开…