[原]DNS读书笔记:子域,委派,泛域名等

前面提到过的DNS是一个庞大的,层次化分布式数据库系统,而层次化,分布式正是通过子域来实现的.子域的建立可分为两种类型:一种是子域与父域在同一台DNS服务器上,另一种是子域与父域在不同的DNS服务器上.

    一,父子域在同一台DNS服务器上,这点实现比较容易.例如:为test.com域建立子域nic.test.com,即在正向区域数据库中创建一条A记录和一条CNAME记录,在反向区域数据据中建立相应反向记录,即在test.com.zone文件中添加:

....

server.nic.test.com IN A 192.168.1.102

www.nic.test.com IN CNAME server.nic.test.com

    二,父子域在不同的DNS服务器上-区域委派.

    父子域在不同的DNS服务器上更能充分体现分布式特点,这也是DNS代替hosts文件的根本原因.这种父子域在不同的DNS服务器上的情况称为区域委派,即是父域将子域委派给另一台机器来管理,即添加

.....

nic.test.com.     IN     NS   www.nic.test.com

www.inc.test.com. IN     A 192.168.1.102

    同理,建立反向区域文件.

      转发器:这点熟悉windows2003配置的同学肯定不陌生,在局域内的DNS上设置转发器,不仅可以让内网的机器解析局域网内的机器,还可以解析外网的机器,这点在缓存Cache-only服务器上也得到了应用.

实现转发器也很简单: vi /etc/named.conf,在options段添加

...

   forward first;      //定义优先使用转发器

    forwarders {210.51.1.108}; //指定转发器的IP地址列表

      DNS的最朴素的负载平衡机制---轮询

www.test.com.   IN A 192.168.1.100

                         IN A 192.168.1.101

                          IN A 192.168.1.102

      在查询www.test.com时,DNS服务器首先用第一条记录的值192.168.1.100来应答,再次查询www.test.com时,会采用192.168.1.101应答,依次类推,循环采用相应的记录来应答客户的请求,进而实现了最简单的一种负载平衡.

       泛域名: 比如用户的域名是abc.com,那么我们将主机名设置为"*",IP解析到比如:218.104.78.100,大家都知道*是通配符,他表明abc.com之前的所有子域名都将解析到218.104.78.100,这就意味着例如输入bbs.abc.com或者123.abc.com或者123.234.abc.com都将解析到218.104.78.100,这里需要说明的是,在我们系统里面如果单独设置一个子域名解析,比如将主机名设置为mail,单独解析到218.104.78.79,那么该解析记录优先。

   泛域名在实际使用中作用是非常广泛的,比如实现无限二级域名功能,提供免费的url转发,在IDC部门实现自动分配免费网址,在大型企业中实现网址分类管理等等,都发挥了巨大的作用。

泛域名的实现      

*.test.com    IN A 192.168.1.102

       以后无论输入sina.test.com,www.test.com.ns.test.com,都能得到解析192.168.1.102


        DDNS是DNS的一种特殊形式,本人博客里也有详细记载,在RHEL4下顺利通过,有兴趣的同学可对照实验.本文原创,转载请注明出处:

      http://hi.baidu.com/yuhongchun027