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

相关推荐

  • useradd命令

    useradd创建用户 使用格式: useradd[options] LOGIN -c:备注信息保存在passwd的备注栏中。 -d:用户登入时的主目录 -e:账号的失效日期,缺省表示永久有效。 -f:密码过期后多少天关闭该账号。 -g:用户所属组。 -G:用户所属的附加群组。 -m:自动创建用户的登入目录。 -M:不要自动创建用户的登入目录。 -n:取消创…

    Linux干货 2017-12-20
  • LVM逻辑卷的缩减与删除,LVM逻辑卷快照,btrfs文件系统,网络管理

    逻辑卷缩减 缩减的时候要注意缩减的空间不要超过文件系统的空间,不然缩减的时候会损坏文件系统。 第一步要先取消挂载(必须) 第二部检查文件完整性(必须) e2fsck -f /dev/vg0/lv0 第三部文件系统缩减,先缩减文件系统. resize2fs /dev/vg0/lv0 10G  (缩减到剩下10G) 第四步逻辑卷组的缩减 lvreduc…

    Linux干货 2016-09-06
  • 马哥教育网络班N22期+第7周作业

    1、创建一个10G分区,并格式为ext4文件系统;(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1tune2fs -o acl /dev/sdb1(2) 挂载至/data/mydata目录,要求挂载时禁止…

    Linux干货 2016-11-14
  • N26-第三周作业

    N26-第三周作业 一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@promote ~]# who root     tty1         2017-03-10 22:36 lxk…

    Linux干货 2017-03-11
  • 马哥教育网络第21期-第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@6 ~]# …

    Linux干货 2016-08-29