note_19.2_DNS配置

DNS and Bind(2)

BIND的安装配置:
BIND: Berkeley Internet Name Domain, ISC.org
dns: 协议
bind: dns协议的一种实现
named:bind程序的运行的进程名

程序包:
bind-libs:被bind和bind-utils包中的程序共同用到的库文件;
bind-utils:bind客户端程序集,例如dig, host, nslookup等;

bind:提供的dns server程序、以及几个常用的测试程序;
bind-chroot:选装,让named运行于jail模式下;

bind:

  • 主配置文件:/etc/named.conf
    或包含进来其它文件;
    /etc/named.iscdlv.key
    /etc/named.rfc1912.zones
    /etc/named.root.key
  • 解析库文件:
    /var/named/目录下;
    一般名字为:ZONE_NAME.zone

注意:
(1) 一台DNS服务器可同时为多个区域提供解析;
(2) 必须要有根区域解析库文件: named.ca;
(3) 还应该有两个区域解析库文件:localhost和127.0.0.1的正反向解析库;
正向:named.localhost
反向:named.loopback

rndc:remote name domain contoller
953/tcp,但默认监听于127.0.0.1地址,因此仅允许本地使用;

bind程序安装完成之后,默认即可做缓存名称服务器使用;如果没有专门负责解析的区域,直接即可启动服务;
CentOS 6: service named start
CentOS 7: systemctl start named.service

主配置文件格式:

  • 全局配置段:
    options { ... }
  • 日志配置段:
    logging { ... }
  • 区域配置段:
    zone { ... }
    那些由本机负责解析的区域,或转发的区域;

注意:每个配置语句必须以分号结尾;

  • 缓存名称服务器的配置:
    监听能与外部主机通信的地址;
    listen-on port 53;
    listen-on port 53 { 172.16.100.67; };

  • 学习时,建议关闭dnssec
    dnssec-enable no;
    dnssec-validation no;
    dnssec-lookaside no;

  • 关闭仅允许本地查询:
    //allow-query { localhost; };

  • 检查配置文件语法错误:
    named-checkconf [/etc/named.conf]

测试工具:

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:以指定的IP为DNS服务器进行查询;
    set q=RR_TYPE:要查询的资源记录类型;
    name:要查询的名称;

  • rndc命令:
    named服务控制命令
    rndc status
    rndc flush

配置解析一个正向区域:

  1. 定义区域
    在主配置文件中或主配置文件辅助配置文件中实现;

    zone  "ZONE_NAME"  IN  {
            type  {master|slave|hint|forward};
            file  "ZONE_NAME.zone"; 
    };  
    

    注意:区域名字即为域名;

  2. 建立区域数据文件(主要记录为A或AAAA记录)
    在/var/named目录下建立区域数据文件;

    文件为:/var/named/magedu.com.zone

                            $TTL 3600
                            $ORIGIN magedu.com.
                            @       IN      SOA     ns1.magedu.com.   dnsadmin.magedu.com. (
                                    2017010801
                                    1H
                                    10M
                                    3D
                                    1D )
                                IN      NS      ns1
                                IN      MX   10 mx1
                                IN      MX   20 mx2
                            ns1     IN      A       172.16.100.67
                            mx1     IN      A       172.16.100.68
                            mx2     IN      A       172.16.100.69
                            www     IN      A       172.16.100.67
                            web     IN      CNAME   www
                            bbs     IN      A       172.16.100.70
                            bbs     IN      A       172.16.100.71
    

    权限及属组修改:
    # chgrp named /var/named/magedu.com.zone
    # chmod o= /var/named/magedu.com.zone

    检查语法错误:
    # named-checkzone ZONE_NAME ZONE_FILE
    # named-checkconf

  3. 让服务器重载配置文件和区域数据文件
    # rndc reload
    # systemctl reload named.service

