子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库中进行授权。
类似根域授权tld:
.com IN NS ns1.com.
.com IN NS ns1.com.
ns1.com IN A 2.2.2.1
ns2.com IN A 2.2.2.2
magedu.com. 在.com的名称服务器上,解析库中添加资源记录;
magedu.com. IN NS ns1.magedu.com.
magedu.com. IN NS ns2.magedu.com.
magedu.com. IN NS ns3.magedu.com.
ns1.magedu.com. IN A 3.3.3.1
ns1.magedu.com. IN A 3.3.3.2
ns1.magedu.com. IN A 3.3.3.3
glue record:粘合记录
域名注册:
代理商:万网,新网;godaddy
注册完成以后,想自己用专用服务来解析,怎么了?
(1)管理后台:把NS记录指向的服务器名称,和A记录指向的服务器地址;
BIND的安装配置:
dns服务,程序包名bind,程序名named
程序包:
bind
bind-libs
bind-utils
bind-chroot:/var/named/chroot/
bind:
服务脚本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key
解析库文件:/var/maned/ZONE_NAME.ZONE
注意:
(1)一台物理服务器可同时为多个区域提供解析;
(2)必须要有根区域文件;
(3)应该有两个(如果包括ipv6的,应该更多)实现localhost和本地回环地址的解析库
rndc:remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能;
953/tcp
主配置文件:
全局配置:options{ }
日志子系统配置:logging{ }
区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;
zone "ZONE_NAME" IN { }
注意:任何服务程序如果期望其能够通过网络被其它主机访问,至少应该监听在一个能与外部主机通信的IP地址上;
缓存名称服务器的配置:
监听外部地址即可;
dnssec:
关闭测试时关闭dnssec;
主DNS名称服务器:
(1)在主配置文件中定义区域
zone "ZONE_NAME" IN {
type {master | slave | hint | forward};
file "ZONE_NAME.zone";
};
(2)定义区域解析库文件
出现的内容:
宏定义;
资源记录;
测试命令:dig的使用
dig [-t type] name [@SERVER] [query options]
dig用于测试dns系统,因此,不会查询hosts文件进行解析;
查询选项:
+[no]trace:跟踪
+[no]recurse:
named-checkconf:自动检查主配置文件是否存在语法错误
named-checkzone ”magedu.com" /var/named/magedu.com.zone
rndc status 查看当前DNS服务器的工作状态
service named reload 重新加载解析库
/etc/resolv.conf 主机DNS配置文件
一个解析库必须要有NS记录,NS记录是用来指定哪些服务器可以来解析这个域的域名,如果不存在NS记录,服务器将不知道找谁解析域名,即使自己有这个zone,也需要指定NS,不然服务器不会使用自己的解析库来解析。