• DNS正反向区域解析(二)


    域名查询工具

    Nslookup命令
    >server 202.106.0.20  #指定DNS服务器
    >set q=A              #指定要查询的类型(A,PTR,MX,CNAME,NS)
    >www.baidu.com        #指定要查询的域名
    
    dig命令

    此命令是DNS工具包带的,可以用来查询域名相关信息

    dig [ -t type ] [ -x addr ] [ name ] [ @server ]
    -t A www.baidu.com @202.106.0.20  #查看域名的IP地址,指定DNS服务器,默认使用本地DNS地址
    -t NS www.baidu.com               #查看域名的NS服务器
    -t NS .                           #查看根的NS服务器
    -t NS com                         #查看com.的NS服务器
    -t MX baidu.com                   #查看域的邮件域名
    -t SOA baidu.com                  #查看域的权威服务器的SOA记录
    -t CNAME www.baidu.com            #查看域名的别名
    -x 192.168.60.200 @192.168.60.10  #反向解析查询
    

    示例:

    [root@localhost ~]# dig -t a www.baidu.com
     
    ; < <>> DiG 9.8.3-P1 < <>> -t a www.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 59830
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
     
    ;; QUESTION SECTION:       #显示dig提的问题
    ;www.baidu.com.			IN	A
     
    ;; ANSWER SECTION:         #回复dig提的问题
    www.baidu.com.		448	IN	CNAME	www.a.shifen.com.
    www.a.shifen.com.	0	IN	A	115.239.211.112
    www.a.shifen.com.	0	IN	A	115.239.210.27
     
    ;; Query time: 15 msec    
    ;; SERVER: 192.168.5.1#53(192.168.5.1)
    ;; WHEN: Sat Jul  2 21:30:06 2016
    ;; MSG SIZE  rcvd: 103
    

    Dig查询结果显示信息除了QUESTION SECTION和ANSWER SECTION外,还会碰见下面两类信息:

    AUTHORITY SECTION       #显示A记录的权威服务器
    
    ADDITIONAL SECTIONdd    #显示A记录的权威服务器的A记录
    
    Dig的另外几种常见用法
    # 查看202.106.0.20是否给递归
    [root@localhost ~]# dig +recurse -t www.baidu.com @202.106.0.20
     
    # 显示查询www.baidu.com的详细过程使用本地DNS
    [root@localhost ~]# dig +trace -t www.baidu.com
    

    DNS资源记录

    DNS服务器的解析功能有两种,一种是正向解析,一种是反向解析。正反向解析技术不同,因此不应该存放于同一个数据库文件中进行,每一种解析在DNS服务器上都需要有对应的数据库文件。在数据库文件中每一条都是一个资源记录,资源记录是有类型的,用于表示资源的功能,常用的有如下记录:

    SOA(Start Of Authority)  #起始授权记录
    NS(Name Server)          #域名服务器记录,标明自己就是DNS服务器
    MX(mail eXchanger)       #邮件交换器记录
    A(Address)               #域名转IPv4地址(正向解析)
    PTR(PoiTeR)              #IP地址转换为域名(反向解析)
    AAAA(Address)            #域名转IPv6地址
    CNAME(Canonical Name)    #正式名称(别名记录)
    
    正向区域文件
    $TTL 600
    @       IN    SOA    dns.ywnds.com.    root.ywnds.com. (
                                            0      ; serial
                                            1D     ; refresh
                                            1H     ; retry
                                            1W     ; expire
                                            3H )   ; minimum
    @       IN    NS      dns
    

    $TTL 600 :生存时间字段以秒为单位定义改资源记录中的信息存放在DNS缓存中的时间长度。

    资源记录格式
    NAME    IN     TYPE    Value
    NAME:名称字段,此字段是资源记录引用的域对象名,可以是一台独立的主机(如www)也可以是整个域(如wangfeng7399.com);字段值”.”表示根,“@”表示默认域即当前域。
    
    IN:此字段用于将当前记录标识为一个互联网的DNS资源记录。
    
    TYPE:资源记录类型,介绍常用的几种类型,如下:
    
    SOA(start OF authority):起始授权记录,其中NAME字段必须是区域名称如ywnds.com.或“@”表示,Value字段必须是主DNS服务器的FQDN
    
    例如: @    IN  SOA  dns.ywnds.com.  root.ywnds.com.
    
    其中,root.ywnds.com.是管理员邮箱,没有用@表示是因为@有特殊意义。这些参数的意义是辅助DNS用来更新主DNS的标志来更新数据,如:
    
    serial = 2913 (序列号=2913、这个序列号的作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制)
    
    refresh = 10800 (3 hours) (刷新=10800秒、辅域名服务器每隔3小时查询一个主服务器)
    
    retry = 3600 (1 hour) (重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)
    
    expire = 604800 (7 days) (到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。)
    
    default TTL = 3600 (1 hour) (默认生存时间=3600秒、缓存服务器保存记录的时间是1小时。也就是告诉缓存服务器保存域的解析记录为1小时)
    
    NS(Name Server): 域名服务器,其中NAME字段必须是区域名称如ywnds.com.或“@”表示,Value字段是DNS服务器的FQDN(可以是相对名称)
    
    例如: @    IN   NS   dns
    
    MX(mail eXchanger): 邮件交换器,其中NAME字段必须是区域名称,用来标识smtp服务器。Value字段有优先级(0-99,数字越小,级别越高)和FQDN。
    
    例如: @    IN   MX 10  mail
    
    A(Address): 域名转IPv4地址(正向解析),其中NAME字段是FQDN(可以使用相对名称),Value字段是IP地址。
    
    例如: dns    IN   NS   192.168.60.10
    
    CNAME : 用来设置别名。
    区域的类型

    区域类型是用来定义一个此域的有效标识,格式如下:

    zone "." IN {
      type hint;
      file "named.ca";
    };
    hint : 表示提示区域,一般根使用的区域。
    
    master : 主DNS服务器使用的区域标识。
    
    slave : 一般辅助DNS服务器使用的区域标识。
    
    forward : 转发区域使用的区域标识。
    安装DNS

    Linux系统上提供DNS服务的软件有几款,其中最好的就是bind软件,目前Linux6上面已经是bind9.8了。直接安装以下RPM包即可。

    [root@bogon ~]# yum install bind bind-utils bind-libs
    [root@bogon ~]# service iptables stop
    [root@bogon ~]# setenforce 0
    

    解释各个包的意义:

    bind-libs:提供的库文件
    
    bind-utils:提供的DNS客户端工具
    
    bind:服务器主包
    
    bind-devel:提供头文件和库文件做二次开发使用(可省略)
    
    bind-chroot:把DNS配置做根切换(可省略)
    
    bind-dyndb-ldap:用于把DNS区域文件存入到数据库或Ldap中(可省略)
    
    Bind的文件
    /etc/named.conf              #配置文件
    /etc/rc.d/init.d/named       #服务脚本
    /var/named/name.ca           #根域区域配置文件
    /var/named/named.localhost   #localhost区域配置文件
    /var/named/named.loopback    #反向解析配置文件
    高速缓存DNS

    高速缓存DNS服务器:192.168.60.10

    在DNS安装完成之后,其实就是一个高速缓存DNS服务器,但想要提供服务还需要调整一下监听地址和允许访问主机。下面介绍一下Bind主配置文件/etc/named.conf(权限640;root属主;named属组)。

    [root@bogon ~]# cat /etc/named.conf
    options {
      listen-on port 53 { any; };                                 #IPv4监听地址,改为“any”或注释掉都表示监听所有,默认是“127.0.0.1”
      listen-on-v6 port 53 { ::1; };
      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";
      allow-query { any; };                                       #允许查询者,改为“any”或注释掉都表示允许所有,默认是“localhost”
      recursion yes;                                              #允许给其它用户递归默认开启
      allow-recursion { 192.168.60.0/24; };                       #访问控制,只允许给192.168.60.0网段的用户递归。可省略。
    };
     
    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
    managed-keys-directory "/var/named/dynamic"; 
    
    #定义日志(由于DNS查询太频繁尽量不要开启日志)
    logging {
    channel default_debug   {
    file "data/named.run";
    severity dynamic;
    };
    };
     
    #默认DNS根域文件
    zone "." IN {
      type hint;
      file "named.ca";
    };
     
    #包含文件
    include "/etc/named.rfc1912.zones";
    //include "/etc/named.root.key";          #在做实验时都把此文件给注释掉,不然不影响实验正常结果。默认是开启的。
    
    [root@bogon ~]# service named start
    [root@bogon ~]# dig -t A www.baidu.com @192.168.60.10
    #测试高速缓存服务器(DNS服务器必须能上网)
    正向解析DNS

    在高速缓存DNS服务器的基础上做正向解析DNS服务器

    在/etc/named.conf文件中添加正向解析区域
    [root@bogon ~]# vim /etc/named.conf
    zone "ywnds.com" IN {
      type master;
      file "ywnds";
      allow-transfer { none; };
    };
    
    在/var/named/下添加正向区域文件
    [root@bogon ~]# vim /var/named/ywnds
    $TTL 1D
    @       IN    SOA    dns.ywnds.com.    root.ywnds.com. (
                                            0      ; serial
                                            1D     ; refresh
                                            1H     ; retry
                                            1W     ; expire
                                            3H )   ; minimum
    @       IN    NS      dns
    dns     IN    A       192.168.60.10
    @       IN    MX 10   mail
    mail    IN    A       192.168.60.100
    www     IN    A       192.168.60.200
    
    [root@bogon ~]# chown root:named /var/named/ywnds
    
    dig验证

    DNS正反向区域解析(二)DNS正反向区域解析(二)

    反正解析DNS

    在/etc/named.conf文件中添加正向解析区域
    [root@bogon ~]# vim /etc/named.conf
    zone "60.168.192.in-addr.arpa" IN {
      type master;
      file "ywnds.com";
      allow-transfer { none; };
    };
    
    在/var/named/下添加反向区域文件
    [root@bogon ~]# vim /var/named/ywnds
    $TTL 1D
    @       IN    SOA    dns.ywnds.com.    root.ywnds.com. (
                                            0      ; serial
                                            1D     ; refresh
                                            1H     ; retry
                                            1W     ; expire
                                            3H )   ; minimum
            IN    NS      dns.ywnds.com.
    200     IN    PTR     www.ywnds.com.
    100     IN    PTR     mail.ywnds.com.
    
    [root@bogon ~]# chown root:named /var/named/ywnds
    

    PS: 反向解析必须要写FQDN

    验证
    [root@bogon ~]# dig -x 192.168.60.200 @192.168.60.
    
  • 相关阅读:
    Qt数据库集成应用封装
    Qt个人研究进展
    Qt仿win7自动顶部最大化左侧右侧半屏效果
    Qt编写QUI皮肤生成器
    java定时任务
    进程间通信(java)--队列
    单例设计模式-java
    Java RMI
    远程调用方式概述
    IO模型-java版
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/10172094.html
Copyright © 2020-2023  润新知