在GNU/Linux环境下,使用的发行版是Ubuntu 10.10 desktop,配置DHCP时使用的软件是Bind9

详细的信息参考http://wiki.ubuntu.org.cn/BIND

bind9可以配置成多种类型
 Caching server,缓存服务器
 Master server,主服务器
 Slave server,子服务器
 hybrids混合模式,等于缓存和主 & 缓存和子 & 或者是三者兼有
 Stealth servers,私密服务器

bind9默认是缓存服务器模式

bind9配置文件在/etc/bind下
主要配置文件是:
 named.conf
 named.conf.local
 named.conf.options
 
主配置文件named.conf的例子:
  1. option {  
  2. directory "/var/named"; //每个域文件的存放目录  
  3. multiple-cnames yes;  
  4. pid-file '/etc/named.pid";  
  5. };  
  6.  
  7. zone "." in {  
  8. type hint;  //表示缓存服务器  
  9. file "named.ca";  
  10. };  
  11.  
  12. zone "0.0.127.in-addr-arpa" in {  
  13. type master;  //表示主域名服务器  
  14. file "named.local";  
  15. };  
  16.  
  17. zone "fenix.mil.cn" in {  
  18. type master;  
  19. file "fenix.mil.cn"; //正向解析  
  20. };  
  21.  
  22. zone "107.155.61.in-addr-arpa" in {  
  23. type master;  
  24. file "fenix.mil.cn.rev"; //反向解析  
  25. }; 

DNS的配置文件中,很多类型和功能是用资源记录(Resource Record)来表示的,常用的RR有:

SOA(start of authority)起始资源,在master file中使用
NS(name server)域名服务器,列出域或区域中的名字服务器
A(address)地址记录,说明DNS数据库中的主机IP地址,可以使用FQDN,也可使用相对域名
MX(mail exchange)邮件交换服务器,负责域内的主机之间的邮件交换
PTR(pointer)指示器,用于逆向主机名解析
CNAME(canonical name)别名,定义主机别名
 
域定义文件fenix.mil.cn示例
  1. IN SOA dns.fenix.mil.cn.  /* @定义当前域,dns.fenix.mil.cn.为该域的起始服务器*/  
  2. root.dns.fenix.mil.cn.(  /* 定义联系人,root后的.相当于@*/  
  3. 2000120101 ; serial number   /*这些数字单位是秒,serial number用来判断主和辅之间的master是否同步*/  
  4. 10800 ; refresh after 3 hours  
  5. 3600 ; retry after 1 hour 
  6. 3600000 ; expire after 6 weeks  
  7. 8600); minimum TTL of 1 day 
  8. IN NS dns //NS可以有多个  
  9. IN MX 10 mail  
  10. localhost IN A 127.0.0.1  
  11. www IN A 61.155.107.131  
  12. dns IN A 61.155.107.131  
  13. ftp IN CNAME dns 
域定义文件中的逆向查询示例
  1. IN SOA dns.fenix.mil.cn.  
  2. root.dns.fenix.mil.cn.(  
  3. 2000120101 ; serial  
  4. 10800 ; refresh  
  5. 1800 ; retry  
  6. 3600000 ; expire  
  7. 86400); minimum  
  8. IN NS dns.fenix.mil.cn.  
  9. 131 IN PTR dns.fenix.mil.cn  
  10. 132 IN PTR mail.fenix.mil.cn  
  11. /*当前域61.155.107中地址为131的服务器域名是dns.fenix.mil.cn*/ 

注意域名的末尾包含"."(例如dns.fenix.mil.cn.)的时候,表明这是一个完整记录,不能省略".",否则服务器会自动加上当前域。


缓冲服务器模式配置named.conf.options,内容是:
  1. forwarders  
  2. {211.137.130.3;  
  3.  211.137.130.19;  这是ISP商的DNS服务器IP

主服务器模式配置named.conf.local,内容是:
  1. zone "example.com"   
  2. {type master;  
  3.  file "/etc/bind/db.example.com";  
  4. }; 
然后编辑/etc/bind/下的db.example.con文件:
  1. ; BIND data file for local loopback interface  
  2. ;  
  3. $TTL    604800  
  4. @   IN  SOA localhost. root.localhost. (  
  5.                   2     ; Serial  
  6.              604800     ; Refresh  
  7.               86400     ; Retry  
  8.             2419200     ; Expire  
  9.              604800 )   ; Negative Cache TTL  
  10. ;  
  11. @   IN  NS  localhost.  
  12. @   IN  A   127.0.0.1  
  13. @   IN  AAAA    ::1 

从服务器模式,首先在主服务器上配置named.conf.local,内容是:
  1. zone "example.com"   
  2. {type master;  
  3.  file "/etc/bind/db.example.com";  
  4.  allow-transfer   
  5.  {@ip_slave;  
  6.  };  
  7. }; 

然后在从服务器上同样配置named.conf.local

  1. zone "example.com"   
  2. {type slave;  
  3.  file "/etc/bind/db.example.com";  
  4.  masters { @ip_master; };  
  5. }; 

非常初级的配置,合适入门实验