• DNS


    DNS:Domain Name System 应用层协议;C/S,53/udp, 53/tcp
    BIND:Bekerley Internat Name Domain 
    ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理
     
    本地名称解析配置文件:hosts
    DNS域名
    根域
    一级域名:Top Level Domain: tld
      com, edu, mil, gov, net, org, int,arpa
      三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
    二级域名
    三级域名
    最多127级域
     

    DNS服务器类型

     
    主DNS服务器:管理和维护所负责解析的域内解析库的服务器
    从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本
    缓存DNS服务器(转发器)

    DNS数据库的记录:正向解析、反向解析、zone的意义

    正向解析:冲主机名查询到IP的流程
    反向解析:从ip解析到主机名的流程
    zone:不管是正解还时反解,每个域的记录都是一个区域

    资源记录类型

    资源记录:Resource Record, RR
    记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX
    SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录
    A:internet Address,作用,FQDN --> IP
    AAAA:FQDN --> IPv6
    PTR:PoinTeR,IP --> FQDN
    NS:Name Server,专用于标明当前区域的DNS服务器
    CNAME : Canonical Name,别名记录 。以淘宝网为例www.taobao.com,宝网站是由N多主机的集群。用CNAME可以实现将www.taobao.com。别名为a.taobao.com......x.taobao.com。每个别名对应一个IP,通过DNS将不同访问分别解析到不同的别名主机上。
    MX:Mail eXchanger,邮件交换器
    TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:
    SPF(反垃圾邮件)记录,https验证等
      示例:_dnsauth TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x

    SOA记录

    name: 当前区域的名字,例如“magedu.com.”
     value: 有多部分组成
     (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
     (2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换例如:admin.test.com。
     (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL
    test.com.  86400  IN  SOA  master.test.com.  nsadmin.magedu.com.
    (
    2015042201 ;序列号
    2H;刷新时间
    10M;重试时间
    1W;过期时间
    1D;否定答案的TTL值
     )

    NS记录

    name: 当前区域的名字
    value: 当前区域的某DNS服务器的名字,例如ns.magedu.com.
    注意:一个区域可以有多个NS记录
    例如:
    test.com.     IN  NS   ns1.test.com.
    test.com.  IN   NS     ns2.test.com.

    注意:

    (1) 相邻的两个资源记录的name相同时,后续的可省略
    (2) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
      ns1 in A 192.168.0.1
      ns2 in A 192.168.0.2

    MX记录

    name: 当前区域的名字
    value: 当前区域的某邮件服务器(smtp服务器)的主机名
    一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高
    例如:
    test.com.  IN MX 10 mx1.test.com.
          IN MX 20 mx2.test..com.
    注意:对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录

    A记录

    name: 某主机的FQDN,例如:www.test.com.
    value: 主机名对应主机的IP地址
    例如:
    www.test.com   IN   A  1.1.1.1
    www.test.com.     IN   A  2.2.2.2
    mx1.test.com.   IN   A  3.3.3.3
    mx2.test.com.   IN   A  4.4.4.4
    $GENERATE 1-254 HOST$  IN  A   1.2.3.$ #比如说有server{1-99}.test.com,此时可以使用这种表达方式,而不是添加server1.test.com~ser99.test.com这99条记录。
    *.test.com.      IN   A5.5.5.5  ##当有人输入wwwwwww.test.com时,会被*.test.com匹配到。
    test.com.      IN   A6.6.6.6
    避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址

    AAAA

    name: FQDN
    value: IPv6

    PTR

    name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1。有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.
    value: FQDN
    例如:
     
    4.3.2.1.in-addr.arpa. IN PTR www.magedu.com.
    如1.2.3为网络地址,可简写成:
    4  IN PTR  www.magedu.com.
    注意:网络地址及后缀可省略;主机地址依然需要反着写

    CNAME

    name: 别名的FQDN
    value: 真正名字的FQDN
    例如:
     www.test.com. IN CNAME websrv1.test.com.
     www.test.com. IN CNAME websrv2.test.com.

    DNS安装和配置

    DNS服务器软件:

    bind,powerdns,unbound

    BIND相关程序包:

    yum list all bind*
      bind:服务器
      bind-libs:相关库
      bind-utils:客户端
      bind-chroot: /var/named/chroot/

    BIND程序名:named

    安装

    yum –y install bind

    重新加载配置

      rndc reload rndc

        remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1连接named进程提供辅助性的管理功能;953/tcp

      systemctl reload named

    配置文件

    服务脚本和名称:/etc/rc.d/init.d/named /usr/lib/systemd/system/named.service

    主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key

    解析库文件:/var/named/ZONE_NAME.ZONE

    注意:

    (1) 一台物理服务器可同时为多个区域提供解析

    (2) 必须要有根区域文件;named.ca
    主配置文件语法检查:
      named-checkconf
    解析库文件语法检查:
      named-checkzone "magedu.com" /var/named/magedu.com.zone
    配置生效:
      rndc reload 或 service named reload

    主配置文件

    全局配置:options {};
    日志子系统配置:logging {};
    区域定义:本机能够为哪些zone进行解析,就要定义哪些zone
    zone "ZONE_NAME" IN {};
    一般配置以下三项就可以
    listen-on port 53 { localhost; }   默认只监听127.0.0.1所以不对外提供服务。listen-on port 53 { localhost; }。为什么建议配置为localhost,因为localhost代表本机上的所有IP,这样可以再改IP的情况下不该配置文件。 allow-query { any; } any|netip|ip ##允许哪些主机使用dns查询服务
     zone "ZONE_NAME" IN {     ##本机能够为哪些zone进行解析
      type {master|slave|hint|forward};
      file "ZONE_NAME.zone";
     };
     include "/etc/named.rfc1912.zones"; ##上边的zone "ZONE_NAME" IN {};最好配置在此文件中,这是一个专门存放zone的问价。
     include "/etc/named.root.key";

    实验一:配置一个正向解析区域"test.com" 

    /etc/named.conf
    options {
        listen-on port 53 { localhost; };
            allow-query     { any; };
    }
    
    
    /etc/named.rfc1912.zones
    zone "test.com" IN {
        type master;
        file "test.com.zone";
    };
    
    /var/named/test.com.zone   ###注意此配置文件的数组要配置成named,且最少有r权限。
    $TTL 1D
    @    IN SOA    dns.test.com.  mail.test.com. (
                        0    ; serial
                        1D    ; refresh
                        1H    ; retry
                        1W    ; expire
                        3H )    ; minimum
        IN NS dns
    dns IN A 192.168.206.15
    www IN CNAME websrv
    websrv IN A 192.168.206.11
    wensrv IN A 192.168.206.12

    反向区域

     
    区域名称:网络地址反写.in-addr.arpa.
      172.16.100. --> 100.16.172.in-addr.arpa.
    (1) 定义区域
    zone "ZONE_NAME" IN {
    type {master|slave|forward};
    file "网络地址.zone"
    };
    (2) 定义区域解析库文件
    注意:不需要MX,以PTR记录为主

    实验二:配置一个反向解析区域

    /etc/named.rfc1912.zones
    zone "206.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.206.zone";
    };
    
    
    more /var/named/192.168.206.zone 
    $TTL 1D
    @    IN SOA    @ mail.test.com. (
                        0    ; serial 
                        1D    ; refresh
                        1H    ; retry
                        1W    ; expire
                        3H )    ; minimum
        IN NS dns

    dns IN A 192.168.206.15
    11 IN PTR websrv.test.come

     测试命令

      dig -x 192.168.206.11 @192.168.206.15

      

      dig -t ptr 11.206.168.192.in-addr.arpa  @192.168.206.15

    DNS从服务器配置 

    各种类型的主从服务器的搭建,都有共性,第一主从服务器得知道彼此的位置;第二必须有一个标识,来区分master和slave;第三主从之间有一定的数据传输机制。

    1、应该为一台独立的名称服务器
    2、主服务器的区域解析库文件中必须有一条NS记录指向从服务器
    3、从服务器只需要定义区域,而无须提供解析库文件;解析库文件应该放置于/var/named/slaves/目录中
    4、主服务器得允许从服务器作区域传送
    5、主从服务器时间应该同步,可通过ntp进行;
    6、bind程序的版本应该保持一致;否则,应该从高,主低
    定义从区域的方法:
    zone "ZONE_NAME" IN {
    type slave;
    masters { MASTER_IP; };
    file "slaves/ZONE_NAME.zone";
    };

    实验三配置一个主从dns

    主服务器192.168.206.15

    /etc/named.conf
    allow-tranfwer { 192.268.206.20; };##只允许从服务器从主节点抓取数据。可使用dig -t axfr test.com @192.168.206.15验证。
      

    /var/named/test.com.zone ###注意此配置文件的数组要配置成named,且最少有r权限。 $TTL 1D @ IN SOA dns.test.com. mail.test.com. ( 0 ; serial###当主节点更改了数据库文件时一定要手动更改serial,否则不会同步到从服务器 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS dns IN NS dns2 dns IN A 192.168.206.15 dns2 IN A 192.168.206.20 www IN CNAME websrv websrv IN A 192.168.206.11 wensrv IN A 192.168.206.12

    主服务器需要添加一个NS记录,目的时让主节点知道除了自己外还有其他的dns服务器

    从服务器192.168.206.20

    /etc/named.conf
    allow-tranfwer { none; };##从服务器不允许任何人抓取数据。可使用dig -t axfr test.com @192.168.206.20验证。

    /etc/named.rfc1912.zones zone "test.com" IN { type slave; masters {192.168.206.15;}; ##主dnsIP file "slaves/test.com.zone"; }; options { listen-on port 53 { localhost; }; allow-query { any; }; }

    测试

    查看slaves下是否有同步的文件

     

    dig命令测试

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    949. Largest Time for Given Digits
    450. Delete Node in a BST
    983. Minimum Cost For Tickets
    16. 3Sum Closest java solutions
    73. Set Matrix Zeroes java solutions
    347. Top K Frequent Elements java solutions
    215. Kth Largest Element in an Array java solutions
    75. Sort Colors java solutions
    38. Count and Say java solutions
    371. Sum of Two Integers java solutions
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/13513227.html
Copyright © 2020-2023  润新知