- 主要设定档是 /etc/named.conf;
- 每个正解、反解都需要一个档案,而档案的档名是由 /etc/named.conf 所设定;
- 目前的 bind 程式已经进行 chroot 了,可以参考 /etc/sysconfig/named ;
- 当 DNS 查询时,若本身没有资料库,则前往 root (.) 或 forwarders 主机查询;
- DNS 伺服器的架设需要上层 DNS 的授权才可以成为合法的 DNS 伺服器。
- named 是否启动成功务必要查阅 /var/log/messages 内的资讯!
/etc/hosts ∶直接在 Client 端的档案内输入主机名称对应的 IP 来查询; ip 主机名(域名) 简称 其中主机名和简称地位等同。
DNS 系统 ∶利用额外的DNS服务,让Client端可以透过名称解析来取得目的地主机的IP 。 2、Fully Qualified Domain Name ( FQDN )
什么是 domain name 与 host name?』也就是领域名称与主机名称。
举例说明:使用电话号码来看,假如高雄有个 1234567 而台南也有个 1234567 ,那么(1)您在高雄直接拨接 1234567 时,他会直接挂入高雄的 1234567 电话中, (2)但如果您要拨到台南去,就得加入(06)这个区码才行!我们就是使用区码来做为辨识之用的!
再来一个例子,常常会发现主机名称都是 www 的网站,例如 www.gov.tw, www.seednet.net, www.hinet.net 等等,那么我们怎么知道这些 www 名称的主机在不同的地方呢?就需要给他领域名称棉!也就是 gov.tw, seednet.net, hinet.net 等等的不同,所以即使您的主机名称相同,但是只要不是在同一个领域内, 那么就可以被接受棉!
DNS 是有层级之分的,那么每个层级的 Hostname 与 Domain name 可是不一样的咚咚。这个就是FQDN的意思,全域名HOSTNAME+DOMAIN。 你理解了吗?
3、dns查询过程
整个 DNS 系统的最上方一定是 . (小数点) 这个 root 的 DNS 主机,他底下管理的就只有 com, edu, gov, mil, org 与以国家为分类的第二层的主机名称了!这两者称为 Top Level Domains (TLDs) 喔!
一般最上层领域名称 (Generic TLDs)∶例如 .com, .org, .gov 等等; 国码最上层领域名称 (Country code TLDs)∶例如 .tw, .uk, .jp 等
其中前面的"."就是root根域。
DNS 系统是以所谓的阶层式的管理,所以,请注意喔!那个 .tw 只记录底下那一层的这数个主要的 domain 的主机而已!至于例如 edu.tw 底下还有个 ncku.edu.tw 这部机器,那就直接授权交给 edu.tw 那部机器去管理了!也就是说『 每个上一层的 DNS 主机,所记录的资讯,其实只有其下一层的主机名称而已! 』至于再下一层,则直接『授权』给下层的某部主机来管理棉!呵呵!所以您就应该会知道 DNS 到底是如何管理的吧!
通过以上的分析,就可以简单的理解dns查询过程。
先查看本身有没有纪录,也就是查询本机中(/ETC/RESOLVES中指定的dns服务器)-》
向最顶层 ( root )查询(如没有,根据最后的分类机构,域名就个域名类型,比方说.com ,.gov)-》相应的分类机构(.com,.gov)查询(向第二层查询)-》依次类推直到找到.
最后,指定的dns服务器就记录刚找到的结果以备下次查找。
注意:但是这里需要跟大家报告的是,通常, DNS 查询的时候,是以 udp 这个较快速的资料传输协定 (protocol) 来查询的,但是万一没有办法查询到完整的资讯时,就会再次的以 TCP 这个协定来重新查询的!所以启动 DNS 的 daemon (就是 named 啦) 时,会同时启动 TCP 及 udp 的 53 这个 port number 喔!
4、区域的概念
zone:简单一点的话,一个正解或反解的设定就是一个 zone ,例如我要规范 vbird.idv.tw 这个 domain 的设定内容,那么他就是一个 zone !通常,『一个设定档就是一个 zone 』!
以一个dns服务器vbird.idv.tw为例子来说,这个dns服务器包含以下设定。也就是说共含有4个zone。
正解:DNS 系统本来最主要的功能就是在转译 hostname 与 IP 棉,由于电脑在网路上面其实认识的只是 IP 啦,所以,一般来说,我们称『由 hostname 去寻找出 IP 的程序称为『 正解 』』
反解: 由 IP 去查询得到 hostname 那就被称为反解了!
一般情况下,正解和反解成队出现。
5、架设服务器软件需求 [root@linux ~]# rpm -qa | grep bind bind-utils-9.2.4-16.EL4 <==这个是用户端搜寻主机名称的相关指令 bind-9.2.4-16.EL4 <==这个才是 DNS 伺服器主程式 bind-chroot-9.2.4-16.EL4 <==将 bind 主程式关在家里面! ^_^ 6、架构思路 一个本身的设定档(规范规定)和资料库。思路就是如下两个: #本身的设定档∶主要规范主机的设定、zone file 的所在、权限的设定等;
#资料库档案∶记录主机名称与 IP 对应的等。
几个重要的目录:
|
这种类型的 DNS 本身含有领域名称的设定档 (就是有 Zone 啦!), 这个设定档就是设定正解或者是反解的『Database』棉!所以他本身是具有提供 Internet 查询所需的资料喔!例如我可以在我的主机上面设定提供 vbird.idv.tw 这个网域,那么我的主机就是 master 类型的主机啦!
[root@linux ~]# vi /etc/named.conf // 虽然 CentOS 将这个档案放置到 /var/named/chroot/etc 当中, // 不过他很好心的帮我们作了个连结,所以你还是可以直接编辑这个档案啦! options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; pid-file "/var/run/named/named.pid"; forward only; //只允许 forward! forwarders { 168.95.1.1; //我这里使用 hinet 的 DNS ! 139.175.10.20; //这个是 seednet 的 DNS ! }; }; include "/etc/rndc.key";
(不要忘记那个 s 喔!)就是要设定往前寻找的那个『合法』的 DNS 棉!每一个 forward 的主机之 IP 都需要有『 ; 』来做为结尾!
这个设定可以让您的 DNS 主机仅进行 forward 而已!是 Cache-Only 主机最常见的设定了!
每次修改了设定档案都要重新启动named服务。
[root@linux ~]# /etc/init.d/named start
Starting named: [ OK ] |
请特别的注意喔!并不是启动的时候显示 OK 你的 DNS 就会成功的!所以,还要赶快的来看一下您的 port 53 有没有启动
[root@linux ~]# netstat -utln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.254:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
udp 0 0 192.168.1.254:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
请注意tcp和udp协议。。。 8。1。4排错 检查 /var/log/messages 的内容讯息如果你在 /var/log/messages 里面一直看到这样的错误资讯∶ |