1、安装

本文选择rpm方式安装,以下为所需软件列表

bind-9

bind-utils

bind-chroot

Bind,提供域名服务的主要程序及相关文件
Bind-utils,提供对dns服务器的测试工具程序(如 nslookupdig等)
Bind-chroot,为bind提供一个伪装的根目录以增强安全性
 
Named服务的主配置文件为named.conf,一般位于/etc/目录中,如果使用了bind-chroot功能,则可能为与/var/named/chroot/etc/目录中,因为我们安装了所以是第二种情况。
 
主配置文件主要包括全局配置和区域配置部分
全局配置参数包含在形如“options {};”的大括号中,而每个dns区域的配置参数使用“zone……{};”的形式提供,注意在每个配置行末尾要添加分号“;”。
 
主配置文件详解:/var/named/chroot/etc/named.conf
 
options { //服务器的全局配置选项及一些默认设置
        listen-on port 53 { 127.0.0.1; }; //监听端口,也可写为 { 127.0.0.1; 192.168.139.46; }
        listen-on-v6 port 53 { ::1; }; //对ip6支持
        directory       "/var/named";  //区域文件存储目录
        dump-file       "/var/named/data/cache_dump.db"; //dump cach的目录directory
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        pid-file        "/var/run/named/named.pid"; //存着named的pid
        forwarders     { 168.95.1.1; 139.175.10.20; }; // 如果域名服务器无法解析时,将请求交由168.95.1.1; 139.175.10.20来解析
        allow-query    { any; };   //指定允许进行查询的主机,当然是要所有的电脑都可以查啦
        allow-transfer { none; }; //指定允许接受区域传送请求的主机,说明白一点就是辅dns定义,比如辅dns的ip是192.168.139.5,那么可以这样定义{ 192.168.139.5; },要不然主辅dns不能同步,当然,{}里的也可以用下面提到的acl。
      
};
logging { //指定服务器日志记录的内容和日志信息来源
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
// 这里定义一个acl列表
acl "acl1" {
        192.168.139.0/200; 192.168.1.0/200
};

view localhost_resolver { //定义一个视图
        match-clients      { any; }; //查询者的源地址,any表示localhost_resolver视图对任何主机开放,如果写成{ acl1; },那么就只有acl1表里的ip可以递归查询了
        match-destinations { any; }; //查询者的目标地址,这里也可以写成{ localhost; acl1; }
        recursion yes;  //设置进行递归查询
        include "/etc/named.rfc1912.zones"; //包含文件,这里也就是载入/etc/named.rfc1912.zones
};

 

Zone abccomIN 表示主域名服务器

Zone “100.168.192.inaddr.arpaIN表示反向dns区域名称
修改完主配置文件以后,可以执行named-checkconf命令对named.conf文件进行语法检查。
 
区域数据库配置文件位于/var/named/目录中,如果使用bind-chroot功能是则可能位于/var/named/chroot/var/named/目录中,下面编辑正向区域文件gxy.com.zone
 
NS域名服务器(name server)记录,用于设置当前域的dns服务器的域名地址
MX邮件交换(mail exchange)记录,用于设置当前域的邮件服务器域名地址,数字10表示优先级别,数字越大优先级越低

笔者所使用的配置:

named.conf

[root@localhost ~]# cat /var/named/chroot/etc/named.conf
// Default named.conf generated by install of bind-9.3.2-4.1
acl "corpnets" {184.187.177.128/27;192.168.100.0/24;};
options
{
   directory "/var/named";
    listen-on port 53 { 192.168.100.15; };
   forwarders{ 202.106.0.20;219.141.136.10;8.8.8.8;202.106.196.115;202.106.46.151; };
   allow-query{ 192.168.100.0/24; };
};

zone "." IN
{
  type hint;
  file "named.ca";
};

zone "saf.com.cn"  IN
{
  type master;
  file "named.saf.com";
  allow-update{192.168.100.0/24;};
};

include "/etc/rndc.key";

 

区域配置文件/var/named/chroot/var/named/named.saf.com 配置:

[root@localhost ~]# cat /var/named/chroot/var/named/named.ndtech.com
$ttl 600
@ IN SOA dns.ndtech.com.cn. root.dns ( 2007031401 3H 15M 1W 1D )
@ IN NS dns.ndtech.com.cn.
@ IN NS domain.ndtech.com.cn.
dns             IN A    192.168.100.15
domain          IN A    192.168.100.2
@               IN MX 10   mail

www    IN A    192.168.100.33
bug IN A 187.168.100.130
pop3 IN A 187.187.177.131
smtp IN A 187187.177.131
mail  IN A 187.187.177.131
ccc IN A  192.168.100.64