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

相关推荐

  • grep命令与正则表达式的应用示例、find命令应用示例

    grep命令与正则表达式的应用示例、find命令应用示例 显示当前系统上root、fedora或user1用户的默认shell。 使用扩展正则表达式,它支持使用A|B表示或者之意。查看用户的默认shell,cat /etc/passwd文件,根据用户名所处位置进行锚定,其最后一个字段即表示该用户的默认shell。实现方式及结果如下:   找出/et…

    Linux干货 2016-11-28
  • shell编程、查找命令、压缩文件工具

    shell编程、查找命令、压缩文件工具  shell编程 一、条件测试  1、判断某需求是否满足,需要由测试机制来实现。    测试命令:  ·test Expression  ·[ EXPRESSION ]  ·[[ EXPRESSION ]]   &nbs…

    Linux干货 2016-08-15
  • 一步到位实现zabbix安装

    简介 zabbix是一个基于WEB界面的提供分布式网络监视功能的企业级的开源解决方案。相对于cacti和nagios而言,zabbix最大的特点是分布式监控,自动发现,自定义监控项目。 一、监控系统所具备的四个要素 1、数据采集       zabbix采集数据的手段有SNMP、zabbix的Agent、IPMI ag…

    2015-03-02
  • Linux基础命令 -管道密切配合使用 tee

    基础命令和管道密切配合使用  tee     基础命令:tee   tee命令 功能: 把命令1的STDOUT保存在文件名中,然后管道输入给命令2; 补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。 使用场景: 1.保存不同阶段的输出 2.复杂管道的故障排除 3.同时查看和记录…

    Linux干货 2016-08-03
  • 26期全程班-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     # who | cut -d” ” -f 1 | sort -u   2、取出最后登录到当前系统的用户的相关信息。     # id `last …

    Linux干货 2017-02-18
  • linux软链接与硬链接的区别

    硬链接:相于当给文件增加了一个新名 在添加链接时会增加链接数,其inode结点数不会增加 支持绝对路径与相对路径 硬链接不能对目录来创建 不能跨分区来创建链接 硬链接链接到文件被删除时,依旧可以通过链接文件来访问被删文件的数据 软链接:可以支持对目录来创建链接 (注,当你用rm -rf 删除目录的时候,目录不会删除,但目录中的内容会被删除,并且会删除源文件)…

    Linux干货 2013-07-15

评论列表(1条)

  • renjin
    renjin 2017-06-02 16:09

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