bind-dns服务器搭建

  • 环境:主服务器上IP为192.168.159.30
  • 安装相关包bind dns服务器  bind-utils提供nslookup dig等命令
yum -y install bind bind-utils
  • 配置/etc/named.conf
vim /etc/named.conf
options {
    listen-on port 53 { any; };
    //listen-on-v6 port 53 { ::1; };
    directory     "/var/named"; // 如果此档案底下有规范到正反解的zone file 档名时,该档名预设应该放置在哪个目录底下(即解析文件的目录)
    dump-file     "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    //allow-query     { localhost; }; // 谁可以对我的DNS服务器提出查询请求。any代表任何人
    allow-query     { any; }; 
    recursion yes;  #dns服务器 引起流量不正常,解决 关闭递归查询  yes 改为no

    dnssec-enable yes;
    dnssec-validation yes;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run"; #日志文件 基于/var/named   实际路径/var/named/data/named.run;
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};
include "/etc/named.rfc1912.zones";   //配置域名解析主文件
include "/etc/named.root.key";
  • 检查/etc/named.conf配置是否有错误、没有任何输出说明配置正确
named-checkconf
  •  配置域名解析主文件
cat /etc/named.rfc1912.zones
zone "pccb.com" IN { // 定义要解析主域名,正解析
    type master;
    file "pccb.com.zone"; // 具体相关解析的配置文件保存在 /var/named/pccb.com.zone 文件中
};

zone "159.168.192.in-addr.arpa" IN { // 反解析配置格式一定是这样,服务器ip的前3段倒着写。只能解析同一网段的域名
        type master;
        file "159.168.192.zone"; // 具体相关解析的配置文件保存在 /var/named/ 文件夹中
};
  •  配置pccb.com.zone正解析文件
cat /var/named/pccb.com.zone

//这里面的@ 即要解析的pccb.com,ip除了ns.pccb.com的ip为 dns服务器的ip外 其它域名解析的ip随便写都能解析。
$TTL 1D         
@        IN SOA    @ admin.pccb.com. ( //管理员邮箱 admin@pccb.com
                    2016071001    ; serial   //随便一个数字、以日期形式最好
                    1D    ; refresh    
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
        IN NS     ns.pccb.com.          //dns服务器域名(NS)
ns      IN A     192.168.159.30        //即dns服务器的ip 如果有对外提供解析需要配置

        IN MX 5  mail.pccb.com.        //mail服务器域名(MX)
mail    IN A     192.168.11.160        //即mail服务器的ip 如果有对外提供邮件需要配置

test    IN A     12.12.12.12           //测试A记录 test.pccb.com的ip

bbs     IN CNAME www.pccb.com.         //cname  bbs.pccb.com的cname
www     IN A     11.111.11.1           //www.pccb.com的ip


//例子,不能用上面的 因为注释会报错 【主要用的是A纪录】
$TTL 1D         
@        IN SOA    @ admin.pccb.com. ( 
                    2016071001    ; serial   
                    1D    ; refresh    
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
        IN NS     ns.pccb.com.          
ns      IN A     192.168.159.30        

        IN MX 5  mail.pccb.com.        
mail    IN A     192.168.159.31       

test    IN A     192.168.159.32           

bbs     IN CNAME www.pccb.com.         
www     IN A     159.168.159.33
  • 检查文件语法是否有误
named-checkzone "pccb.com" /var/named/pccb.com.zone
输出如下:

zone pccb.com/IN: loaded serial 2016071001
OK

  •  启动

/etc/init.d/named start

  • 测试正解析
dig @192.168.159.30 test.pccb.com  #查看域名解析详细,192.168.159.30是dns服务器的ip
nslookup test.pccb.com #查看域名解析

//配置服务器dns
cat  /etc/resolv.conf
nameserver 192.168.159.30   #这个就是我们的dns服务器解析
nameserver 114.114.114.114

ping test.pccb.com        #正常解析 解析ip为192.168.159.32
  • 配置反解析
cat /var/named/159.168.192.zone
$TTL 1D         
@        IN SOA    @ admin.pccb.com. ( 
                    2016071001    ; serial   
                    1D    ; refresh    
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
        IN NS     ns.pccb.com.          
30      IN PTR   ns.pccb.com.
  •  测试反解析
dig @192.168.159.30 -x 192.168.159.32  #前面个ip 是用哪个dns来解析  后面ip是要解析的ip(解析出来是test.pccb.com)
  •  主从未测试过 https://note.youdao.com/share/?id=c6a6ae4d3205b5925bf395c7a60509a1&type=note#/
原文地址:https://www.cnblogs.com/hanxiaohui/p/8639363.html