欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

DNS解析

程序员文章站 2022-05-24 20:12:48
DNS的几个概念: 一、根域 “.”,即域名最后的“.”,浏览器输入一般都会省略。 根域服务器具有13个IP地址,但是机器数量却不是13台,这些IP地址借助了任播技术,我们可以在全球设立这些IP的镜像。 二、域的划分 根域下来就是*域或者一级域,如com.、net.、cn.、jp.等。 每个域都会 ......

DNS的几个概念:

一、根域

“.”,即域名最后的“.”,浏览器输入一般都会省略。
根域服务器具有13个IP地址,但是机器数量却不是13台,这些IP地址借助了任播技术,我们可以在全球设立这些IP的镜像。

二、域的划分

根域下来就是*域或者一级域,如com.、net.、cn.、jp.等。
每个域都会有域名服务器,也叫权威域名服务器。权威域名服务器不做递归。

三、域名服务器

域名服务器即能够提供域名解析的服务器,上面的记录类型可以是A(address)记录、NS(name server)记录、MX(mail)、CNAME等。

四、DNS查询模式

递归:A查询B,如果B找不到,那么就会B向C发起请求,直到找到请求,后将结果发送給A.
迭代:A查询B,如果B找不到,但是知道C有,那么告诉B的C服务器地址,让B去向C服务器发起请求。
递归查询:在该模式下,服务器接收到客户端DNS查询请求,必须响应一个准备的查询结果。如果DNS服务器本地没有存储查询DNS信息,会询问其他服务器,并将返回查询结果响应给客户端。
迭代查询:DNS服务器会向客户端响应本地能否解析的DNS服务器地址。如果DNS服务器本地没有存储查询DNS信息,会响应客户端另一个DNS服务器地址,客户端再向新的DNS服务器提交请求,依次循环直到返回查询结果。

五、DNS解析常用命令

host

host语法:
Host [option] [domain] [server]
选项支持:

  • -a:即-v -t Any
  • -c,指定查询class。
  • -d,即-v
  • -l,列出域名对应所有hosts,使用AXFR
  • -r,关闭递归
  • -t,指定查询记录类型
  • -T,TCP/IP模式
  • -v,打开verbose输出
  • -4,只使用IPv4传输
  • -6,只使用IPv6传输
  • -V,打印版本号

nslookup

nslookup [-option] [name] [server]
如果在nslookup后面没有加上任何主机或者ip,那将进入nslookup查询功能,可以设置其他参数,如
set type=any :查询所有类型记录。
set type=mx :查询mx记录

dig

dig(domain information groper):用于探测DNS,会打印出DNS name server的回应。
dig语法:dig [@server] domain [type]
域名解析:dig [@server] domain
反向解析:dig -x IP @server
查找域的授权dns服务器:dig domain +nssearch
从根服务器追踪一个域名解析过程:dig domain +trace

六、附录

其他关键信息

DNS请求端口号默认53
/etc/hosts :记录hostname对应的ip地址(配置IP不符合规范则不生效)
/etc/resolv.conf :设置DNS服务器的ip地址
/etc/host.conf :指定域名解析的顺序(是从本地的hosts文件解析还是从DNS解析)

A记录与CNAME记录

A记录是把一个域名解析到一个IP地址,而CNAME记录是把域名解析到另外一个域名,而这个域名最终指向一个A记录,在功能实现上A记录与CNAME记录没有区别。
CNAME记录在做IP地址变更时比A记录方便。

DNS域名解析中的域名记录

A记录:指向IPv4地址的记录。
CNAME记录:也叫别名记录,可以将多个记录映射到同一台计算机上。
MX记录:MX记录的权重对Mail服务很重要,发送邮件的时候,Mail服务器先对域名进行解析,查询mx记录,优先查找权重数最小的服务器。
TXT记录:一般是某条记录的设置说明,还可以用于验证域名的所有者。
AAAA记录:指向IPv6地址的记录。
NS记录:是域名服务器记录,用来指定域名由哪台服务器解析。
SRV记录:记录了哪台计算机提供了哪个服务,格式为:服务的名字.协议的类型。
SOA记录:起始授权机构记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中哪一台是主服务器。
TTL(time to live)值:表示记录在DNS服务器中的缓存时间,TTL的单位是秒,一般为3600秒。