DNS

这里都以我本机的实验为例

正向解析:就是从主机名到IP的解析过程

先在工作目录/var/named/创建一个区域数据文件

zcylinux.io域为例:vim
/var/named/zcylinux.io.zone

$TTL  600     #设置全局变量TTL的值为600s

zcylinux.io.  IN    SOA   zcylinux.io.  nsadmin.zcylinux.io.   (

        2017052801

        1H

        1M

        1W

        1D )

 zcylinux.io.   IN    NS  dns.zcylinux.io. 表示zcylinux.io域中的DNS服务器是哪个主机

dns.zcylinux.io.  IN    A   172.16.250.31        ns服务器的正向解析记录

www.zcylinux.io.  IN    A   172.16.0.1  www.zcylinux.io.的正向解析记录

web             IN   CNAME    www       表示还有一个别名是web

每个完整的域名之后要加上点“.”,这个点表示完整的主机名FQDN,如果只写了zcylinux.io,表示zcylinux.io.zcylinux.io.

保存后,修改文件的属组:chown  :named zcylinux.io.zone

权限:chmod o= zcylinux.io.zone

在主配置文件/etc/named.conf或配置文件辅助文件/etc/named.rfc1912.zones中添加:

zone “zcylinux.io ” {

   type master {master|slave|hint|forward};

   file “zcylinux.io”;

};

/etc/named/目录下:

  检查语法错误:named-checkconf

      named-checkzone zcylinux.io zcylinux.io.zone

启动named服务:systemctl start named

若是服务已经启动:rndc reload systemctl reload named.service 来重新加载配置文件和区域数据文件

 

反向解析:就是从IP到主机名的过程

172.16这个网段的区域为例

    在/etc/named/目录下编辑区域数据文件

    vim 172.16.zone

     $TTL 600

 

@    IN   SOA  zcylinux.io. nsadmin.zcylinux.io. (

    2017052801

    1H

    1M

    1W

     1D )

@    IN    NS    dns.zcylinux.io.

31.250 IN    PTR    dns.zcylinux.io.

1.0  IN    PTR    www.zcylinux.io.

@表示在zone中定义的zone_name

这里在左侧只用添加ip地址的最后两段,因为我们在之前已经定义好域了16.172.in-addr.arpa,因此在这里它会自动将其补全

定义区域:   

  在主配置文件或配置文件辅助文件中实现:

   zone “16.172.in-addr.arpa ”{

       type master {master|slave|hint|forward};

       file “172.16.zone”;

 };

注意:反向解析区域的名字反写的网段地址.in-addr.arpa

检查语法错误(工作目录/etc/named/):named-checkconf

       named-checkzone  172.16.io  172.16.io.zone

启动named服务:systemctl start named

若是服务已经启动:rndc reload systemctl reload named.service 来重新加载配置文件和区域数据文件

反向解析与正向解析是两个独立的逻辑,不会互相干扰

/从:记得防火墙 iptables -F

     在主服务器的bind的主配置文件/etc/named.conf的每个zone中可以定义设置哪些从服务器来同步信息;主服务器更改信息时,要修改序列号(递增),这样从服务器才会同步信息。

zone “zcylinux.io” IN {

    type master;

     file “zcylinux.io.zone”;

    allow-transfer { 172.16.251.109; }; 多个ip地址时以分号隔开

};

在从服务器上只用修改bind主配置文件或辅助配置文件中的zone即可:

zone “zcylinux.io” IN {

    type slave;

    file “slaves/zcylinux.io.zone”; 将同步后的文件放置的位置,这里是相对路径,实际路径为/var/named/slaves/zcylinux.io.zone

    masters { 172.16.250.31; }; 主服务器的地址

};

zone “16.172.in-addr.arpa” IN {

    type slave;

    file “slaves/172.16.io.zone”;

    masters { 172.16.250.31; };

};

检查语法错误(工作目录/etc/named/):named-checkconf

重新加载:rndc reload

     通过观察日志文件 tail
/var/log/messages
查看是否同步成功,成功会在/var/named/slaves/目录下生成相应的文件

 

子域:

  当我们将DNS解析请求发给我们所指定的DNS服务器后,它会一级一级的去查找域名去解析,在这里每一级都是一个域,而且每个域都是上级的子域;每一级域只负责解析该域名,而对于下一级域名的解析只告诉所对应的DNS服务器地址,具体的解析交给下级来完成。

在上级域名加入一条记录来指定子域

 

$TTL  600

 

zcylinux.io.    IN      SOA     zcylinux.io.    nsadmin.zcylinux.io.    (

                2017052702

                1H

                2M

                3W

                4D )

                IN      NS      dns.zcylinux.io.

dns.zcylinux.io. IN     A       172.16.250.31

www.zcylinux.io.  IN    A       172.16.0.1

web             IN      CNAME   www

 

ops.zcylinux.io.    IN   NS   dns.ops.zcylinux.io. //指定分割子域和负责人

dns.ops        IN   A    172.16.251.57  //负责人对应的识别信息

 

配置子域:在子域服务器上

