一.DNS基础
1.常见的dns解析方式:
正向解析:由主机名解析出IP地址
反向解析:由IP地址解析出主机名
2.名称域:层级分布式数据库 (金字塔型)
第一层: 根域 " . "表示
第二层 顶级域(宏观上分为俩种)
1.用于正向解析的组织域和地理域
2.用于反向解析的反向域:in-addr.arpa
第三层 二级域
三级域
四级域
.....
最后会解析到一个:完全合格域名(FQDN) ,也是主机名的完全名称。
注意:1.因为正向解析和反向解析用的是不同的顶级域,因此使用的不是一个数据库;
2.主机名或域名的书写要从低级域到高级域写,如
顶级域 com
二级域 baidu
三级域 www
则其域名为 www.baidu.com. 因为根域是唯一的所以根域的 " ."一般可以省略
3.名字查询的类型
递归查询:要求有明确结果的查询;必须返回一个肯定的或否定的答案;
迭代查询:按照一定的顺序和步骤依次向不同服务器发出查询请求,尽量要求返回一个答案;
查询结果的分类:
权威答案:自己负责的区域,自己服务器数据库中有的
非权威答案:自己没有数据库没有,但缓存服务器由,或者从其他服务器迭代得来的
一次完整的名称解析:
1.服务器本地数据库中有结果,直接返回权威答案/etc/hosts文件;
2.服务器不维护该域,但已经有缓存的结果,直接返回非权威答案;(dns服务器可以在网卡的配置文件添加,也可以在 /etc/resolv.conf文件中填写 格式为nameserver *.*.*.*)
3.服务器不维护该域,缓存中也没有结果,(递归后返回否定答案)于是开始迭代查询:
1) 询问根域的NS服务器;返回顶级域的NS服务器
2) 询问顶级域的NS服务器 返回二级域的NS地址;
3) 直到找到对应主机所在域的NS服务器,获得解析结果;
4) 缓存此次查询结果并用缓存中的数据响应客户端;
4.名字服务器:每个域下负责数据库管理的服务器
包括:主名称服务器 从名称服务器 缓存名称服务器
各服务器区别:
主名称服务器:是所维护的区域数据库文件的主体,对这些区域的文件数据具有,读写权限
从名称服务器:也称为辅助服务器,从主服务器那儿复制数据到本地,没有写权限,只有读权限
缓存名称服务器:不负责区域的数据库管理,缓存最近解析过的数据
通常为了数据库安全考虑需要多个从服务器:同时也需要保证主从服务器数据的一致性
如何保证主从数据库的一致性?
1.序列号:数据库的版本号;每次数据库更新会变更版本号
2.刷新时间间隔:从服务器到主服务器检查序列号的变更情况的时间间隔;(若检测到数据库序列号变更,会请求主服务器的数据复制到从服务器)
3.重试时间间隔:从服务器到主服务器的序列号检查请求失败以后,再次尝试发送请求的时间间隔;通常来讲,重试时间间隔要远远小于刷新时间间隔;
4.过期时间:名称服务器始终无法联系主名称服务器,从服务器会代替主服务器工作,从名称服务器最大的连续工作时长;
5.否定答案的缓存时长:当服务器递归查询返回否定答案后,答案会存放在缓存中,需要用此项让其销毁
要保证上述功能实现:需要保证主从服务器的时间保持一致
服务器的时间同步:
1.互联网中的时间服务器; 在/etc/ntp.conf 文件中添加时间服务器
2.局域网中自建时间服务器;用ntpdate同步区域内时间
6.主从服务器数据传输的类型
全量传送:
AXFR,将整个数据库文件传送至从服务器;
增量传送:
IXFR,仅传送自上次数据库传送以后发生变化的内容;
7.名称服务器数据库中用于我们解析的内容,称为资源记录 称作“RR”
RR的格式:
资源记录的格式:
DN|FQDN [TTL]IN RR_TYPEVALUE
其中FQDN 和TTL 可以用全局定义的宏继承,一般可以省略不写
如:FQDN :继承$ORIGIN
TTL:继承$TTL
资源记录的类型及格式:
① SOA:Start Of Authority,起始授权记录;此记录在数据库中只能有一条,且必须放在第一条
内容:
域名;
数据缓存的时间;
NS服务器的主机名;
管理员的邮箱地址;
序列号,刷新时间间隔,重试时间间隔,过期时间及否定答案的缓存时间;
格式示例
我们先定义宏:
$ORIGIN baidu.com. (定义时根域的点一定写)
$TTL 86400
baidu.com 86400 IN SOA ns1.baidu.com. root.baidu.com. 111 1H 5M 1W 1D
(FQDN) (ttl) (RR) (名称服务器) (管理员邮箱地址) (主从时间配置)
其中 @ IN SOA ns1.baidu.com. root.baidu.com. 111 1H 5M 1W 1D 主机名可以用@继承,TTL可以省略
②NS记录:标识当前域中被授权的名称服务器
格式
baidu.com IN NS ns1,baidu.com.
③MX记录:标识域中的邮件服务器的主机名称,标识从域名到完全合格域名的映射关系;
MX资源记录包含了一个优先级,0-65535,数字越小优先级越高;
格式
baidu.com IN MX 10 mail.baidu.com.
④A记录:标识从完全合格域名到IPv4地址的映射关系;
ns1.baidu.com. IN A 172.16.0.145
www.baidu.com. IN A 172.16.100.100
⑤CNAME:标识从完全合格域名到完全合格域名的映射关系(别名记录)
格式
ftp.baidu.com. IN CNAME www.baidu.com.
⑥AAAA:标识从完全合格域名到IPv6地址的映射关系;
二:dns的配置,及Bind软件的使用
1.bind软件的服务主程序是:named
named程序监听的端口号:
53/TCP:完成区域传送;
53/UDP:完成主机名的解析查询;
953/TCP:rndc程序的监听端口;
2.bind软件的主要组成
主配置文件:/etc/named.conf
辅助配置文件:在主配置文件中使用include命令包含就行
主程序:/usr/sbin/named
远程管理程序:/usr/sbin/rndc
配置文件检索工具:/usr/sbin/named-checkconf
区域文件检测工具:/usr/sbin/named-checkzone
日志文件:/var/log/named.log
区域文件的存放目录:/var/named
存放辅助区域文件的目录/var/named/slaves