[iyunv@CentOS01 ~]# dig -t A www.baidu.com +trace
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -t A www.baidu.com +trace
;; global options: +cmd
#首先找根
. 480984 IN NS g.root-servers.net.
. 480984 IN NS j.root-servers.net.
. 480984 IN NS d.root-servers.net.
. 480984 IN NS k.root-servers.net.
. 480984 IN NS c.root-servers.net.
. 480984 IN NS h.root-servers.net.
. 480984 IN NS b.root-servers.net.
. 480984 IN NS l.root-servers.net.
. 480984 IN NS e.root-servers.net.
. 480984 IN NS m.root-servers.net.
. 480984 IN NS a.root-servers.net.
. 480984 IN NS i.root-servers.net.
. 480984 IN NS f.root-servers.net.
;; Received 496 bytes from 218.2.135.1#53(218.2.135.1) in 1654 ms
#然后找.com
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
;; Received 491 bytes from 128.63.2.53#53(128.63.2.53) in 921 ms
#然后找baidu.com.
baidu.com. 172800 IN NS dns.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
;; Received 201 bytes from 192.55.83.30#53(192.55.83.30) in 402 ms
#最后找到最终结果
www.baidu.com. 1200 IN CNAME www.a.shifen.com.
a.shifen.com. 1200 IN NS ns1.a.shifen.com.
a.shifen.com. 1200 IN NS ns2.a.shifen.com.
a.shifen.com. 1200 IN NS ns3.a.shifen.com.
a.shifen.com. 1200 IN NS ns5.a.shifen.com.
a.shifen.com. 1200 IN NS ns4.a.shifen.com.
;; Received 228 bytes from 61.135.165.235#53(61.135.165.235) in 81 ms dig -t axfr zone :验证完全区域传送 host命令: 语法:host -t 资源记录类型 名称
例如:
Complete! 第二步:自己创建或修改主配置文件(/etc/named.conf)
首先我们来看看主配置文件的内容哈:
[iyunv@CentOS02 ~]# cat /etc/named.conf
// C/C++风格的语法,注释用//或/* */
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "." IN { //定义根区域文件名称
type hint;
file "named.ca"; //使用的是相对路径,默认存放在/var/named/named.ca
};
//把另外两个文件也包含进来,作为主配置文件的一部分
include "/etc/named.rfc1912.zones"; //定义区域配置文件
include "/etc/named.root.key"; //根区域的key文件,与事务签名相关 注释如下三行: //listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; }; //allow-query { localhost; };
至此,我们就把主bind服务器配置好了哈(既可以正向解析又可以反向解析) 三、rndc的相关知识: 1、什么是rndc: Remote Name Domain Controller,远程名称域控制器
rndc 通过一个 TCP 连接与名字服务器通信,发送经过数字签名认证的命令。在当前版本的rndc 和 named 中,唯一支持的认证算法是 HMAC-MD5,在连接的两端使用共享密钥。它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。 监听端口:953/tcp 语法: rndc [-b address] [-c config] [-s server] [-p port] [-k key-file ] [-y key] [-V] command command is one of the following: reload Reload configuration file and zones. #重新加载配置文件和区域文件 reconfig Reload configuration file and new zones only. #重新加载配置文件和新的区域文件 freeze Suspend updates to all dynamic zones. stats Write server statistics to the statistics file. #将服务器统计信息写入统计文件中 stop Save pending updates to master files and stop the server. halt Stop the server without saving pending updates. flush Flushes all of the server's caches. #清空DNS缓存 status Display status of the server. #显示bind服务器的工作状态 2、rndc的调试和日志: 调试:显示程序运行中的详细信息(会产生I/O,正常情况下建议关闭) 调试级别:0,1,2,3... 提升调试级别:
rndc trace rndc trace LEVEL rndc notrace
打开查询日志:记录查询动作(会增加磁盘I/O) rndc querylog
例如:
四、辅助DNS服务器的配置 注意:辅助DNS是针对区域来说的;如果有多台DNS服务器,必须为每个DNS服务器建立NS记录,否则主DNS将不向其发送通知;
主辅DNS之间的区域传送原理在上次博文中已经详细讨论过,这里就不在赘述。想要了解的可以看上一篇博文http://sweetpotato.blog.51cto.com/533893/1596973。 1、区域的定义: zone “区域名称” IN { type slave;#区域类型为辅助 file "slaves/ZONE_NAME.zone";#区域文件必须保存在slaves目录下,放在其他目录没有权限 masters {#指出主服务器是谁,注意:花括号前后要有一个空格 MASTER_DNS_IP; MASTER_DNS2_IP; }; }; 2、辅助DNS和区域传送的配置: 第一步:先创建一个辅助DNS(分别在LinuxSlave和win2008的虚拟主机中实现) (1)在LinuxSlave主机上安装bind服务并做相应的配置:编辑/etc/named.rfc1912.zones,添加如下记录: