DNS介绍

DNS服务简介

domain name system
1、DNS系统在网路中的作用就是一个维护着一个地址数据库,其中记录了各种主机的域名与IP地址的对应关系。
2、DNS系统为客户提供了正向或反向的地址查询服务,及正向解析和方向解析,正向解析即根据域名查IP地址;反向解析即根据IP地址查域名。
3、DNS服务器按类型可分为缓存主域名服务器、从域名服务器等。其中主服务器是指定区域中唯一存在的权威服务器,对解析记录有自主控制权;从服务器与主服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份

DNS服务体系架构

体系结构

在这里插入图片描述
域名服务主要是基于UDP实现的,服务器的端口号为53。

架构模型

C/S架构模型
Linux中一般使用系统底层提供的gethostbyname()功能进行域名解析
解析可以基于以下几种方式进行

(1)文件解析

linux系统中有两个文件

/etc/hosts 和 /etc/networks
[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@localhost ~]# cat /etc/networks
##把localhost 解析为127.0.0.1
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0
(2)DNS服务器解析

几乎所有的域名都通过DNS域名服务器来解析的
DNS配置文件在/etc/resolv.conf
只需要在nameserver后面添加dns服务器ip即可

[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.202.2

在这里插入图片描述

(3)dns的专用查询命令

使用前 yum install bind-utils
1.host dns查询
2.dig dns查询 详细
host和dig都不会使用/etc/nsswitch.conf配置,只会通过/etc/resolv.conf进行dns查询,即绕过前面那个文件配置
3.nslookup命令

host命令是一个简单的DNS查询工具。
一般格式:

host 域名

host -a 域名
常用选项:
-a:相当于"-v -t any"。
-t type:指定要查询的记录类型。默认查询A、AAAA、MX,NS等记录。
-v:详细方式输出。
在这里插入图片描述
在这里插入图片描述

dig命令是一个功能强大的DNS查询命令。
一般格式:

dig [@global-server] [domain] [q-type] [q-class] {q-opt} {d-opt}

参数说明:

@global-server:默认是以/etc/resolv.conf作为DNS查询的主机,这里可以填入其它DNS主机IP。

domain:要查询的域名。

q-type:查询记录的类型,例如a、any、mx、ns、soa、hinfo、axfr、txt等,默认查询a。

q-class:查询的类别,相当于nslookup中的set class。默认值为in(Internet)。

q-opt:查询选项,可以有好几种方式,比如:-f file为通过批处理文件解析多个地址;-p port指定另一个端口(缺省的DNS端口为53),等等。

d-opt:dig特有的选项。使用时要在参数前加上一个“+”号。

d-opt常用选项:

+vc:使用TCP协议查询。

+time=###:设置超时时间。

+trace:从根域开始跟踪查询结果。整个过程

在这里插入图片描述

nslookup命令使用频率比dig要高,可能是因为windows上没有dig命令吧。
一般格式:

nslookup [-option] [name | -] [server]

参数说明:
option:表示一些选项。这些选项可以通过set命令设置修改。
name:表示查询的域名。
server:可以指定DNS主机IP。
set命令说明:
set all:打印当前的选项值。
set calss=value:设置查询的类型,一般情况下为Internet。
set debug:设置调试模式。
set d2:设置详细调试模式。
set domin=name:设置默认的域名。
set search:
set port=value:设置DNS端口。
set querytype=value:改变查询的信息的类型。默认的类型为A纪录。
set type=value:和set querytype一样。
set recurse:设置查询类型为递归;若为set norecurse,查询类型为跌代;缺省为前者。
set retry=number:设置重试的次数。
set timeout=number:设置等待应答的限制时间(单位为秒),超出即为超时,如果还可以重试,就会将长超时值加倍,重新查询。
set vc:通过tcp方式查询。
set fail:

[root@localhost ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 14.215.177.38
www.a.shifen.com has address 14.215.177.39
[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: 2609
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 7
##头部总结
;; QUESTION SECTION:
;www.baidu.com.                 IN      A

;; ANSWER SECTION:
www.baidu.com.          5       IN      CNAME   www.a.shifen.com.
www.a.shifen.com.       5       IN      A       14.215.177.38
www.a.shifen.com.       5       IN      A       14.215.177.39
##返回的消息
;; AUTHORITY SECTION:
a.shifen.com.           5       IN      NS      ns1.a.shifen.com.
a.shifen.com.           5       IN      NS      ns5.a.shifen.com.
a.shifen.com.           5       IN      NS      ns3.a.shifen.com.
a.shifen.com.           5       IN      NS      ns2.a.shifen.com.
a.shifen.com.           5       IN      NS      ns4.a.shifen.com.

;; ADDITIONAL SECTION:
ns1.a.shifen.com.       5       IN      A       110.242.68.42
ns2.a.shifen.com.       5       IN      A       220.181.33.32
ns3.a.shifen.com.       5       IN      A       112.80.255.253
ns4.a.shifen.com.       5       IN      A       14.215.177.229
ns5.a.shifen.com.       5       IN      A       180.76.76.95
ns5.a.shifen.com.       5       IN      AAAA    240e:940:603:a:0:ff:b08d:239d
ns5.a.shifen.com.       5       IN      AAAA    240e:bf:b801:1006:0:ff:b04f:346b

;; Query time: 39 msec
;; SERVER: 192.168.202.2#53(192.168.202.2)  ##53端口去响应
;; WHEN: Mon Mar 21 15:17:09 CST 2022
;; MSG SIZE  rcvd: 316
##尾部的总结
#查询时间
#when
#大小
[root@localhost ~]# nslookup www.baidu.com
Server:         192.168.202.2
Address:        192.168.202.2#53
##53端口
Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.  ##canonical也是别名的意思
Name:   www.a.shifen.com
Address: 14.215.177.39
Name:   www.a.shifen.com
Address: 14.215.177.38
##两个服务器,可以看出有个负载均衡
#nslookup不加参数 可以交互式使用

DNS解析记录

A(解析为IP地址)(域名指向ipv4地址)(IP和域名的解析关系)
AAAA(域名指向ipv6)
PTR记录 :是A记录的逆记录,负责将ip反向解析为域名
cname是一个别名(解析的别名)
在这里插入图片描述
SOA记录:起始授权记录(开始授权的东西)起始授权机构记录,NS用于标识多态域名解析服务器,SOA记录用于在众多的NS记录中标识那一台是主服务器
NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
MX记录:mail exchang 建立电子邮箱服务,将指向邮箱服务器地址;定义了发XXX@ABC.COM邮箱的邮件服务器地址。
TXT记录:可任意填写,可以为空,一般做一些验证记录时会用到此项;这个记录的内容是文本格式如126.COM的TXT为"v=spf1 include:spf.163.com -all",TXT通常用于邮件服务器来标识自己的身份避免被认为是垃圾邮件服务器。这里不再深入讨论。
SRV记录:添加服务记录服务器,服务记录时会添加此项,SRA记录了哪台服务器提供了那个服务。格式为服务器的名字.协议的类型例如:example.tcp
显性URL转发记录
将域名指向一个http(s),访问域名时自动跳转至目标地址。ex:访问www.baidu.com显性转发到,www.baidu.cn,地址栏显示,www.baidu.cn。
隐性URL转发记录
将域名指向一个http(s),访问域名时自动跳转至目标地址。隐性转发会隐藏真实的目标地址。ex:访问www.baidu.com隐性转发到,www.baidu.cn,地址栏显示,www.baidu.com。
主机记录:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

DNS查询类型

(1)迭代查询

在这里插入图片描述

(2)递归查询

在这里插入图片描述
在这里插入图片描述
实际使用

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值