DNS解析

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秒。

相关推荐