DNS相关配置

DNS基础概念:

  • DNS全称为Domain Name System。它作为将域名和IP地址相互映射的得一个分布式数据库,能够使人更方便的访问互联网
  • DNS使用TCP和UDP得53号端口
  • BIND是DNS得实现方式之一

    • named是bind程序得运行的进程名
    • named进程的主要运行者是named用户,为了安全起见,它的程序也应该以named用户运行

配置正向解析:

yum -y install bind bind-utils -y   #安装bind
vim /var/named/lijing.io            #在/var/named/下创建文件
    $TTL 600
    lijing.io.      IN      SOA     lijing.io.      nsadmin.liing.io. (
                    2017052901
                    1H
                    5M
                    1W
                    6H  )
                    IN      NS      dns1.lijing.io
    dns1.lijing.io. IN      A       172.16.253.223
    www.lijing.io   IN      CNAME   www
vim /etc/named.conf                 #编辑主配置文件
    /dnssec-enable                  #查找dnssec-enable
    //dnssec-enable                 #注释之
    dnssec-validation no                #改为no,禁用
    /allow-query                        #查找allow-query
    allow-query { any; };           #允许所有人查询
    /listen-on                      #查找这一行
    //listen-on                     #注释之
    #注意,每一个指令都已分号结尾
vim /etc/named.rfc1912.zones        #更改区域配置文件
    G                               #跳转到行末
    zone "lijing.io" {
        type master;                #定义为主服务器
        file "lijing.io.zone";
    }
named-checkconf                     #检查配置文件语法
named-checkzone                     #检查zone区域语法
chmod o= /var/named/lijing.io.zone  
chown :named /var/named/lijing.io.zone
systemctl start named.service
ss -unl                             #查看53号端口工作与否
host -t A lijing.io
host -t SOA lijing.io               #测试

配置反向解析

vim /etc/named.rfc1912.zones
    zone "16.172.in-addr.arpa" IN {
        type master;
        file "172.16.zone";         #在172.16.zone文件中 @ 符号表示 16.172.in-addr.arpa
    };
named-checkconf
vim 172.16.zone
    $TTL 1200
    $ORIGIN 16.172.in-addr.arpa.        #定义了之后,dns后面补得是这个定义的字符
    @       IN      SOA     lijng.io.       naadmin.lijing.io. (    #@符号意义表示区域名
            2017052901
            3H
            20M
            1W
            1D )
    @       IN      NS      dns1.lijing.io.                         #dns1.后面补得是16.172.in-addr.arpa
    223.253 IN      PTR     dns1.lijing.io.                         #前面的应该要与lijing.io.zone中得地址反写
    #223.253.16.172.in-addr.arpa. 最左侧完整形式
    1.0     IN      PTR     www.lijing.io.
named-checkconf
named-checkzone
rndc reload
dig -x 172.16.0.1 @172.16.253.223
dig -t axfr 16.172.in-addr.arpa @172.12.253.223 
chmod o= /var/named/16.172.zone
chown :named /var/named/16.172.zone

主从配置

在另外一台主机(IP为172.16.254.20)
ll /var/named/      #查看namd目录,named用户对这个目录是否拥有写权限(从服务器的区域文件是自动更新的,所以named对这个目录应该拥有写权限
vim /etc/named.rfc1912.zones
    G
    zone "lijing.io" IN {
        type slave;
        file "slaves/lijing.io.zone";
        masters { 172.16.253.223; };
    };
named-checkconf
rndc reload
tail /var/log/messages          #查看日志当中得说明(all zones loaded..)
cd /var/named/ 
dig -t A www.ilinux.io @172.16.254.20

子域授权,区域转发

#在lijing.io下授权两个资源,一个叫做ops,一个叫做dev
vim /var/named/lijing.io.zone
    ops,lijing.io.  IN  NS  dns1.ops.lijing.io. #说明ops子域由子域内的dns1.ops服务器来负责
    dev.lijing.io.  IN  NS  dns1.dev.lijing.io.
    dns1.pos        IN  A   172.16.254.21
    dns1.dev        IN  A   172.16.254.22   #两台主机能通信,就可以解析出子域
    #在父域中先指明切割成什么子域,再指明每个负责人是谁,每个负责人对应信息是什么
#切换到172.16.254.21主机
vim /etc/named.conf
    listen-on-v6 port 53 { 127.0.0.1; 172.16.254.21; };
    //dnssec-enable yes;
    //dnssec-validation yes;
vim /etc/named.rfc1912.zones
    zone "ops.lijing.io" IN {
        type master;
        file "ops.lijing.io.zone";
    };                                  #配置正向解析
cd /var/named/
vim ops.lijing.io.zone
    $TTL 1h
    @       IN      SOA     ops.lijing.io. nsadmin.ops.ilinux.io. (
            2017052901
            1H
            5M
            3D
            2H )
    @       IN      NS      dns1        #与上一级dns保持一致,后缀可不写
    dns1    IN      A       172.16.254.21
    www     IN      A       172.16.0.100
