DNS

发布时间:2024年01月15日

目录

一、名字解析介绍和DNS

?1.1.什么是DNS

1.2.域名体系结构

1.3.DNS查询方式

1.4.DNS解析过程

1.5.DNS服务器类型

二、安装配置

2.1.DNS软件bind

2.2.修改权限 和 监听地址

2.3.手写域名配置文件

2.4.手写数据库配置文件?

2.5检测文件格式的命令


一、名字解析介绍和DNS

?1.1.什么是DNS

DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)

1.2.域名体系结构

所有的域名必须以点

以www.baidu.com.为例

从后往前

根域名? ?:(.)

解析主机名+根域 www.

顶级域,一级域名:.cn(中国) .us .tw .kr(韩国) .jp(日本) .hk(香港)uk(英国) ,

解析主机名+顶级 www.com.

二级域名:.com.cn(中国商业组织) edu.cn(教育机构) .org.cn(非盈利) .net.cn(中国运营商)

解析主机名+二级域+一级域+根域 www.baidu.com

1.3.DNS查询方式

递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)

迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)

递归查询与迭代查询都能得到结果。

1.4.DNS解析过程

我要访问 www.baidu.com 服务器

1.先看我本机的 /etc/hosts 文件,如果有直接访问, 如果没有就去找你设置的缓存dns服务器

2. 如果 缓存服务器有, 直接反馈结果(递归),如果没有就需要迭代查询,

直接去找 根域服务,

3.由于根域服务器 只能 解析根 无法解析 www.baidu.com 但是 根域服务器会让你去找

一级域服务器

4.一级域发现自己 也解析 不了, 让你去找二级域,

5.二级域发现这台服务器在自己的 管理范围内,直接反馈结果给 缓存服务器

6.缓存服务器 再交给 客户

1.5.DNS服务器类型

权威dns服务器:

只有他说了算,最后解析成功的服务器为权威服务器

缓存服务器:

1.也称为DNS高速缓存服务器。

2.通过向其他域名服务器查询获得域名——>IP地址记录.

3.将域名查询结果缓存到本地,提高重复查询的速度。

主域名服务器:

1.特定DNS区域的权威服务器,具有唯一性

2.负责维护该区域内所有域名-->IP地址的映射记录

3.需要自行建立所负责区域的地址数据文件

从域名服务器

1.也称为辅助域名服务器,是对主域名服务器的热备份

2.其维护的域名-->IP地址记录来源于主域名服务器

3.需要从主域名服务器自动同步区域地址数据库

二、安装配置

2.1.DNS软件bind

DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns

bind:服务器

bind-libs:相关库

bind-utils: 客户端

bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/

配置文件权限需要注意
当一个程序启动的时候, 会去读取这个配置文件,如果权限问题导致程序无法读取配置文件就会启动报错

2.2.修改权限 和 监听地址

?

?

2.3.手写域名配置文件

?

2.4.手写数据库配置文件?

?

?

@ 域名

IN 使用internet 协议

SOA 表明 这条配置的基本 功能 记录 A 正向解析 将域名解析成ip PTR 反向解析将ip转换成域名

master 定义谁是dns服务器

rname.invalid. 邮箱

?0 ? ? ? ; serial ? #是否有更新 ?版本号 更新文件 手动把 0 加1

1D ? ? ?; refresh ?#刷新时间 拉取时间

1H ? ? ?; retry ? ?#失败后一个小时 后再试一次

1W ? ? ?; expire ? #过期时间,老是拉取不了,1周以后过期

3H ) ? ?; minimum ?#老是去查错误的解析地址,3小时内的缓存下,用户再查直接返回

2.5检测文件格式的命令

named-checkconf 主配置文件

named-checkconf /etc/named.conf

/etc/named.conf:59: missing ';' before 'include'

named-checkzone 域名 数据库文件

named-checkzone kgc.com /var/named/kgc.com.zone

?

文章来源:https://blog.csdn.net/wys_jj/article/details/135552814
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。