当前位置: 首页 > news >正文

【Day 18】Linux-DNS解析

一、DNS概念

        1、概念和作用

DNS应用层协议:用于将人类可读的域名转换为机器可识别的IP地址

        作用:域名解析。将域名转换为IP地址(正向解析)或IP地址转换为域名(反向解析)。

        2、域名解析类型

  • 正向解析(Forward DNS Resolution)是将域名转换为 IP 地址的过程。
  • 反向解析(Reverse DNS Resolution)是将 IP 地址转换为域名的过程。

       3、 软件与服务

  • 软件:bind,bind-chroot
  • 服务进程:named
  • 默认端口:53/UDP

        4、DNS核心概念

区域

  • 区域是域名空间的一部分,由一个或多个 DNS 记录组成,由同一权威 DNS 服务器管理。它通常对应一个域名及其子域名。
  • 正向区域(Forward Zone)将域名解析为对应的 IP 地址。
  • 反向区域(Reverse Lookup Zone)将IP地址映射到域名,与正向查找(域名→IP)相反。
  • IPv4示例:对于192.168.1.0/24网络,反向区域名为1.168.192.in-addr.arpa
  • IPv6示例:对于2001:db8::/32网络,反向区域名为8.b.d.0.1.0.0.2.ip6.arpa

 记录

  • 记录是域名系统(DNS)中存储的指令,用于指定域名与服务器或其他资源的映射关系。

A记录(Address Record):标识主机名和IP地址的对应关系
将域名指向IPv4地址。

PTR记录(Pointer Record):标识IP地址和主机名的对应关系
用于反向DNS查询,将IP地址映射回域名。

NS记录(Name Server)标识某一个主机是一个DNS服务器,没有说明对应ip,所以必须和A记录一起使用
指定负责解析域名的DNS服务器。

 

MX记录(Mail Exchange)标识邮件服务器,数字代表优先级,数字越小优先级越高
指定接收域名的电子邮件的邮件服务器地址。优先级数值决定邮件服务器的使用顺序。

CNAME记录(Canonical Name)别名记录
为域名设置别名,使其指向另一个域名。

        5、查询类型

  • 递归查询:客户端向本地DNS服务器请求解析,服务器代表客户端完成所有查询步骤并返回最终结果。
  • 迭代查询:DNS服务器按层级逐级查询(根域→顶级域→权威域),返回参考信息而非最终结果。
特性递归查询迭代查询
发起方客户端向DNS服务器请求解析DNS服务器向其他DNS服务器
返回结果必须返回最终解析结果(IP或错误)可能返回下一级服务器地址
责任方DNS服务器承担全部查询工作查询方需持续跟进查询链
典型场景用户访问网站时的初始查询DNS服务器之间的层级查询

        6、分层结构

二、DNS操作

安装bind

//下载完了自动生成一个用户named

  • # rpm -qc bind        //查看与已安装的BIND软件包相关的配置文件

启动named程序会先读取主配置文件,后读取include包含的子配置文件

这里我们需要主要需要三个文件

/etc/named.conf     //主配置文件

/etc/named.rfc1912.zones       //子配置文件,添加区域用

/var/named      //存储记录文件,


配置本机为DNS内网解析服务器

(1)修改主配置文件
  • vim /etc/named.conf    //主配置文件,用于修改端口、ip、可以为哪些机器提供服务

(2)添加区域
  •  vim /etc/named.rfc1912.zones     //添加区域
正向区域:

反向区域:

(3)添加记录文件

这里有一个记录文件名,所以先写一个名字,然后我们需要添加记录文件。因为记录文件有格式,这里为了省事,直接复制别的记录文件,改名后修改内容。-a参数,保留文件权限

(4)修改记录文件
  • vim /var/named/xxxxx.com.zone        //修改记录文件

这里创建的记录文件可以配置正向的也可以配置反向的

注意:!!格式一定不要错,要不然包报错的。

(5)开启服务
  • # systemctl enable --now named        //配置并立即启动named

(6)然后检查服务是否开启。

(7)测试dns正常工作,nslookup


DNS复制

为了做备份。防止DNS单点故障。

两个DNS服务器的数据是同步的——区域、记录需要一样

需要两个机器,一个作为主DNS,一个作为从DNS

主DNS

主DNS的主配置文件

主服务器的子配置文件   区域

主服务器的记录文件

从DNS

(1)为从dns下载bind

(2)从DNS的主配置文件

(3)从DNS的子配置文件 指定类型为从区域。

从区域的的记录文件只能从别的地方复制过来,不可以修改

(4)写记录文件存哪。建议和主服务器上一致。slaves/

(5)然后启动从DNS就行

(6)查询是否复制过来了

(1)验证有复制过来的文件

(2)主dns能解析谁,从dns就能解析谁

//若现在主记录变化,如加了两行记录,通过序列号识别。所以需要手动改序列号,只要比上次的数字大就可以,然后重启。查询即可。


hosts文件的使用

/etc/hosts文件是一个操作系统用于映射主机名(域名)到IP地址的本地文本文件,无需通过DNS解析。若此文件中没有,才向网卡上的dns服务器请求

windows中hosts文件在这里,可以修改但是注意hosts没有任何后缀!

http://www.dtcms.com/a/318997.html

相关文章:

  • 如何理解“信号集是位掩码,每个bit代表一个信号”这句话?
  • 怎么在本地引入字体
  • 构建在 OpenTelemetry eBPF 基础之上:详解 Grafana Beyla 2.5 新特性
  • 防火墙环境下的全网服务器数据自动化备份平台搭建:基于 rsync 的完整实施指南
  • CentOS 7 下通过 Anaconda3 运行llm大模型、deepseek大模型的完整指南
  • Express框架
  • 【JavaEE】(9) JVM
  • ElementUI之表格
  • 企业家 IP 发展态势剖析|创客匠人
  • 计算机网络1-5:计算机网络的性能指标
  • 【python 数据加密AES-GCM + 时间戳签名方案(带时间校验)】
  • vue3 el-select 加载触发
  • tcpdump问题记录
  • 软件运行时 ffmpeg.dll 丢失怎么办?从原因排查到完美修复的完整方案
  • 【Kafka系列】第二篇| Kafka 的核心概念、架构设计、底层原理
  • 什么是 TcpCommunicationSpi
  • HTML已死,HTML万岁——重新思考DOM的底层设计理念
  • 【音视频】WebRTC C++ native 编译
  • SpringAI动态调整大模型平台
  • 数据结构----栈和队列认识
  • Spring IoC 容器核心流程(面试必懂)
  • SpringMvc的原理深度剖析及源码解读
  • crew AI笔记[1] - 简介
  • list类
  • Spring中用到了哪些设计模式
  • 容器之王--Docker镜像的管理及镜像仓库的构建演练
  • W25Q64模块
  • 智慧园区系统:打造未来城市生活新体验
  • 从周末去哪儿玩到决策树:机器学习算法的生活启示
  • 机试备考笔记 7/31