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 20:31
下一篇 2017-05-30 21:47

相关推荐

  • 作业:0803日

    1:三种权限rwx对文件和目录的不同意义:       对文件: r:能够查看文件内容 w:修改文件内容 x:执行文件,通常文件的执行权限能够发起一个进程       对目录: r: 能够cd进目录,使用ls查看目录内的文件列表 w: 能够…

    Linux干货 2016-08-05
  • keepalived+varnish+haproxy+LNAMP

      nfs: 192.168.1.40 rp1: 192.168.1.41 rp2: 192.168.1.42 mariadb: 192.168.1.43 web1: 192.168.1.110 web2: 192.168.1.111 app1: 192.168.1.112 app2: 192.168.1.113 实验效果:用keepalived高…

    2018-02-18
  • Linux用户和组管理

      用户和组管理类命令的使用方法 Liunx用户组管理命令: groupadd命令:添加组     命令用法:         groupadd [选项] group_name   &nbs…

    Linux干货 2016-11-25
  • Quota和RAID

    高级文件系统管理 磁盘配额 quota 限制用户在某个分区的容量,创建数目的多少!一般实施在家目录 /home 下来限制用户的占用空间 限制某一群组所能使用的最大磁盘配额  (使用群组限制): 限制某一用户的最大磁盘配额  (使用用户限制):它仅能针对整个文件系统来进行设计,无法针对某个单一的目录来设计它的磁盘配额。 限制某一目录 &nb…

    Linux干货 2016-09-01
  • 搭建双主模型lpvs的高可用集群

    一、实验要求: 1、基于LVS-DR模型上实践; 2、调度器高可用(双主模型); 二、实验拓扑图: 三、实验步骤: 1、  设置RS (a)设置http主页 Yum install httpd Vim /var/www/html/index.html <h1>172.18.24.3 server 1或者172.18.24.5server…

    2017-05-15
  • rpm包管理与yum简要用法

    linux程序包管理 程序包:源代码 –> 目标二进制格式(二进制程序、库文件、配置文件、帮助文件)–> 组织成一个或有限的几个包文件 程序包管理器:        debian –> dpkg   以“.deb”结尾 &nb…

    Linux干货 2016-08-22