vim /etc/named.rfc1912.zones

     zone
“ops.zcylinux.io” IN
  {

        type master;

        file “ops.zcylinux.io.zone”;

编辑正向解析文件:

vim ops.zcylinux.io.zone

$TTL    1D

 

@       IN      SOA     ops.zcylinux.io.                nsadmin.ops.zcylinux.io.        (

        2017052701

        1H

        1M

        1W

        1D)

@       IN      NS      dns.ops.zcylinux.io.

dns     IN      A       172.16.251.57

www     IN      A       172.16.253.69


区域转发:

一般来说子域不知道父域的位置,无法解析父域。而要想能解析父域,我们需要用到转发:

vim /etc/named.rfc1912.zones

zone
“zcylinux.io” IN {

        type forward;

        forward only|first;  //前者代表只去询问父域,不论能否解析;后者是先转给父域,不行再去找根。

        forwarders { 172.16.250.31;
172.16.251.109; };

};

 

 

全局转发

     vim /etc/named.conf

         options {

… …

forward {only|first};

forwarders { SERVER_IP; };

.. …

    };

  

基本安全控制:

       acl 访问控制列表:把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;

vim /etc/named.conf

     acl test {

        172.16.0.200;

        172.16.250.31;

};

设置区域查询控制:

     vim /etc/named.rfc1912.zones

zone “zcylinux.io” IN {

        type master;

        file “zcylinux.io.zone”;

        allow-query { test; };

};

allow-transfer {}; 允许向哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;

vim /etc/named.conf

     acl slavesrvs {

        172.16.251.109;

        127.0.0.0/8;

};

vim /etc/named.rfc1912.zones

     zone “zcylinux.io” IN {

        type master;

        file “zcylinux.io.zone”;

        //allow-query { test; };

        allow-transfer { slavesrvs; };

};

allow-recursion {}; 允许哪此主机向当前DNS服务器发起递归查询请求

vim /etc/named.conf

········

acl localnet {

        172.16.0.0/16;

        127.0.0.0/8;

};

········

allow-recursion { localnet; };

········

allow-update {}; DDNS,允许动态更新区域数据库文件中内容

vim /etc/named.rfc1912.zones

     zone
“zcylinux.io” IN {

        type master;

        file “zcylinux.io.zone”;

        allow-update { none; };

};

测试工具:在测试时注意防火墙

     dig, host, nslookup

dig命令:

     dig [-t RR_TYPE] name [@SERVER] [query options]

     用于测试dns系统,因此其不会查询hosts文件;

查询选项:

     +[no]trace 跟踪解析过程;

     +[no]recurse 进行递归解析;

注意:反向解析测试

     dig -x IP

模拟完全区域传送:

     dig -t axfr DOMAIN [@server]

host命令:

     host [-t RR_TYPE] name SERVER_IP

nslookup命令

     nslookup [-options] [name] [server]

交互式模式:

     nslookup>

     server IP 以指定的IPDNS服务器进行查询;

     set q=RR_TYPE:要查询的资源记录类型;

     name:要查询的名称;

rndc命令:named服务控制命令

     rndc status

     rndc flush

     rndc reload

原创文章,作者:Immortals、zcy,如若转载,请注明出处:http://www.178linux.com/77185

(0)
Immortals、zcyImmortals、zcy
上一篇 2017-05-30
下一篇 2017-05-30

相关推荐

  • vim的使用说明

    vim的使用说明 vim是一款功能丰富而强大的文本编辑器,vim是从 vi 发展出来的一个文本编辑器。其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛的使用。 vim的使用非常方便,使用方法为:vim [options] [file ..] 1、vim可以对指定文件进行编辑,也可以直接启动vim编辑器进行编辑,对于打开指定文件编辑时可以加…

    Linux干货 2016-08-12
  • 103-corosync-pacemaker-crmsh

    一、概述: 1.1 什么是AIS和OpenAIS?

    2016-11-26
  • zabbix之报警功能的实现

    一、注册微信公众号 首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的 申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。 就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。就是那个红色的ID了。 h…

    2014-11-12
  • 第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;  (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@localhost ~]# fdisk /dev/sdb #创建10G分区 Welcome to fdisk (util-linux 2.23.2). Changes wi…

    Linux干货 2017-02-19
  • Linux上功能强大的文本编辑工具—vim

    vim–Vi Improved是一款全屏文本编辑器 vi: Visual Interface,文本编辑器 可见,vim是vi的升级版,所以我们当然要学习vim! vim的功能强大,自然命令、用法也会种类繁多,想要用的得心应手自然是需要长期的实际操作的,正所谓工欲善其事必先利其器,我们要想能够在linux上从容应对繁多的文本编辑,无疑vim编辑器是…

    Linux干货 2016-08-12
  • 14 用户组和权限管理4

    14 用户组和权限管理4 一、杂项知识整理 1、groups 查看用户所属组列表 [user1@localhost ~]$ groups user3 user1 2、文件属性:-rw-r–r–. 1 root root 0 8月   3 07:56 cgroup.clone_children &…

    Linux干货 2016-08-04