3 - Linux网络DNS域名解析服务

ops/2024/9/29 5:33:01/

目录

一、DNS概述

1.DNS系统的作用

2.DNS系统的分布式数据结构

3.DNS系统类型

4.DNS查询类型及原理

5.DNS正向解析查询原理过程

二、DNS配置实例

1.DNS正向解析配置

1.1 实验环境:

1.2 操作步骤


一、DNS概述

1.DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址
  • 反向解析:根据IP地址查找对应的域名
  • DNS使用端口:DNS服务器使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS
  • DNS域名长度限制:每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符

2.DNS系统的分布式数据结构

以www.csdn.com.cn.为例

根域:为".",在域名的最后

顶级域:.cn

二级域:.com.cn

子域:.csdn.com.cn

主机名或三级域名:www

3.DNS系统类型

缓存域名服务器:

  • 也称DNS高速缓存服务器
  • 通过向其他域名服务器查询获得域名(IP地址记录)
  • 将域名查询结果缓存到本地,提高重复查询时的速度

主域名服务器:

  • 特定DNS区域的权威服务器,具有唯一性
  • 负责维护该区域内所有域名(IP地址的映射记录)
  • 需要自行建立所负责区域的地址数据文件

从域名服务器:

  • 也成为辅助域名服务器,是对主域名服务器的热备份
  • 其维护的域名,IP地址记录来源于主域名服务器
  • 需要从主域名服务器自动同步区域地址数据库

4.DNS查询类型及原理

  • 递归查询:发送解析请求后,由根域服务器进行子域的逐级查询,最后由根域服务器返回结果
  • 迭代查询:由客户端逐级与各域服务器进行查询与返回结果

5.DNS正向解析查询原理过程

  1. 先查本机的缓存记录
  2. 查询hosts文件(优先级最高)
  3. 查询dns域名服务器,交给dns域名武器处理以上过程称为递归查询
  4. 这个dns服务器可能是本地域名服务器,也有个缓存, 如果有直接返回结果,如果没有则进行下一步
  5. 求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶域服务器
  6. 求助顶级域服务器,顶级域服务器返回可能会返回知道结果的二级域服务器让他去找二级域服务器
  7. 求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器
  8. 本地域名服务器将结果记录到缓存,然后把和域名和ip的对应关系返回给客户端

二、DNS配置实例

1.DNS正向解析配置

1.1 实验环境:

  • CentOS 7 DNS服务端:防火墙关闭,与客户端在同一网段
  • Windows 10 客户端:防火墙关闭,网关(为了方便)指向于CentOS 7服务端,DNS指向DNS服务端,与服务端在同一网段
  • 安装bind软件包

1.2 操作步骤

1.修改主要配置文件

vim /etc/named.confoptions {
listen-on port 53 { 20.0.0.13; };    #●监听53端口,ip地址使用提供服务的本地IP,也可用any表示所有
#listen-on-v6 port 53 { ::1; };    #ipv6行如不使用可以注释掉或者删除
directory "/var/named";     #区域数据文件的默认存放位置
dump- file "/var/named/data/cache_dump.db";    #域名缓存数据库文件的位置
statistics-file "/var/named/data/named stats.txt";    #状态统计文件的位置
memstatistics-file "/var/named/data/named mem stats.txt";    #内存统计文件的位置
allow-query { any; };    #● 允许使用本DNS解析服务的网段,也可用any代表所有
}
......
zone "." IN {#正向解析“."根区域
type hint;#类型为根区域
file "named.ca";#区域数据文件为named.ca,#记录了13台根域服务器的域名和IP地址等信息
};include "/etc/named.rfc1912.zones"; #包含区域配置文件里的所有配置

2.修改区域配置文件,添加正向区域配置

vi /etc/named.rfc1912.zones ......
zone "laotan.com" IN {     #正向解析"laotan.com"区域type master;    #类型为主区域file "laotan.com.zone";    #指定区域数据文件为laotan.com.zoneallow-update { none; };
};

3.配置正向区域数据文件