配置解析一个反向区域

  1. 定义区域
    在主配置文件中或主配置文件辅助配置文件中实现;

    zone  "ZONE_NAME"  IN  {
            type  {master|slave|hint|forward};
            file  "ZONE_NAME.zone"; 
    };  
    

    注意:
    反向区域的名字
    反写的网段地址.in-addr.arpa
    100.16.172.in-addr.arpa

  2. 定义区域解析库文件(主要记录为PTR)

    示例,区域名称为100.16.172.in-addr.arpa;

                        $TTL 3600
                        $ORIGIN 100.16.172.in-addr.arpa.
                        @       IN      SOA     ns1.magedu.com.  nsadmin.magedu.com. (
                                2017010801
                                1H
                                10M
                                3D
                                12H )
                            IN      NS      ns1.magedu.com.
                        67      IN      PTR     ns1.magedu.com.
                        68      IN      PTR     mx1.magedu.com.
                        69      IN      PTR     mx2.magedu.com.
                        70      IN      PTR     bbs.magedu.com.
                        71      IN      PTR     bbs.magedu.com.
                        67      IN      PTR     www.magedu.com.                 
    

    权限及属组修改:
    # chgrp named /var/named/172.16.100.zone
    # chmod o= /var/named/172.16.100.zone

    检查语法错误:
    # named-checkzone ZONE_NAME ZONE_FILE
    # named-checkconf

  3. 让服务器重载配置文件和区域数据文件
    # rndc reload
    # systemctl reload named.service

主从服务器:
注意:从服务器是区域级别的概念;

配置一个从区域:

On Slave

  1. 定义区域
    定义一个从区域;

    zone "ZONE_NAME"  IN {
        type  slave;
        file  "slaves/ZONE_NAME.zone";
        masters  { MASTER_IP; };
    };
    

    配置文件语法检查:named-checkconf

  2. 重载配置
    rndc reload
    systemctl reload named.service

On Master

  1. 确保区域数据文件中为每个从服务配置NS记录,并且在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录,且此A后面的地址为真正的从服务器的IP地址;

    注意:时间要同步;
    ntpdate命令;

    子域授权:

    正向解析区域授权子域的方法:

            ops.magedu.com.         IN  NS      ns1.ops.magedu.com.
            ops.magedu.com.         IN  NS      ns2.ops.magedu.com.
            ns1.ops.magedu.com.     IN  A   IP.AD.DR.ESS
            ns2.ops.magedu.com.     IN  A   IP.AD.DR.ESS
    

定义转发:
注意:被转发的服务器必须允许为当前服务做递归;

  1. 区域转发:仅转发对某特定区域的解析请求;

                zone  "ZONE_NAME"  IN {
                    type  forward;
                    forward  {first|only};
                    forwarders  { SERVER_IP; };
                };
    

    first:首先转发;转发器不响应时,自行去迭代查询;
    only:只转发;

  2. 全局转发:针对凡本地没有通过zone定义的区域查询请求,通通转给某转发器;

                options {
                    ... ...
                    forward  {only|first};
                    forwarders  { SERVER_IP; };
                    .. ...
                };
    

bind中的安全相关的配置:

acl:访问控制列表;把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;

            acl  acl_name  {
                ip;
                net/prelen;
            };

示例:

                acl  mynet {
                    172.16.0.0/16;
                    127.0.0.0/8;
                };
        bind有四个内置的acl
            none:没有一个主机;
            any:任意主机;
            local:本机;
            localnet:本机所在的IP所属的网络;
            
    访问控制指令:
        allow-query  {};  允许查询的主机;白名单;
        allow-transfer {};  允许向哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;
        allow-recursion {}; 允许哪此主机向当前DNS服务器发起递归查询请求; 
        allow-update {}; DDNS,允许动态更新区域数据库文件中内容;
        
bind view:
    视图:
        view  VIEW_NAME {
            zone
            zone
            zone
        }
        
        
        view internal  {
            match-clients { 172.16.0.0/8; };
            zone "magedu.com"  IN {
                type master;
                file  "magedu.com/internal";
            };
        };
        
        view external {
            match-clients { any; };
            zone "magecdu.com" IN {
                type master;
                file magedu.com/external";
            };
        };

课外作业:whois命令; 注册一个域名;

博客作业:正向解析区域、反向解析区域;主/从;子域;基本安全控制;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容

  • DNS DNS:Domain Name Service 应用层协议(C/S,53/udp, 53/tcp) 域名 ...
    毛利卷卷发阅读 6,814评论 0 6
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,897评论 0 7
  • DNS服务器的基础应用及主从同步域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项...
    linuxlove阅读 481评论 0 0
  • 一、BIND是什么 BIND是互联网应用最为广泛的DNS软件。 二、BIND的安装与使用 以下内容转自 http:...
    0_0啊阅读 3,093评论 0 0
  • 什么是DNS及功能: DNS(Domain name server),是将IP地址转换为域名地址。当在互联网访问外...
    魏镇坪阅读 7,643评论 0 8