查询域名对应的ip地址常用两种方式:文件和dns服务器
- 文件
在/etc/hosts中可配置ip和域名对,该文件中默认有127.0.0.1对应localhost。 - DNS服务器
DNS服务器有多级查询,这个在后面会介绍。
除了上面两种方式外,还有不常用的方式,实际上可以控制ip地址的查询顺序,在/etx/nsswitch.conf文件中,默认是如下配置;
hosts: files mdns4_minimal [NOTFOUND=return] dns
有两种常见的命令查看DNS查询过程:dig和host。使用这两个命令时会自动跳过hosts文件。
host www.baidu.com dig www.baidu.com
现在,将域名进行分解,以www.baidu.com
为例:
- com:类别
- baidu:域名
- www:主机
实际上后面还有一个’.’+根DNS服务器,默认不写,查询时从后往前查询。
使用’+trace’参数显示完整查询路径。
查询的方式有两种:迭代查询和递归查询。
- 迭代查询
在迭代查询中,首先发起请求的主机会请求本地DNS服务器,当无法解析域名是,本地DNS服务器请求根服务器。当根服务器也无法解析是,根服务器会把其它可以解析此域名的DNS服务器的ip地址返回给本地DNS服务器。本地DNS服务器再请求刚才返回的服务器,如果还是无法解析,则请求的服务器也会返回其它的服务器ip地址。当有服务器将解析的结果返回给本地DNS服务器,本地DNS服务器再将结果返回给发起请求的主机。
- 递归查询
在DNS服务器上,DNS信息通过一个叫作资源记录的格式进行保存。
常用的属性有:
- NAME
- CLASS
- TYPE
- DATA
其中,CLASS主要是IN,表示Internet。
资源记录类型TYPE有多种类型,如下:
- 主服务器
一个域的主服务器保存该域的zone配置文件,该域的所有的配置、更改都在该服务器上进行。 - 从服务器
从服务器一般作为冗余负载使用,一个域的从服务器从该域的主服务器上抓取zone配置文件,从服务器不进行信息修改,所有的修改与主服务器同步。 - 缓存服务器
DNS从服务器不存在任何zone文件,仅仅依靠缓存为客户端提供服务,通常用于负载均衡加速使用。
一个域通过一个zone文件保存该域的相关信息。
常用如下几个命令获取相关信息:
// 查询对应的邮件服务器 dig -t MX mail.qq.com // 逆向解析 dig -x mail.qq.com // 获取soa信息 dig -t soa mail.qq.com
原文链接:https://www.cnblogs.com/suraer/p/8567830.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/22356