named-checkconf
named-checkzone "ops.lijing.io" /var/named/ops.lijing.io.zone
systemctl start named.service   
dig -t A dns1.ops.lijing.io @172.16.254.21      #
dig -t NS ops.lijing.io @172.16.25254.21            #
dig -t A dns1.lijing.io @172.16.254.21          #解析父域,是不会成功的,因为它会先去找根服务器,而我们是测试环境
vim /etc/named.rfc1912.zones
    zone "lijing.io" IN {
        type forward;                       #表示当我们解析一个域名的时候,不要去找根
        forward only;                       #即使解析不了,也要给出答案,无论解析成功与否
        #forward first                      #表示解析的时候先通过下面的NDS解析,解析不了再去寻找根服务器
        forwarders { 172.16.254.21; 172.16.254.22; };   #通过这两台服务器去解析
    };  
named-checkconf
rndc reload
dig -t dns1.ilinux.io @172.16.254.21            #解析父域

全局转发:

#无法访问互联网
vim /etc/named.conf
    options
        forward only;
        forwarders { 172.16.0.1; };
named-checkconf
rndc reload
dig -A www.baidu.com @172.16.253.223 +trace

安全配置

vim /etc/named.conf
    #在options智商放置acl
    acl test {
        172.16.253.223;
        172.16.0.100;
    };
    option  
    #本机的查询操作放置在options当中,表示本机的所有的所负责域的查询则只允许这个地址查询
vim /etc/named.rfc1912.zones        #针对某个区域进行定义
    zone "lijing.io" {
        type...
        file...
        allow-query { test; };                  #表示这个区域只允许哪些查询
    };
named-checkconf
rndc reload
dig -t A www.lijing.io @172.16.253.223          #测试这个能否被223解析
dig -t A www.lijing.io @172.15.0.200                
2、允许从服务器做区域传送
vim /etc/named.conf
    acl slavesrvs {
        172.16.254.20;
    };
vim /var/named.rfc1912....
    zone "lijing.io" {
        type...
        file...
        //{ test; };                
        alow-transfer { slaversrvs; };  #仅仅允许从服务器做区域传送
    };
named-checkconf
rndc reload
#传送:在 254.20上使用
dig -t axfr lijing.io @172.16.253.223

只允许本地网络中客户端递归

vim /etc/named.conf
    acl localnet {
        172.16.0.0/16;
        172..0.0.0/8;
    };
    options 
        //recursion yes;
        allow-recursion { localnet; };      #仅允许本机所在的IP进行递归
named-checkconf
rndc reload

禁止它人动态更新站点(区域中得任何人)

vim /etc/named.rfc1912...
    zone "lijing.io" IN {
        type master;
        file "lijing.io.zone";
        allow-transfer { slaversrvs; };
        allow-update { none; };
    };

原创文章,作者:半斤八两,如若转载,请注明出处:http://www.178linux.com/77144

(0)
半斤八两半斤八两
上一篇 2017-05-30 14:21
下一篇 2017-05-30 17:28

相关推荐

  • 大数据计算:如何仅用1.5KB内存为十亿对象计数

    Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5K This is a guest post by Matt Abrams (@abramsm), from Clearspring, discussing how they are able to accurat…

    Linux干货 2015-04-08
  • Linux软件包管理

      在我们的运维工作,总是避免不了安装某些软件,或者编译安装某些软件,我们知道操作系统当中的程序都是有程序员通过开发工具开发的来,程序员直接编写的纯文本的文档我们称之为源代码,但我们的计算机只能识别二进制程序,那么必须要将源代码变成计算机能识别的二进制程序,这里需要通过编译器来进行编译,将源码转换成二进制程序,再通过安装即可。 还有一类程序就是二进…

    Linux干货 2016-08-24
  • 2017中华数据库与运维大会强势回归!

         时隔一年,2017年中华数据库与运维大会将于06月03日在上海宝丰联大酒店强势回归,届时来自全国各行各业的IT从业人员将欢聚上海,探讨与交流数据库和运维的经验。       自2009年以来,超过4000位技术总监、技术负责人、架构师、项目经理、运维总监、运维经理、DBA经理、DBA、运维…

    2017-02-28
  • SElinux 管理

    SELinux: Secure Enhanced Linux(安全强化的linux) SElinux安全上下文是由五个元素组成的: ①User:指示登录系统的用户类型,如root,user_u,system_u,多数本地进程都属于自由(unconfined)进程 ②Role:定义文件,进程和用户的用途:文件:object_r,进程和用户:syste…

    Linux干货 2016-09-26
  • 查找与压缩

    文件查找 在文件系统上查找符合条件的文件;  文件查找:locate, find locate :非实时查找(数据库查找) find :实时查找 locate 1.查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db  2.依赖于事先构建的索引,索引的构建是在系统较为空闲时自动进行(周期性任务);管理需要员手动更新数据库…

    Linux干货 2016-08-22

评论列表(1条)

  • renjin
    renjin 2017-06-02 16:09

    主要介绍了bind的正向解析,反向解析,主从配置,区域转发,子域授权和安全配置等等,内容总结的井然有序,并且非常详细,排版也很好。