zoukankan      html  css  js  c++  java
  • DNS搭建

    名称服务器:负责解析本域内的名称的主机

    根服务器:13组服务器

    DNS查询类型:

    • 递归查询:请求发送给DNS之后,DNS的返回最终的结果。
    • 迭代查询:DNS服务器只返回下一跳地。

    解析类型:

    • FQDN -> IP 正解
    • IP -> FQDN 反解

    DNS服务器类型

    • 主DNS
    • 从DNS
    • 缓存DNS服务器(转发器)
    • cat /etc/named.conf

    安装DNS

    • yum install bind -y
    • named -v
    • yum info bind 服务的详解
    • yum -ql bind 服务文件路径解释
    /etc/named.conf,/etc/named.rfc1912.zones是主配置文件
    /var/named/named.ca是根区域解析库文件
    /var/named/named.localhost,/var/named/named.loopback 是本机和环回地址的解析库文件
    
    • cat /etc/named.com
    // 2个双//在这个配置文件中表示注释
    options {
        //下面一行表示监听的端口和IP地址,其中2个{}内部两端都要有空格,IP地址要以;号结尾。
        这里的IP地址至少应该包含宿主机可以和外部通迅的地址,也可以包含一个本地回环地址供rndc工具使用。也可以简写成{ any; }
        每个语句结束同样都要以;结尾,如果不需要监听IPV6可以注释掉或删除。
        listen-on port 53 { localhost; };
    //  listen-on-v6 port 53 { ::1; };
        //下面一行表示named的工作目录为/var/named
        directory   "/var/named";
        dump-file   "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        //下面一行表示允许哪些主机查询,改成any表示所有
        allow-query     { any; };
        //下面一行表示是否允许递归查询.
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
    };
    
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    //.表示根区域,这个区域是必须要有的
    zone "." IN {
        type hint;        //hint表示根区域类型
        file "named.ca";    //指定根区域解析库文件名称所在位置,相对于/var/named
    };
    //指定区域文件名称,所有的区域定义都可以写在named.rfc1912.zones文件中
    include "/etc/named.rfc1912.zones"; //rfc1912官方标准编号,一般新增的域都加到这里
    include "/etc/named.root.key";
    
    • 域对应的区域数据信息创建tengfei.com,一般是.zone 文件
    • vim /etc/named.rfc1912.zones
    新增域:tengfei.com
    正解域:
    zone "ZONE_NAME" IN { 
        type master; //主服务器,
        file "ZONE_NAME.zone"; //域数据库文件,/etc/named.conf有指定默认路径:directory   "/var/named";
    };
    
    eg:
    zone "tengfei.com" IN { 
        type master; //主服务器
        file "tengfei.com.zone"; //域数据库文件,/etc/named.conf有指定默认路径:directory   "/var/named";
    };
    
    反解域:
    zone "网络地址反写。in-addr.arpa" IN { 
        type master; //主服务器,
        file "网络地址反写.zone"; //域数据库文件,/etc/named.conf有指定默认路径:directory   "/var/named";
    };
    
    eg:
    zone "0.168.192.in-addr.arpa" IN {
        type master; //主服务器
        file "192.168.0.zone"; //域数据库文件
    };
    
    • 创建tengfei.com区域解析数据库文件
    • cd /var/named && cp named.localhost tengfei.com.zone -a
    • 资源记录语法:name [TTL] IN rr_type value //TTL可以继承,可以忽略
    • vim tengfei.com.zone
    $TTL 1D ;定义全局TTL
    @   IN SOA  @ rname.invalid. ( ;@代表域名 tengfei.com. 第二个@代表主DNS服务器,下边A记录需要指定。
                        0   ; serial
                        1D  ; refresh
                        1H  ; retry
                        1W  ; expire
                        3H )    ; minimum
        NS  @
        A   127.0.0.1
        AAAA    ::1
    
    eg:
    $TTL 1D ;定义全局TTL
    @   IN SOA  master.tengfei.com admin.tengfei.com. ( ;@代表域名 tengfei.com. 第二个@代表主DNS服务器,下边NS需要指定。admin.tengfei.com 全名 admin@tengfei.com
                                                   2020030813   ;序列号 解析库版本号,主服务器发生变化时,其序列号需要手动增加
                                                   2H          ;刷新时间 从服务器与主服务器请求同步解析的时间间隔
                                                   10M         ;重试时间间隔  从服务器请求同步失败时,再次尝试时间间隔
                                                   1W          ;过期时间 从服务器联系不到主服务器时,多久后停止服务
                                                   3H)         ;无法解析时否定答案的TTL值 
        NS  master
        NS  slave
    master  A  192.168.0.129
    slave  A  192.168.0.130
    www A 192.168.0.130
    ftp CNAME www
    *       A       192.168.0.128
    反解编写:
    $TTL 1D
    @       IN      SOA     master.tengfei.com. admin.tengfei.com. (
                            2020030812
                            2H
                            10M
                            7W
                            3H)
            IN      NS      master.tengfei.com.
            IN      NS      slave.tengfei.com.
    129     IN      PTR     master.tengfei.com.
    130     IN      PTR     slave.tengfei.com.
    130     IN      PTR     www.tengfei.com.
    
    • 区域解析库详解
    区域解析库由众多的RR(Resource Record,资源记录)组成。
    资源记录语法:name [TTL] IN rr_type value   //TTL可以继承,可以忽略
    记录类型有:
    A记录: A(Address)记录是用来指定主机名(或域名)对应的IP地址记录
    AAAA : 标识ipv6地址,用来指定主机名(或域名)对应的IP地址记录
    NS记录: NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析
    MX记录: MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器
    CNAME记录: CNAME(Canonical Name )别名记录,允许您将多个名字映射到同一台计算机。
    TXT记录:一般指某个主机名或域名的说明,如:admin IN TXT "管理员, 电话:XXXXXXXXXXX",mail IN TXT "邮件主机,存放在xxx , 管理人:AAA",Jim IN TXT "contact: abc@mailserver.com"
    PTR值:PTR是pointer的简写,用于将一个IP地址映射到对应的域名,也可以看成是A记录的反向,IP地址的反向解析
    TTL值:TTL(Time-To-Live)原理:TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。TL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者
    泛域名与泛解析:泛域名是指在一个域名根下,以 *.Domain.com的形式表示这个域名根所有未建立的子域名。 泛解析是把*.Domain.com的A记录解析到某个IP 地址上,通过访问任意的前缀.domain.com都能访问到你解析的站点上。
    
    • 启动服务
    systemctl status named
    systemctl start named 
    systemctl enable named 
    
    • 检测和重启服务
    ss -ntul 
    systemctl reload named.service 
    rndc reload
    named-checkconf 主配置文件语法检测
    named-checkzone "tengfei.com" /var/named/tengfei.com.zone 
    
    • 测试解析
    host: host www.tengfei.com 192.168.0.129
    dig: dig www.tengfei.com @192.168.0.129
    

    从库搭建

    • yum install bind -y
    • 调整从库的端口和访问限制
    listen-on port 53 { localhost; };
    allow-query     { any; };
    
    • 设置正解反解的从设置
    vim /etc/named.rfc1912.zones
    正解从:
    zone "tengfei.com" IN {
        type slave;
        masters { 192.168.0.129; };
        file "slaves/tengfei.zone";
    };
    
    反解从:
    zone "0.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.0.129; };
        file "slaves/0.168.192.zone";
    };
    
    • 重启服务即可
    systemctl restart named 
    rndc reload
    
    • 测试结果
    [root@node1 ~]# host www.tengfei.com 192.168.0.129 
    Using domain server:
    Name: 192.168.0.129
    Address: 192.168.0.129#53
    Aliases: 
    
    www.tengfei.com has address 192.168.0.130
    [root@node1 ~]# host www.tengfei.com 192.168.0.130
    Using domain server:
    Name: 192.168.0.130
    Address: 192.168.0.130#53
    Aliases: 
    
    www.tengfei.com has address 192.168.0.130
    
  • 相关阅读:
    Redhat6 —— Yum详解
    jQuery——bind绑定多事件用法
    织梦之路——织梦自由列表页分页链接绝对路径化(SEO)
    PHP算法——等宽等像素值截取字符串
    PHP算法——文件大小排序(KB、MB、GB、TB)
    HDU 3647 Tetris
    HDU 2442 Bricks
    ZOJ 2112 Dynamic Rankings
    HDU 3001 Travelling
    HDU 3559 Frost Chain
  • 原文地址:https://www.cnblogs.com/tengfei520/p/12462771.html
Copyright © 2011-2022 走看看