zoukankan      html  css  js  c++  java
  • DNS域名解析

    查询配置

    查询域名对应的ip地址常用两种方式:文件和dns服务器

    • 文件
      在/etc/hosts中可配置ip和域名对,该文件中默认有127.0.0.1对应localhost。
    • DNS服务器
      DNS服务器有多级查询,这个在后面会介绍。

    除了上面两种方式外,还有不常用的方式,实际上可以控制ip地址的查询顺序,在/etx/nsswitch.conf文件中,默认是如下配置;

    hosts:          files mdns4_minimal [NOTFOUND=return] dns
    

    DNS查询

    有两种常见的命令查看DNS查询过程:dig和host。使用这两个命令时会自动跳过hosts文件。

    host www.baidu.com
    dig www.baidu.com
    

    现在,将域名进行分解,以www.baidu.com为例:

    • com:类别
    • baidu:域名
    • www:主机

    实际上后面还有一个'.'+根DNS服务器,默认不写,查询时从后往前查询。
    使用'+trace'参数显示完整查询路径。
    查询的方式有两种:迭代查询和递归查询。

    • 迭代查询

    在迭代查询中,首先发起请求的主机会请求本地DNS服务器,当无法解析域名是,本地DNS服务器请求根服务器。当根服务器也无法解析是,根服务器会把其它可以解析此域名的DNS服务器的ip地址返回给本地DNS服务器。本地DNS服务器再请求刚才返回的服务器,如果还是无法解析,则请求的服务器也会返回其它的服务器ip地址。当有服务器将解析的结果返回给本地DNS服务器,本地DNS服务器再将结果返回给发起请求的主机。

    • 递归查询

    与迭代查询不同的地方在于递归查询在DNS服务器无法解析域名时不会返回其它服务器的ip地址,而是自己向其它服务器发起请求。直到有主机可以解析该域名,然后逐级返回。

    资源记录

    在DNS服务器上,DNS信息通过一个叫作资源记录的格式进行保存。
    常用的属性有:

    • NAME
    • CLASS
    • TYPE
    • DATA
    NAME CLASS TYPE DATA
    www IN A 192.168.1.1
    mail IN A 192.168.1.2
    serverl IN CNAME www
    serverl IN MX mail.qq.com

    其中,CLASS主要是IN,表示Internet。
    资源记录类型TYPE有多种类型,如下:

    资源记录类型 表示内容
    A IPv4地址
    AAAA IPv6地址
    MX 邮件记录
    CNAME 别名
    PTR 指针(逆向解析)
    SRV 服务资源

    服务器类型

    • 主服务器
      一个域的主服务器保存该域的zone配置文件,该域的所有的配置、更改都在该服务器上进行。
    • 从服务器
      从服务器一般作为冗余负载使用,一个域的从服务器从该域的主服务器上抓取zone配置文件,从服务器不进行信息修改,所有的修改与主服务器同步。
    • 缓存服务器
      DNS从服务器不存在任何zone文件,仅仅依靠缓存为客户端提供服务,通常用于负载均衡加速使用。

    zone文件

    一个域通过一个zone文件保存该域的相关信息。
    常用如下几个命令获取相关信息:

    // 查询对应的邮件服务器
    dig -t MX mail.qq.com
    // 逆向解析
    dig -x mail.qq.com
    // 获取soa信息
    dig -t soa mail.qq.com
    
  • 相关阅读:
    Owin
    C#不区分大小写的字符串替换(Replace)函数
    如何创建测试程序调试nginx数据结构
    一张脑图说清 Nginx 的主流程
    gdb常用命令记录
    nginx的configure流程
    c 编译器大全
    PHP 的 uniqid 函数产生的 id 真的是唯一的么?
    UUID那些事
    PHP 编码规范
  • 原文地址:https://www.cnblogs.com/suraer/p/8567830.html
Copyright © 2011-2022 走看看