cd /var/named/
cp -p named.localhost laotan.com.zone    #保留源文件的权限和属主的属性复制
vi /var/named/laotan.com.zone......
$TTL 1D    #有效解析记录的生存周期
@   in SOA laotan.com. admin.benet.com. (    #"@"符号表示当前的DNS区域名0   ; serial    #更新序列号,可以是10位以内的整数1D   ; refresh    #刷新时间,重新下载地址数据的间隔1H   ; retry    #重试延时,下载失败后的重试间隔1W   ; expire    #失效时间,超过该时间仍无法下载则放弃#3H)  ; minimum    #无效解析记录的生存周期,NS     laotan.com.    #记录当前区域的DNS服务器的名称A     192.168.80.10    #机IP地址
IN   MX 10    mail.benet.com    #MX为邮件交换记录,数字越大优先级越低
www  IN A     192.168.80.10    #记录正向解析www.benet.com对应的IP
mail IN A     192.168.80.11    #MX为邮件交换记录,数字越大优先级低 
ftp  IN CNAME  www    #CNAME使用别名,ftp是www的别名
*    IN A   192.168.80.100    #泛域名解析,"*"代表任意主机名#"@"这里是一个变量,当前DNS区域名
#SOA记录中的更新序列号用于同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载。
# "laotan.com. "此为完全合格域名(FQDN) ,后面有个"."不能漏掉
#"admin.benet.com."表示管理员邮箱,这里的"@"符号已有其他含义,所以用"."代替
#IN 表示internet

4.启动服务

systemctl start named    #启动服务#如果服务启动失败,可以查看日志文件来排查错误
tail -f /var/log/messages#如果服务卡住,可以执行下面命令解决
rndc-confgen -r /dev/urandom -a#对域名语法进行排查
named-checkconf -z /etc/named.conf

5.在Windows 10客户端中配置网络

6.测试DNS解析


http://www.ppmy.cn/ops/96215.html

相关文章

景联文科技高质量文本标注:驱动自然语言处理技术的发展与应用

文本标注是自然语言处理(NLP)领域的一个重要环节,是指在文本数据上添加额外的信息或标记的过程,目的是为了让计算机能够理解和处理这些文本数据。 通过文本标注,可以为文本中的各个部分提供具体的含义和上下文信息&…

解密Linux中的通用块层:加速存储系统,提升系统性能

通用块层 通用块层是Linux中的一个重要组件,用于管理不同块设备的统一接口,减少不同块设备的差异带来的影响。它位于文件系统和磁盘驱动之间,类似于Java中的适配器模式,让我们无需关注底层实现,只需提供固定接口即可。…

百度地图SDK Android版开发 5 地图交互操作

百度地图SDK Android版开发 5 地图交互操作 前言控件控件介绍接口MapViewBaiduMapUiSettingsLogoPosition 示例代码Logo指南针比例尺缩放按钮地图上控件边距 效果图 地图手势地图手势方法说明地图手势开关接口地图手势事件地图单击事件监听接口地图双击事件监听接口地图长按事件…

政务大数据解决方案(九)

政务大数据解决方案旨在通过构建高效的数据处理与分析系统,全面整合政府各部门数据资源,运用尖端技术进行深入挖掘与智能分析,为政府决策提供科学、精准的数据支撑,优化政策制定与执行流程,同时通过加强数据安全与隐私…

【YashanDB知识库】生成迁移报告失败,“报错未知类型错误异常:“

【标题】YMP迁移 【问题分类】迁移报告 【关键字】迁移报告、未知类型错误异常 【问题描述】下载迁移报告时报错“未知类型错误异常:”,一长串英文 日志报错: 【问题原因分析】java版本不对,ymp仅支持java 8和11版本,用户环境用…

探索微软Edge浏览器的隐藏玩法

微软Edge浏览器,作为Windows 10及更高版本的默认浏览器,近年来经历了许多重大更新和改进。从内置的安全功能到用户友好的界面,Edge已经成为一个功能丰富的浏览器。但除了那些显而易见的功能外,Edge还隐藏了许多不为人知的玩法。本…

c语言基础知识学习

1. C 语言简介 定义:C 语言是一种过程式编程语言,设计用于系统编程和应用程序开发。特点:高效、灵活、接近硬件,支持指针和内存操作。 1. 基本语法 程序结构: C 语言程序由函数组成,main 函数是程序的入口…

dataV组件使用——数据更新更新组件

bug 当数据更新只更新一个属性页面不会刷新(this.config1.data arr;) 必须重新赋值整个config 方式一:检测到数据更新重新赋值config this.config1 {data: arr,header: ["所在单位", "人员姓名", "职位", &q…