DNS:domain name system
递归查询:进行一次查询就知道结果
迭代查询:需要进行多次查询,才能知道最终结果
互联网上的应用方式一般情况下为:本地递归,互联网部分迭代
DNS服务器中常见的记录:
A记录: 有主机名解析IP地址
PTR记录: 由IP地址解析主机名
NS记录: 用来指定本地的域名服务器(有主,有辅)
MX记录: 用来指定本地的邮件服务器
CNAME记录: 用来指定一个主机名的别名
SOA记录: 起始授权记录,用来说明本域的主域名服务器
辅助域名服务器每个一定的时间会向主域名服务器上面查询更新,以便保存数据的一致性,这个过程叫做区域传送,使用TCP协议,端口为53,为了保证同步,主域名服务器有了更新会及时通知辅助域名服务器
区域传送的两种类型:增量区域传送,完全区域传送
DNS服务器类型:1、主-从;2、缓存服务器;3、转发器
查询的优先级:查找本地hosts文件-本地DNS缓存-本地DNS区域文件
$TTL 86400 (缓存一天)
@ IN SOA localhost. root.localhost.(@表示本域有特殊意义,所以管理员的邮箱“.”代替,并且后跟一个“.”,固定格式。)
1997022700;serial (每次跟新后服务器都将此代码更改,从服务器查询到该代码改变,就向服务器请求更新)
28800; refresh (从服务器的更新时间)
14400; retry (从服务器更新失败后的重试时间)
3600000; Exprie (重试多久就宣布失败,不再更新)
86400; Minimum (若主服务器找不到对应的请求,允许客户端再次查询的时间)
DNS转发:默认的DNS服务器会为1000个客户端做递归解析
完全转发:当DNS服务器收到查询请求时,会先看看是不是查询本域信息,本地缓存是否有数据,如果不能使用本地数据解析,DNS会将查询请求发送给转发器,
此时是以递归查询的方式发送给转发器,而在标准的DNS解析中,DNS服务器将以迭代查询的形式发送给另一个DNS服务器
options {
forward only|first;
forwardsers {IP;};
}
only:仅仅依靠转发器来递归解析,如果转发器出现问题,就不能解析
first:先请求转发器,让其代为转发(请转发器做递归),如果转发器无响应,就自己找根,此时开始标准的DNS解析,也就是迭代查询
部分转发(只转发解析某个域的DNS):一般用于访问未经授权的域
子域授权:在父域的区域配置文件中以NS记录声明子域以及管理子域的DNS服务器(主辅都声明)
设置允许进行DNS查询的主机:1、
1、直接定义,在主配置文件中allow-query { 192.168.1.0/24; };
2、使用acl
在options上面定义一个acl
acl clients {172.16.0.0/16;192.168.1.0/24;};
allow-query { clients; }; 这样就可以了同时允许这两个网段进行查询