时间:2019年8月5日
地点:家里
内容:DNS、bind服务
DNS DNS(Domain Name System,域名系统) 这是一项用于管理和解析域名与IP地址对应关系的技术,简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。
主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系。
从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况。
缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。
DNS运行示意图(见下图)
目前全球总部总共有13个IPV4的DNS根服务器
bind服务 BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。
主配置文件(/etc/named.conf):这些参数用来定义bind服务程序的运行。
区域配置文件(/etc/named.rfc1912.zones):用来保存域名和IP地址对应关系的所在位置。
数据配置文件目录(/var/named):该目录用来保存域名和IP地址真实对应关系的数据配置文件。
正向解析参数及ZONE文件写法(下图所示)
反向解析参数及ZONE文件写法(下图所示)
安全加密传输(TSIG)详见RFC2845
dnssec-keygen dnssec-keyfromlabel命令从一个加密硬件中获取给定的密钥并生产密钥文件。当dnssec-keyfromlabel命令执行成功后,将输出一个格式为Knnnn.+aaa+iiiii的字符串。其中,nnnn表示密钥名;aaa表示加密算法;iiiii表示密钥标标识符。 格式为“ dnssec-keyfromlabel [选项] ”。
-a algorithm:选择的加密算法。算法的值必须是RSAMD5、RSASHA1、DSA、NSEC3RSASHA1、NSEC3DSA、RSASHA256、RSASHA512、ECCGOST其中之一。这些值是不区分大小写的。如果没有指定算法,默认使用RSASHA1值。
-3:使用NSEC3能力的算法生成一个DNSSEC密钥。如果此选项是用来显示设置,没有算法在命令行上,默认情况下,将使用NSEC3RSASHA1。
-E engine:指定的加密硬件的名称。
-l label:在加密硬件中指定密钥对的标签。
-n nametype:指定密钥文件的所有者类型。这类型的值可以是ZONE、HOST、ENTITY、USER、OTHER。
-C:兼容模式。生成一个旧式密钥文件,没有任何元数据。默认情况下,DNSSEC keyfromlabel将包括密钥的创建日期用私钥存储在元数据中、其他日期(出版日期、激活日期等)。
-c class:DNS记录包含的密钥应该有指定的类。如果不指定,IN类被使用。
-f flag:在标志KEY/DNSKEY记录的领域设置指定的标志。***认可的标志是密钥签名密钥(KSK)和REVOKE。
-G:生成一个密钥,但不发布或签署。该选项和-P、-A选项不兼容。
-h:显示帮助信息。
-K directory:设置要密钥文件的目录。
-k:生成密钥的记录,而不是DNSKEY记录。
-p protocol:设置密钥值协议。该协议是在0~255之间。默认设置为3(DNSSEC)。
-t type:指示密钥类型。类型必须是AUTHCONF、NOAUTHCONF、NOAUTH、NOCOND其中之一。默认为AUTHCONF。AUTH用来验证数据的能力和conf能够加密的数据。
-v level:设置调试级别。
-y:允许生成DNSSEC密钥文件,即使密钥ID与现有密钥相同,在任一密钥中 撤销。
-P date/offset:设置密钥文件的出版日期。
-A date/offset:设置密钥文件的激活日期。
-D date/offset:设置密钥文件的删除日期。
-I date/offset:设置密钥文件的失效日期。
-R date/offset:设置密钥的撤销日期。
部署缓存服务器
向主配置文件添加forwarders参数,格式为:“{ ip; }”
分离解析技术
1.删除主配置文件中的根域项。
2.以ACL的形式定义区域IP并配置对应的正向解析服务。
书面笔记