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
下一篇 2017-05-30

相关推荐

  • Linux系统程序包的安装–RPM

           我们知道在操作系统上使用的程序都是有程序员通过开发工具得来的,程序员直接编写的纯文本的文件,我们称之为源代码,由于计算机识别的是二进制程序,因此在完成源代码编写之后,就必须要经过编译,使之成为操作系统可以“看得懂”的二进制程序,这里的编译是通过编译器来进行的操作,编译器的功能就是将源代码程序“转换”为二进…

    2017-04-23
  • N26-第一周作业-邢岩

     马哥门徒-N26-邢岩    悲催了! 首次使用这个博客,居然连续未保存删除了两次,这可是我用了四个小时才写好的啊!瞬间蓝瘦香菇了!感觉就像是Linux中使用了rm -rf / 一样。    还是重新开始写吧,第一次接触Linux是在8年之前了,当时弄到了一张红帽的光盘,可是怎么也装不上系统,就放…

    Linux干货 2017-02-05
  • LNMMP架构实现Web动静分离

    前言 前面的文章中说过LAMP架构包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl、PHP或者Python编程语言,而今天要说的LNMMP 和LAMP类似,只是作为Web服务器的不再是Apache而是高性能的Nginx,同时引进Memcached加速缓存效率,用于加快访问速度。 Memcached是一款开源、高性能、分布…

    Linux干货 2015-06-15
  • Bash编程之流程控制

    Bash作为一种过程式编程语言,拥有一套流程控制体系,可完成选择执行,循环执行功能。下面分别介绍if/else,case,select,for,while/until等语法的使用。

    Linux干货 2016-08-21
  • N26-第二周

    一、文件管理类命令 pwd:显示工作目录 cd:切换目录 cd [dir] cd: 切换回家目录;注意:bash中, ~表示家目录; cd ~:切换回自己的家目录 cd ~USERNAME:切换至指定用户的家目录; cd -:在上一次所在目录与当前目录之间来回切换; 相关的环境变量 $PWD:当前工作目录 $OLDPWD:上一次的工作目录 file:查看文件…

    Linux干货 2017-03-07

评论列表(1条)

  • renjin
    renjin 2017-06-02 16:09

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