DNS域名解析
一、DNS服务器原理
1. DNS定义
DNS是”域名系统的英文缩写“。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名
2. DNS服务器类型
-
但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定
其他 DNS 服务器作为解析来源。
-
主域名服务器:管理和维护所负责解析的域内解析库的服务器
-
从域名服务器
3. DNS查询类型及原理
3.1 查询方式
-
递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
-
迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)
3.2 DNS查询原理过程
- 先去查看hosts文件,如果有记录,直接去访问hosts文件里的ip地址,没有,去找缓存服务器
- 去找缓存服务器,缓存服务器里有直接反馈,如果没有,去找根服务器
- 根会透露消息给你,迭代查询,让你去找他的下级——顶级服务器
- 顶级服务器也是迭代查询,让你去找他的下级——二级服务器,具体找几次跟你的域名长度有关
- 到达权威DNS服务器,会直接反馈结果给缓存服务器,缓存服务器给客户端。
二、实验
1. 正向解析
第一步、安装bind软件包(yum -y install bind)
bind服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置。在这个文件中,定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。
第二步、查看需要修改的配置文件所在路径(rpm -qc bind)
/etc/named.conf #主配置文件
/etc/named.rfc1912.zones #区域配置文件
/var/named/named.localhost #区域数据配置文件(模板文件,不可直接在原文件进行更改)
注意:修改主配置文件之前要先备份
第三步、修改主配置文件 (vim /etc/named.conf )
第四步、修改区域配置文件(vim /etc/named.rfc1912.zones ) ,复制模板进行修改
第五步、配置正向区域数据文件 (vim gengcc.com.zone)
注意:-p,保留权限,一定要加
注意:在第二台机器上进行正向解析,发现解析的地址不正确, 要将主机的DNS地址配置上 (vim /etc/resolv.conf)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