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

相关推荐

  • Linux第一周学习心得

                           LINUX入门学习心得 Shell基本命令 ### shell可执行命令分类 ### 内部命令:由shell自带得,而且通过某命令形式提供 help 内部命令列表 enble cmd 启用内部命…

    Linux干货 2017-07-15
  • 高可用Nginx

    高可用Nginx 基于vrrp流动一个IP地址 各节点时间必须同步; 确保iptables以及selinux不会成为阻碍; 各节点之间可通过主机名互相同喜(对KA而言并非必须) 确保各节点的用于集群服务的接口支持MULTICAST通信 IPv4,D类地址224-239 环境: node1:172.16.253.223 li1.jing.io node1 no…

    Linux干货 2017-06-28
  • Jerry首作_linux基础

    一、计算机的组成及其功能 硬件 冯·洛伊曼体系 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 存储器(Memory):存储器的功能是…

    Linux干货 2016-10-25
  • Shell脚本编程—函数

    函数:     把一段独立功能的代码当作一个整体,并命名一个名字;命名的代码段,此即为函数     由若干条shell命令组成的语句块,实现代码重用和模式化编程 函数的作用:     在某些场景下,我们可以将独立功能的一段代码定义为一个函数…

    Linux干货 2016-08-24
  • linux iptables替代工具nftables

    1 使用 FirewallD 构建动态防火墙 1.1 “守护进程” 1.2 静态防火墙(system-config-firewall/lokkit) 1.3 使用 iptables 和 ip6tables 的静态防火墙规则 1.4 什么是区域? 1.4.1 预定义的服务 1.4.2 端口和…

    Linux干货 2015-03-11
  • Linux网络属性配置

      如何将linux主机接入到TCP/IP网络中:     第一步:         配置IP/NETMASK(ip地址、子网掩码):本地通信     第二步:   &n…

    Linux干货 2016-12-16

评论列表(1条)

  • renjin
    renjin 2017-06-02 16:09

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