zoukankan      html  css  js  c++  java
  • 003.DNS主从正反解析部署

    一 实验环境

    1.1 实验需求

    • 配置正向解析bind
    • 配置反向解析bind
    • 配置辅助dns的bind
    • 实现主辅dns之间的区域传送

    1.2 环境规划

    主dns:CentOS6.8-01 172.24.8.10 linuxmaster.aliyun.com

    辅dns:CentOS6.8-02 172.24.8.11 linuxslave.aliyun.com

    yum+www服务器:CentOS7-03 172.24.8.30 mirrors.aliyun.com

    client:CentOS6.8-03 172.24.8.20

    Domain Name:aliyun.com

    二 配置正向解析

    1. 第一步:使用YUM安装DNS所使用的软件包(BIND)
    2. 第二步:创建或修改主配置文件(/etc/named.conf)
    3. 第三步:创建区域数据文件(/var/named/***.zone)
    4. 第四步:使用相关命令(named-checkconf、named-checkzone)测试配置文件及区域文件是否存在语法错误
    5. 第五步:确保主配置文件和各区域解析库文件的权限为640,属主为root,属组为named;
    6. 第六步:重启服务或重新加载配置文件
    7. 第七步:更改iptables和selinux的设置(如果不了解此两项可以暂时关闭它们)
    8. 第八步:分别使用(dig/nslookup)在Linux/Windows主机进行查询DNS相关资源记录

    2.1 安装bind

    1 [root@linuxmaster ~]# yum -y install bind

    2.2 配置主配置文件

      1 [root@linuxmaster ~]# cat /etc/named.conf
      2 ……
      3 options {
      4         listen-on port 53 { 127.0.0.1; };
      5         listen-on-v6 port 53 { ::1; };
      6         directory       "/var/named";	                #存放区域文件根目录,下面给出的相对路径都是相对此目录
      7         dump-file       "/var/named/data/cache_dump.db";
      8         statistics-file "/var/named/data/named_stats.txt";
      9         memstatistics-file "/var/named/data/named_mem_stats.txt";
     10         allow-query     { localhost; };			#允许哪些主机查询
     11         recursion yes;					#是否允许递归查询
     12 
     13         dnssec-enable yes;
     14         dnssec-validation yes;
     15 
     16         /* Path to ISC DLV key */
     17         bindkeys-file "/etc/named.iscdlv.key";
     18 
     19         managed-keys-directory "/var/named/dynamic";
     20 };
     21 
     22 logging {						        #定义日志
     23         channel default_debug {
     24                 file "data/named.run";
     25                 severity dynamic;
     26         };
     27 };
     28 
     29 zone "." IN {						#定义根区域文件名称
     30         type hint;
     31         file "named.ca";				        #相对路径,即可/var/named/named.ca
     32 };
     33 
     34 include "/etc/named.rfc1912.zones";	                        #定义区域配置文件,若要新增也可以在此使用include
     35 include "/etc/named.root.key";		                #根区域的key文件,与事务签名相关
     36 注释以下三行——
     37 //listen-on port 53 { 127.0.0.1; };
     38 //listen-on-v6 port 53 { ::1; };
     39 //allow-query     { localhost; };
     40 [root@linuxmaster ~]# service named start		        #启动named服务
     41 [root@linuxmaster ~]# ss -taunl | grep "53"
     42 [root@linuxmaster ~]# netstat -tlun			        #验证服务正常启动

    001

    2.3 区域配置文件中新增zone

      1 [root@linuxmaster ~]# vi /etc/named.conf 			#在zone文件中增加区域
      2 ……
      3 zone "aliyun.com" IN {
      4 type master;
      5 file "aliyun.com.zone";
      6 };
      7 ……

    2.4 新建区域zone文件

      1 [root@linuxmaster ~]# cd /var/named/
      2 [root@linuxmaster named]# cp /var/named/named.localhost /var/named/aliyun.com.zone
      3 [root@linuxmaster named]# vi /var/named/aliyun.com.zone
      4 $TTL 300;
      5 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
      6                     2017051720
      7                     1H
      8                     5M
      9                     7D
     10                     3D )
     11     IN  NS  linuxmaster
     12     IN  MX 20 MX
     13 linuxmaster IN  A   172.24.8.10
     14 www         IN  A   172.24.8.30
     15 mirrors     IN  A   172.24.8.30
     16 ftp         IN  CNAME   www
     17 [root@linuxmaster ~]# named-checkconf			#检查配置文件
     18 [root@linuxmaster named]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
     19 zone aliyun.com.zone/IN: loaded serial 2017051720
     20 OK

    2.5 修改权限

      1 [root@linuxmaster ~]# chmod 640 /var/named/aliyun.com.zone
      2 [root@linuxmaster ~]# chown root:named /var/named/aliyun.com.zone
      3 注意:确保主配置文件和各区域文件权限为640,属主为root,属组为named。
      4 [root@linuxmaster ~]# service named restart

    2.6 关闭防火墙和SELinux

      1 [root@linuxmaster ~]# service iptables stop
      2 [root@linuxmaster ~]# setenforce 0
      3 [root@linuxmaster ~]# service named restart

    2.7 测试解析

    将dns修改为主dns服务器地址,之后ping linuxmaster.aliyun.com测试。

    002

    三 反向解析bind配置

    正向解析与反向解析各自采用不同的解析库,一台DNS服务器可以只有正向解析库或只有反向解析库,也可以同时提供正向/反向解析。

    反向区域的区域名称格式:

    ReverseIP.in-addr.arpa.

    例如:假设网络地址为172.16.100.1 那么规则命名为100.16.172.in-addr.arpa

    3.1 区域配置文件中新增反向zone

      1 [root@linuxmaster ~]# vi /etc/named.conf
      2 ……
      3 zone "8.24.172.in-addr.arpa" IN {
      4     type master;
      5     file "8.24.172.zone";
      6 };
      7 ……

    3.2 新建反向区域zone文件

      1 [root@linuxmaster ~]# /var/named/8.24.172.zone
      2 $TTL 300;
      3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
      4                     2017051720
      5                     1H
      6                     5M
      7                     7D
      8                     3D )
      9     IN  NS  linuxmaster.aliyun.com.
     10 8.10        IN  PTR linuxmaster.aliyun.com.
     11 8.30        IN  PTR www.aliyun.com.
     12 8.30        IN  PTR mirrors.aliyun.com.
     13 8.10        IN  PTR mx.aliyun.com.

    注意:

    反向解析不需要CNAME记录,且MX记录决不允许出现在反向解析库里;

    8.10 ip地址没写全会自动从主配置文件中定义的区域名“24.172.in-addr.arpa”,没写全最后面不需要加.

      1 [root@linuxmaster ~]# named-checkconf				#检查配置文件
      2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
      3 zone aliyun.com.zone/IN: loaded serial 2017051720
      4 OK
      5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone
      6 zone aliyun.com.zone/IN: loaded serial 2017051720
      7 OK

    3.3 修改权限

      1 [root@linuxmaster ~]# chmod 640 /var/named/24.172.zone
      2 [root@linuxmaster ~]# chown root:named /var/named/24.172.zone

    注意:确保主配置文件和各区域文件权限为640,属主为root,属组为named。

      1 [root@linuxmaster ~]# service named restart

    3.4 关闭防火墙和SELinux

      1 [root@linuxmaster ~]# service iptables stop
      2 [root@linuxmaster ~]# setenforce 0
      3 [root@linuxmaster ~]# service named restart

    3.5 测试解析

    将dns修改为主dns服务器地址,之后在Windows客户端使用nslookup测试。

    003

    四 辅助DNS配置

    辅助DNS是针对区域来说的,如果有多台DNS服务器,必须为每个DNS服务器建立NS记录,否则主DNS将不向其发送通知。

    4.1 定义区域

      1 zone “区域名称” IN {
      2    type slave; 				#区域类型为辅助
      3    file "slaves/ZONE_NAME.zone";	        #区域文件必须保存在slaves目录下,放在其他目录没有权限
      4    masters { 				#指出主服务器是谁,注意:花括号前后要有一个空格
      5      MASTER_DNS_IP;
      6      MASTER_DNS2_IP;
      7    };
      8 };

    4.2 辅DNS上安装bind

    1 [root@linuxslave ~]# yum -y install bind

    4.3 区域配置文件中新增辅助zone

      1 [root@linuxslave ~]# vi /etc/named.rfc1912.zones	        #建议添加在named.rfc1912.zones里
      2 ……
      3 zone "aliyun.com" IN {
      4     type slave;
      5     file "slaves/aliyun.com.zone";
      6     masters { 172.24.8.10; };				#主DNS的地址
      7 };
      8 zone "8.24.172-addr.arpa" IN {
      9     type slave;
     10     file "slaves/24.8.172.zone";
     11     masters { 172.24.8.10; };
     12 };
     13 [root@linuxslave ~]# named-checkconf			#检查配置

    4.4 辅助dns关闭防火墙和SELinux

      1 [root@linuxslave ~]# service iptables stop
      2 [root@linuxslave ~]# setenforce 0
      3 [root@linuxslave ~]# service named restart

    4.5 主DNS正向解析添加辅助DNS记录

      1 [root@linuxmaster ~]# vi /var/named/aliyun.com.zone
      2 $TTL 300;
      3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
      4                     2017051720
      5                     1H
      6                     5M
      7                     7D
      8                     3D )
      9     IN  NS  linuxmaster
     10     IN  NS  linuxslave
     11     IN  MX 20 MX
     12 linuxmaster	IN  A   172.24.8.10
     13 linuxslave	IN  A   172.24.8.11
     14 www		IN  A   172.24.8.30
     15 mirrors		IN  A   172.24.8.30
     16 mx			IN  A   172.24.8.10
     17 ftp			IN  CNAME   www

    4.6 主DNS反向解析添加辅助DNS记录

      1 [root@linuxmaster ~]# vi /var/named/8.24.172.zone
      2 $TTL 300;
      3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
      4                     2017051720
      5                     1H
      6                     5M
      7                     7D
      8                     3D )
      9     IN  NS  linuxmaster.aliyun.com.
     10     IN  NS  linuxslave.aliyun.com.
     11 8.10        IN  PTR linuxmaster.aliyun.com.
     12 8.11        IN  PTR linuxslave.aliyun.com.
     13 8.30        IN  PTR www.aliyun.com.
     14 8.30        IN  PTR mirrors.aliyun.com.
     15 8.10        IN  PTR mx.aliyun.com.

    4.7 检查配置

      1 [root@linuxmaster ~]# named-checkconf				#检查配置文件
      2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
      3 zone aliyun.com.zone/IN: loaded serial 2017051720
      4 OK
      5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone
      6 zone aliyun.com.zone/IN: loaded serial 2017051720
      7 OK
      8 [root@linuxmaster ~]# service named restart

    查看主DNS往辅助DNS的数据同步情况

    004

    4.8 查看辅助dns

      1 [root@linuxslave ~]# yum -y install bind-utils			#安装客户端
      2 [root@linuxslave ~]# dig -t axfr aliyun.com @172.24.8.10            #查看辅助dns同步情况

    005

    1 [root@linuxslave ~]# cat /var/named/slaves/aliyun.com.zone

    006

    注意:辅助DNS资源记录是从主DNS同步过来的,不能手动更改。

    007

    Windows客户端检测。

    总结:

    • 1、每个DNS服务器必须要有一个对应的NS资源记录;
    • 2、创建slave的时候,其配置文件类型必须是type slave; 必须指定主服务器的 IP地址 ;
    • 3、可以使用dig -t axfr test.com @server_IP 从主DNS服务器拉取所有解析库资源记录;
    • 4、主辅同步完成后,将自动在slave服务器上的slaves/目录下生成zone文件,这些区域文件是从主DNS同步过来的,一般为只读,不建议更改slave的zone文件;
    • 5、在主DNS上修改区域文件时,必须将SOA记录的serial加1 因为slave是通过serial值来进行判断更新的(windows系统上是自动完成的);
    • 6、DNS的日志默认全部保存在/var/log/messege 文件中;
    • 7、DNS的解析依赖于解析库,所以就算是所配置的内容是完全不存在的也可以解析(且正向解析和反向解析的解析库是各自独立的)。需要注意,正向解析里没有PTR记录,而反向解析库里不需要A记录、MX记录和CNAME记录
  • 相关阅读:
    VMware Workstation 6.0 正式版公布
    KMyMoney:全体理财好管家
    Bugzilla 3.0 公布
    Brightside:切换工作区的小东西
    QTM-Blogging 客户端
    MDF2ISO-将 MDF 转换为 ISO
    Yakuake 2.8 beta1
    Red Hat 的 Liberation 字体
    Dictman:有效的词典呆板人
    digiKam 0.9.2 Beta 1
  • 原文地址:https://www.cnblogs.com/itzgr/p/10323097.html
Copyright © 2011-2022 走看看