zoukankan      html  css  js  c++  java
  • 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命令测试

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    jq实现多级手风琴效果
    css弹性盒布局
    css兼容处理
    bootstrap--双日历插件
    char*,string,char a[], const char *,之间的转换
    8.Maximum Depth of Binary Tree
    7. Minimum Depth of Binary Tree-LeetCode
    6. Reverse Linked List 逆转单链表
    5.Maximum Product Subarray-Leetcode
    卷积神经网络(Convolutional Neural Networks)CNN
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/13513227.html
Copyright © 2011-2022 走看看