DNS(域名系统)

发布时间:2024年01月15日

一、DNS的诞生

DNS(Domain Name System)是一套从域名到IP的映射系统。

在网络中要确定一台主机,可以通过IP地址来做到。但是IP地址不方便记忆,于是人们发明了一种叫主机名的东西

最初时候人们把主机名和IP地址的对应关系都写在一个hosts文件里面,然后这个hosts文件由“互联网信息中心(SRI-NIC)”来管理和分发。也就是人们需要定期更新hosts文件。这个文件目前在windows系统的C:\Windwos\System32\drivers\etc\hosts中。

时间长了,这个hosts的机制并不好用,而且更新不及时,主机名多了之后hosts文件太大了,后来就不用这个机制来。

人们后来改用域名解析系统DNS

  • 一个组织的系统管理机构,维护系统内的每个主机的IP和主机名的对应关系
  • 如果新计算机接入网络,将这个信息注册到数据库
  • 用户输入域名的时候,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的IP地址。

二、 域名

主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称。

例如:http://www.baidu.com(域名使用.连接)

www.baidu.com.

  • .:根域名
  • com:一级域名,表示这是一个企业域名。同级的还有“net”(网络提供商),“org”(非盈利组织)等。
  • baidu:二级域名,公司名。
  • www:只是一种习惯用法,并不是每个域名都支持。
  • http://:要用什么协议来连接这个主机名。

三、域名解析过程

1.浏览器缓存
2.系统缓存,查找hosts文件
3.路由器缓存————以上三步均为DNS客户端的缓存
4.ISP DNS缓存
5.根域名服务器
6.顶级域名服务器
7.主机名服务器
8.保存结果至缓存

DNS查询类型
本地解析:通过以前查询获得的缓存信息就地应答查询
递归查询:DNS服务器代表请求客户机联系其他DNS服务器,以完全解析,返回给客户机
迭代查询:客户机自己不断请求DNS服务来解析名称,典型的DNS服务器之间的交互

当你在浏览器输入www.baidu.com之后会发生什么?

1.浏览器发起域名解析,首先查询浏览器缓存,如果没有,就查询hosts文件,如果没有就提出域名解析请求

2.客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

3.当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该记录项,则本地的域名服务器直接把查询的结果返回。

4.如果本地的缓存中没有该记录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

5.本地服务器再项上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该记录项,则返回相关的下级域名服务器的地址

6.重复第四步,直到找到正确的记录。

7.本地域名服务把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机

四、域名解析记录

A:记录地址,返回的域名所指向IP地址
NS:域名服务器,返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址
MX:邮箱记录,返回接收电子邮箱的服务器地址
CNAME:规范名称记录,返回另一个域名,即当前查询的域名是另一个域名的跳转
PTR:逆查域名,只用于IP地址查询域名

五、查看域名解析的工具

nslookup

windows上在cmd中直接输入使用

C:\Users\wdy>nslookup www.baidu.com
服务器:   XiaoQiang
Address:   192.168.31.1

非权威应答:
名称: 	www.a.shifen.com
Addresses: 112.80.248.75
		112.80.248.76
Aliases: www.baidu.com

dig

[root@localhost ~]# dig www.baidu.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25531
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com. IN A

;; ANSWER SECTION:
www.baidu.com. 716 IN CNAME www.a.shifen.com.
www.a.shifen.com. 238 IN A 112.80.248.75
www.a.shifen.com. 238 IN A 112.80.248.76

;; Query time: 19 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 一 711 20:50:37 CST 2022
;; MSG SIZE rcvd: 101

六、cisco路由器配置DNS

ip dns server 	#开启DNS服务
ip host domain.com 192.168.1.1

DNS部署

dns部署

  • 需求
    • R1提供dns服务,添加一条解析记录,将www.r3.com解析成192.168.13.3
    • 将R2的dns服务器地址指向1.1.1.1
    • 最终实现在R2上ping www.r3.com能ping通
  • 代码步骤
#第一步,配置IP地址,R1上记得配一个换回接口
R1(config)# int lo0
R1(config-if)#ip add 1.1.1.1 255.255.255.0	#环回接口不需要no sh
R1(config-if)#int e0/0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int e0/1
R1(config-if)#ip add 192.168.13.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#do sh ip int br

#第二步,在R1上配置dns并开启dns解析功能
R1(config)#ip dns server 
R1(config)#ip host www.r3.com 192.168.13.3
R1(config)#ip name-server 1.1.1.1
R1(config)#ip domain lookup

#第三步,在R2上指定dns服务器地址为1.1.1.1
R2(config)#ip name-server 1.1.1.1
R2(config)#ip domain lookup

#第四步,在R2和R3上添加默认路由指向R1
R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.12.1
R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.13.1

#第五步,验证
R2#ping www.r3.com
文章来源:https://blog.csdn.net/dreamnn/article/details/135560891
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。