继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

CentOS7部署Bind

萌褚
关注TA
已关注
手记 190
粉丝 9
获赞 25

1.简介

DNS(Domain Name System),域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。DNS服务器的作用就是就好比生活中的电话簿、114查号台一样,为各种网络程序找到对应目标主机的IP地址或对应的主机域名

2.功能

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

3.主从部署

主服务端(访问外网)
安装DNS服务所需要的软件包
yum -y install bind bind-chroot bind-util bind-libs
备注:
  bind           提供了域名服务的主要程序及相关文件  
  bind-utils     提供了对DNS服务器的测试工具程序(如nslookup、dig等)
  bind-chroot    为bind提供一个伪装的根目录以增强安全性(将“/var/named/chroot/”文件夹作为BIND的根目录)
 
 cat /etc/named.conf
 options {
        listen-on port 53 { any; };      #使用53端口监听,默认监听的是127.0.0.1,这里修改为any(或者直接修改为服务端的ip地址)
        listen-on-v6 port 53 { ::1; };            #监听ipv6的IP地址选项
        directory       "/var/named";             #DNS的根目录,由于安装了bind-chroot的所致,因此服务的实际工作目录为/var/named/chroot/var/named
        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     { any; };         #允许查询的主机,默认为localhost,这里修改为any
        recursion yes;                    #可以递归查询
          
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
};
   
logging {                               #named服务的日志文件信息
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {                        #根(.)域的配置及信息(也可以通过其它上级域名转发功能来配置缓存域名服务器,可以去了解下)
                                                                       
        type hint;
        file "named.ca";
};

zone "test.com" IN {                       #指定区名。正向解析
        type master;                            #服务器类别,master为主域名
        file "test.com.zone";              #正向解析区域文件名wangshibo.com_zone,在/var/named目录下创建
        allow-transfer {192.168.1.253;};         #指定从(辅助)域名服务器IP。即DNS从服务器的ip是192.168.1.253
};
zone "1.168.192.in-addr.arpa" IN {        #域名对应的ip地址网段为192.168.1.0,此处必须按照相 。反向解析                                          同的格式写
        type master;
        file "192.168.1.zone";               #反向解析文件名192.168.1.zone
        allow-transfer {192.168.1.23;};
};

正向解析
cat /var/named/test.com.zone
$TTL1D
@       IN SOA  ns1.test.com. mail.test.com. (
                                        2021121401    #主DNS的此解析文件没改动一次,都要修改一次这个值,然后重启naned或rndc reload重启,从DNS就会自动同步过去
                                        1D   
                                        1H    
                                        1W   
                                        3H ) 
@                IN      NS       ns1.test.com.             #主域名的域名地址。NS是域名服务器
ns1.test.com.    IN      A        192.168.1.254             #主域名的ip地址
@                IN      NS       ns2.test.com.             #从域名的域名地址。NS是域名服务器
ns2.test.com.    IN      A        192.168.1.253             #从域名的ip地址
@                IN      MX 10    mail.test.com.            #邮件服务器的域名地址
mail.test.com.   IN      A        192.168.1.252          
www.test.com.    IN      A        192.168.1.100
cc.test.com.     IN      CNAME    ns1.test.com.

反向解析
cat /var/named/192.168.1.zone
$TTL 1D                      
@       IN SOA  ns1.test.com. mail.test.com. (
                                        2021121401    #主DNS的此解析文件没改动一次,都要修改一次这个值,然后重启naned或rndc reload重启,从DNS就会自动同步过去
                                        1D
                                        1H
                                        1W    
                                        3H )  
@               IN      NS      ns1.test.com.
@               IN      NS      ns2.test.com.
254             IN      PTR     ns1.test.com.
253             IN      PTR     ns2.test.com.
@               IN      MX 10   mail.test.com.
252             IN      PTR     mail.test.com.
200             IN      PTR     www.test.com.

/etc/init.d/named start

客户端
cat /etc/resolv.conf
nameserver 192.168.1.254
dig @192.168.1.254 www.baidu.com
从服务端(访问外网)
安装DNS服务所需要的软件包
yum -y install bind bind-chroot bind-util bind-libs
 
cat /etc/named.conf
options {
        listen-on port 53 { any; };      
        listen-on-v6 port 53 { ::1; };            
        directory       "/var/named";           
        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     { any; };         
        recursion yes;                    
        forwarders { 8.8.8.8; };
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
};
   
logging {                              
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {                        
                                                                       
        type hint;
        file "named.ca";
};

zone "test.com" IN {                      
        type slave;                       
        file "test.com.zone";             
        masters {192.168.1.254;};         
};
zone "1.168.192.in-addr.arpa" IN {                                    
        type slave;
        file "192.168.1.zone";            
        masters {192.168.1.254;};
};

/etc/init.d/named start
dig @192.168.1.253 www.baidu.com

备注

最后查看/var/log/messages日志的内容,确认DNS主从是否启动正常,是否实现了同步。
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP