zoukankan      html  css  js  c++  java
  • Organizing Network System笔记之DNS服务器

    一、Name Server维护的文档
    1、Master Name Server维护的五种文档:
    domain forward lookup zone file
    domain reverse lookup zone file
    named ca
    localhost zone
    named local
    2、Slave Name Server维护的文档
    named ca
    localhost zone
    named local
    此外还会DNS Zone Transfer(即“同步备份”)Master Name Server上的domain forward lookup zone file和domain reverse lookup zone file,但是无法修改这两个数据库。

    二、Name Server的名称解析
    1、若Name Server接到名称解析的request请求包,首先查询自己的zone数据与cache,若无记录则会把请求包再次发送给其它Name Server或Root Name Server。
    2、若是自身完成不了解析的工作而再次把请求包发送给其它Name Server,可能将解析请求包发送给Root Name Server或者其它Name Server B,然后从Root Name Server或其它Name Server那里传送回来的数据可能就是最终的结果即目标ip,也可能是第三台Name Server的ip 地址,指示再次向第三台Name Server查询。
    3、例如:若是自身完成不了解析的工作而再次把请求包发送给Root Name Server,则从Root Name Server那里可能收到最终的解析结果,即目标ip,或者是Root Name Server也完成不了解析的工作,但会把另一个Name Server B的ip传回来。若是收到的数据不是目标ip,而是另一台Name Server B的ip,即会再一次将请求包发给Name Server B。若是B也完成不了解析的工作,则又会将另一台Name Server C的ip传送回来,指示可以再次向C查询。

    三、Berkeley Internet Name Domain (BIND)
    1、Read Hat Enterprise Linux使用BIND 9
    2、BIND 9默认使用/var/named/chroot目录作为根目录,并且把把数据存放到/var/named/chroot/var/named/db*

    四、Service Profile:DNS
    1、Type        :System V-managed server
    2、Packages    :bind,bind-utils,bind-chroot
    3、Daemons    :named(完成名称解析的工作),rndc(增强安全性)
    4、Script    :named
    5、Ports    :53(named),953(rndc)
    6、Configs    :(Under /var/named/chroot)
            (chroot路径)/etc/named.conf (名称解析的配置文档)
            (chroot路径)/var/named/*(名称解析数据库)
            (chroot路径)/etc/rndc.*(增强安全性)
    7、Related    :caching-nameserver,openssl

    五、配置chroot
    1、配置文件为/etc/sysconfig/named
    2、若将此配置文件中的ROOTDIR这一行注释掉,刚表示停用chroot机制
    3、可以修改ROOTDIR键的值

    六、(chroot路径)/etc/named.conf中的Option设定
    options{
        directory    "/var/named";指明名称解析数据库的目录。
        forwarders    {10.0.1.254;};若设定了此项,则表示当自身完成不了解析的工作时,会将解析数据包再发给这里设定的ip的dns服务器去查询,而不是默认发给Root Name Server服务器去查询。
        allow-query    {192.168.2/24;};表示此dns服务器只接受此网段的计算机的名称解析的请示。
        allow-transfer    {192.168.2/24;};表示只有此网段内的另一台dns服务器可以备份本dns上的名称解析数据。
    };

    七、Address Control Lists (acl)
    acl "mylists" {192.168.0/24;
            192.168.1/24;};

    八、Name Daemon Control Utility (rndc)
    1、rndc提供了对name server的安全远程管理。
    2、默认情况下rndc只会监听loopback interface或“localhost”
    3、rndc不是daemon,但是可以被named服务调用去检查key是否有问题

    九、Zone配置
    1、Master forward lookup Zone配置
    zone "example.com"{
        type    master;类型
        file    "example.com.zone";数据文件名,此数据文件保存在named.conf配置文件中所设置的directory键所指定的目录下。
        }
    2、Slave forward lookup Zone配置
    zone "kernel.org"{
        type    slave;
        masters    {192.168.0.254;};
        file    "slaves/kernel.org.zone";
        }
    3、Slave Reverse Lookup Zones配置
    zone "1.0.10in-adde.arpa"{
        type    slave;
        masters    {10.0.1.254;};
        file    "slaves/10.0.1.zone";
        }
    4、Root Zone配置
    zone "."{
        type hint;
        file "named.ca";
        }
    5、Loopback Zone配置
    zone "0.0.127.in-addr.arpa"{
        type    master;
        file    "named.local";
        }

    十、Zone文件
    1、zone文件一般存放在(chroot目录路径)/var/named目录中
    2、第一行为以“$TTL”开头的数据行
    3、第一笔resource record一定是zone的Start Of Authority (简称SOA)

    十一、存放在zone文件中的记录:Resource Records (RR)
    1、RR的数据格式:[domain] [ttl] [class] <type> <rdata>
    [domain]    :specify domain or use current若结尾为点号,则表示此名称为完整名称
    [ttl]        :how long record will be cached若无此数据,则将zone文件的第一行的数据作为TTL
    [class]        :record classification (usually IN)
    <type>        :record type (SOA,MX,A等)
    <rdata>        :specific data for record若此数据不是ip地址而是域名的话,若末尾带点号,则表示此域名为完整名称
    2、记录类型
    SOA records    :Every zone file must have one
        @    IN    SOA    example.com.    root.example.com(
                            2001101100    :serial number
                            10800        :refresh
                            3600        :retry query
                            604800        :expire
                            0        :negative TTL
                            )
    NS records    :point to any slave servers that should be consulted by the client's name server if the master should fail
        example.com    IN    NS    ns.example.com
        example.com    IN    NS    ns1.example.com
    A records    :map hostname to IP address
        mail        IN    A    192.168.0.2
        ns.example    IN    A    192.168.0.3
    CNAME records    :map address aliases
        www        IN    CNAME    ns1
        dns        IN    CNAME    ns.example.com
    PTR records    :map IP address to hostname
        3.0        IN    PTR    ns.example.com
    MX records    :map mail servers for a domain
        example.com    IN    MX    5    mail.example.com
        example.com    IN    MX    10    mail.example.com

    4、在Forward lookup zone文件中,至少要有“SOA NS A”三种记录:
    示例文件,文件名“example.com.zone”:
    @ IN SOA example.com. root.example.com. {
        2005073100    ;serial number
        10800        ;refresh slave
        3600        ;retry query
        604800        ;expire
        0        ;negative TTL
        }
    ;Resource Records
    @    IN    NS    ns.example.com.
    ns    IN    A    192.168.1.3
    最后要把此文件所属owner与group改成named:chown named:named example.com.zone

    5、在Reverse lookup zone文件中,至少要有“SOA NS PTR”三种记录:
    示例文件,文件名“192.168.1..zone”:
    $TTL 86400
    @ IN SOA example.com. root.example.com {
                2005073100    ;serial number
                10800        :refresh slave
                3600        :retry query
                604800        :expire
                0        :negative TTL
            }
    ;Resource Records
    @    IN    NS    ns.example.com.
    3    IN    PTR    ns.example.com.
    最后要把此文件所属owner与group改成named:chown named:named 192.168.1.zone

    十二、Round Robin Load Sharing Through DNS
    1、可以通过在解析文件中加入多条类型为A Record的记录来实现:
    www    0    IN    A    192.168.2.101
    www    0    IN    A    192.168.2.102
    www    0    IN    A    192.168.2.103
    2、要注意的是这些A record中TTL的值都一定要被设定为0,这样dns才能在当收到查询www服务器的时候任意挑选一条ip地址回应。缺点是由于TTL的值被设为0,即不允许其它服务器缓存这些数据,造成当用户每次发出同样的请求时,也不得不反复查询同一台DNS服务器才能得到目标ip,造成此dns服务器的负载。

    十三、Delegating Subdomains,即解析任务转交给子域中的dns服务器
    例如本dns服务器为ns1,位于example.com域中。子域为sub.example.com。子域中的dns服务器为ns2,则可以在ns1的解析数据库中增加一条NS类型的记录和一条A类型的记录:
    sub.example.com        IN    NS    dns2.sub.example.com
    dns2.sub.example.com    IN    A    192.168.10.204

    十四、BIND语法检查工具
    1、named-checkconf工具:直接输入此命令即可
    检查(chroot目录路径)/etc/named.conf这个配置文件的语法
    2、named-checkzone工具:named-checkzone <domain name> <configuration file full path>
    检查特定的zone配置文件的语法,如(chroot目录路径)/var/named/example.com.zone
    如:named-checkzone example.com /var/named/chroot/var/named/example.com.zone

    十五、BIND查询工具
    1、host:获取主机或域的信息
    host ns.redhat.com:解析域名,得到ip
    host 209.132.177.50:反向解析ip,得到域名
    host -a ns.redhat.com | grep ^[^/;]:显示关于主机ns.redhat.com的所有记录
    2、dig:直接将请求发送至name server
    dig @ns.redhat.com redhat.com | grep ^[^/;]:向ns.redhat.com这台name server查询所有关于redhat.com的记录
    dig @ns.redhat.com redhat.com MX | grep ^[^/;]:向ns.redhat.com这台name server查询所有关于redhat.com的包含MX(邮件服务器)类型的记录
    nslookup:以交互式模式或非交互式模式查询name server

  • 相关阅读:
    Lucene全文检索
    数据库设计样例
    tortoisegit 保存用户名密码
    ServletContextListener 解析用法
    !! 浅谈Java学习方法和后期面试技巧
    佳能2780打印机老出5100错误
    蓝屏
    股市口诀
    如何准确进行T+0操作
    通达信:显示K线图日期
  • 原文地址:https://www.cnblogs.com/beta2013/p/3377394.html
Copyright © 2011-2022 走看看