第三讲DNS服务器基本配置
BIND服务器安装
BIND服务相关的软件包:
bind-libs-9.2.4-2     提供了实现域名解析功能必备的库文件,系统默认安装
bind-utils-9.2.4-2    提供了对DNS服务器的测试工具程序,系统默认安装
bind -9.2.4-2    BIND服务软件包, 默认没有被安装,要手工安装,安装文件在第4张安装光盘中
 
BIND服务器的主配置文件/etc/named.conf,这个文件是空的,要配置的话要安装caching-nameserver 软件包,它里面是缓存服务器的配置文件,根据这个配置文件可以修改我们所要的配置
 
/var/named/目录用于保存BIND服务器的域名区域文件
/etc/init.d/目录中的named文件是BIND服务器的启动脚本,用于控制BIND服务器的启动与停止
 
DNS服务器的类型:
缓存域名服务器:主要功能是提供域名解析的缓存
主域名服务器:它保存了指定区域的区域文件
从域名服务器:从该域的主域名服务器中获取相应的文件并进行保存
 
构建缓存域名服务器
安装caching-nameserver软件包,位于第1张安装光盘
#rpm –qa | grep bind
#rpm –qa | grep caching
//查询软件包是否都安装了,结果安装了
#rpm –ql caching-nameserver
//可以看到它安装了/etc/named.conf文件,还有很多区域文件
#service named start 
//只要安装了,它就能启动,成了缓存服务器
 
/var/named/named.ca 是互联网上根域DNS的清单
 
下在来学习配置主域名服务器
named.conf中的全局设置:
options{
   directory “/var/named”;       // directory用于设置区域文件保存的目录
   dump-file “/var/named/data/cache_dump.db”; // dump-file用于设置域名缓存文件的保存位置和文件名
   statistics-file “/var/named/data/named_stats.txt”; //是一些统计数据
};     //注意}后面有分号
 
named.conf中的根区域设置:
zone “.” IN {
     type hint;   //type设置为hint表示该区域的类型是根区域
     file “named.ca”’;   //file用于设置区域文件,根区域文件的名称是named.ca
};
named.ca是根区域文件,位于/var/named/目录中
 
zone “locahost” IN {     //localhost区域的作用是对主机名称localhost和环回地址127.0.0.1进行解析,这个是正向解析
     type master;   //type设置为master表示区域类型是主服务器
     file “localhost.zone”;
};
zone “0.0.127.in-addr.arpa” IN{     //这个是localhost反向解析。0.0.127代表127.0.0开头的IP地址,in-addr.arpa代表反向解析
      type master;
      file “named.local”;
};
 
在named.conf文件中设置自己的域:
建立正向解析域:
zone “test.com” IN {    
     type master;
      file “test.com.zone”;
};
建立反向解析域:
zone “1.168.192.in-addr.arpa” IN {   
      type master;
      file “192.168.1.rev”;
};
建立好了域后,下面要创建对应的区域文件:
建立正向区域文件:
#vi /var/named/test.com.zone
添加域名服务器记录:
域名服务器记录又称NS记录,用于设置当前域的DNS服务器名称,如:
@                  IN       NS     ns1.test.com.
@                  IN       NS     ns2.test.com.
//@代表当前域。
 
添加地址记录:
地址记录又称A记录,用于设置主机名到IP地址的对应记录,如:
ns1     IN      A     192.168.1.2
ns2     IN      A     192.168.1.3
//ns1和ns2是域名,它们是不完整的,域名后加点是完整的域名。
 
 
#named-checkconf      //对主配置文件中的配置内容进行检测
 
#named-checkzone命令用于检查区域文件的语法错误,对正向区域文件和反向区域文件都可以检测
#named-checkzone test.com /var/named/test.com.zone
#named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.rev
 
配置主域服务器演示:
#vi /etc/named.conf
Options(
)           //这里面的内容一般不做改动
它的注释是//开头的。
 
allow-update { none;}      //none表示不允许动态更新
 
我们按V选定区域Y复制以下内容,到文件最后,按P,粘贴,并修改:
zone “locahost” IN {      // locahost改为xapc.com
     type master;  
     file “localhost.zone”;    // localhost.zone改为xapc.com.zone
     allow-update {none;};
};
zone “0.0.127.in-addr.arpa” IN{    //0.0.127.in-addr.arpa改为13.168.192. in-addr.arpa
      type master;
      file “named.local”;    // named.local改为xapc.com.rev (rev代表反向的意思)
allow-update {none;};
};
修改好后保存退出。
#cd /var/named/
#ll
#cp localhost.zone xapc.com.zone
#cp named.local xapc.com.rev
//这里复制了一个正向区域文件和一个反向区域文件,然后我们只要修改它就行了
#vi xapc.com.zone     修改成以下内容:
 
#vi xapc.com.rev 修改成以下内容:
 
 
 
#mamed-checkconf
#named-checkzone xapc.com xapc.com.zone
#service named restart
下面测试:
#nslookup
>service 192.168.13.1      //指定DNS服务器
#nslookup www.xapc.com
#nslookup 192.168.13.2
 
构建从域名服务器(必须要有主域名服务器)
zone “test.com” {
      type slave;     //type设置为slave,表示当前DNS服务器是该域的从域名服务器
      file “slaves/test.com.zone”;   //把从主DNS服务器拷贝过的的区域文件存放在slaves下,test.com.zone必须与主DNS服务器中的区域文件名一样
      masters { 192.168.1.2 ;};   //主DNS服务器的地址
};
zone “1.168.192.in-addr.arpa” {
        type slave;
        file “slaves/192.168.1.rev”;
        masters { 192.168.1.2 ;};
};
 
#service named start     //启动从域名服务器
#ls /var/named/slaves/     //查看从域名服务器是不是从主域名服务器获得了区域文件并保存在指定目录中
 
演示:
#vi /etc/named.conf
我们按V复制Y复制以下内容,到文件最后,按P,粘贴,并修改:
zone “locahost” IN {    
     type master;  
     file “localhost.zone”;   
     allow-update {none;};
};
zone “0.0.127.in-addr.arpa” IN{   
      type master;
      file “named.local”;  
allow-update {none;};
};
作以下修改:
#ll /var/named/slaves
//发现里面是空的
#service named start
#ll /var/named/slaves
//发现已经拷贝过来了区域文件
#nslookup ftp.xapc.com
#nslookup 192.168.13.1
//发现都可以解析了
 
 
只作转发解析:
#vi /etc/named.conf
在options{内添加:
forward only;
forwarders { 192.168.13.1;};    //解析不了的,可以转发给192.168.13.1
};
然后删除其他的解析内容。
还可以只对特定的区域进行转发:
zone “xapc.com” IN {
       type forward;
       forward only;
       forwarders { 192.168.13.1;};
};
 
dig命令:
dig    @dns域名或IP     区域     记录类型
例:
dig @192.168.13.2 xapc.com NS
//从xapc. com中挖掘NS记录
子域的委派
添加以下内容:
#cp pcgi.com.zone ca.xapc.com.zone
#vi ca.xapc.com.zone,修改成以下内容:
#service named restart
#nslookup www.ca.xapc.com
//发现解析不了,因为没有做委派,下面来做委派:
#vi xapc.com.zone     
添加下面两条内容:
ca      IN   NS     dns.ca.xapc.com.
dns.ca      IN   A   192.168.13.2
 
# service named restart
#nslookup www.ca.xapc.com
//发现可正常解析