DNS如何实现域名解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

     我们在浏览器的地址栏中输入:http://www.sohu.com就可以浏览该网站的资源了,但是在互联网数据的传输、主机的识别依靠的是IP地址。也就是说,在互联网中能准确地把数据从一台主机路由到指定的主机依赖于逻辑地址IP。但是,我们平常浏览网页的时候,没有输入IP地址,只输入了http://www.sohu.com 就能够访问sohu的网页了,那又是为什么呢?

     其实,这背后是由:DNS域名解析服务器,把域名www.sohu.com 解析成对应的 IP 地址,然后浏览器就使用该IP地址访问服务器了。如果DNS域名解析服务器无法解析该域名,则你是无法访问该域名对应的主机的资源的。当然,你也可以在浏览器直接输入你要访问主机的IP地址,也是可以的。

DNS解析之前的步骤:

1
2
3
4
-------> 查找hosts文件
          -------> DNS缓存(DNS客户端)
                   --------> 查找DNS服务器缓存 
                            ---------> 由DNS服务器去解析如下图

wKioL1PiFyCgCSQAAAJtYAdqm6w831.jpg

说明:(这里略去国家域的解析)

1
2
3
4
5
6
7
8
9
10
11
12
1、  DNS客户端向DNS域名解析服务器(运营商DNS)发送域名www.9527du.com解析请求。
2、  运营商DNS收到请求后,发现【.com】该域并不在自己的解析能力范围内。
      把解析请求提交给根域。
3、  根域告诉运营商DNS,负责解析【.com】域的DNS服务器的地址
4、  运行商DNS服务器,从根域那里知道了负责【.com】域的DNS服务器的地址,
      就请求帮忙解析【9527.com】
5、  负责解析【.com】域的DNS服务器就告诉,运行商DNS负责【9527du】该域的DNS服务器的地址
6、  运行商DNS服务器,就向负责【9527du】域DNS服务器,请求解析【www】主机的地址
7、  负责解析【9527du】域的DNS,查找自己的A记录,确实有这www这台主机,
      就把该主机对应的IP地址,告诉运营商DNS服务器。
8、  运营商DNS服务器,就告诉自己的客户端你要解析的域名的IP地址是什么。
9、  DNS客户端(浏览器)就使用IP地址访问www.9527du.com这域名对应主机的资源了。

从上面,可以看出,域名解析也就是从域名找出,它所对应的IP地址。属于名称解析的一种。那么我们应该使用文件或数据库把域名与IP地址的对应关系存储起来,文件或数据库就被称为:解析库。

解析库的种类有:

1
2
3
4
5
6
1、文本文件
    查找速度慢,如果文本文件很大的知,把该文件加载入内存,才可以查找占用很大内存
2、基于关系型数据库
    可以通过一级索引,多级索引,加速数据的检索速度
3、LDAP:LightweightDirectory Access Protocol
    比关系型数据库的检索快100倍数据级。

我们的应用应该选择哪种解析库呢,视实际应用而定。

那么,DNS服务器是如何定义解析库的呢?

1
2
3
4
5
[root@stu13 ~] # vim/etc/named.rfc1912.zones
zone  "9527du.com"  IN {
        type  master;
        file  "9527du.zone" ;
};

说明:

Zone   关键字,是定义域的名称。域有嫡属关系的。如上图【.9527du】这个域是【.com】域的子             域,而【.com】域又属于根域的子域。所以,我们定义域的时候,要标明该域是属于那个             域的。如:.9727du.com.这也是域的层级结构决定的。我们只有了解域的层级才可以

          正确配置DNS服务器的。

Type   关键字,是定义负责该域解析的DNS服务器工作类型:主DNS还是slave DNS还是根:hint.

File   关键字,指定我们的解析库名称。该解析库是使用相对路径表示的,是相对于named工作                的目录而言的,工作目录在options{…};主配置段中使用:directory关键字来定义的。

    我们有了解析库了,就应该在解析库中定义要解析的内容了,也就是定义资源类型。那么DNS有那些资源类型呢,定义资源类型的格式又是什么样的呢?

1、  资源类型

1
2
3
4
5
6
7
8
9
10
11
(1)、SOA   Start  Of Authority 起始授权记录;
      作用:定义负责该区域zone的DNS域名解析的服务器的工作特征的。
      注意:一个区域文件中只能有一个 SOA 资源记录。
(2)、NS    Name Server 标识一个区域zone内,谁是DNS服务器。
(3)、MX   Mail  eXchange标明一个域内谁是邮件DSN 服务器。
           注意要指明优先级:[0-99]
(4)、A    address       A记录,专门用于正向解析库。
(5)、PTR   专用于反向解析库。FQDN-------> IP
            注意:A资源记录与PTR不能同时出现。
(6)、AAAA    专用于IPV6
(7)、CNAME   Canonical Name 别名记录

2、资源记录类型的格式;

1
2
Name   [ttl]     IN      RRType      value
        缓存时长       资源记录类型

(1)SOA   Start Of  Authority  起始授权记录

1
2
Name    当前区域的域名,也就是负责解析的区域zone..通常可以简写成:@
Value    负责解析该区域的DNS的FQDN,也可以是当前区域的区域名称。

例:

1
2
3
4
5
6
7
@   IN     SOA       ns.9527du.com.   admin.9527du.com. (
     serialnumber ; 解析库的版本号。分号为注释。每改变一次配置版本号要+1
     refreshtime ; DNS服务器是主从架构时,解析库数据同步的时间间隔
     retry  time  ; 当从服务器连接不到主服务器时,每隔多长时间联系一次。
     expiretime  ; 从服务器联系不到主服务器。从服务器帮助主服务器解析域名的时长
     negativeanswer ttl ; 否定答案(不能解析的域名)的统一缓存时长。
)

注意:任何解析库文件的第一个记录必须是SOA

(2)NS   name server

1
2
Name    DNS服务器负责解析的区域zone,,可以简写成:@
Value     DSN 服务器的FQDN

例:

1
@  IN    NS    ns.9527du.com.

注意:

如果有多台NS服务器,每一个都必须有对应的NS记录。对于正向解析文件来说,每一个NSFQDN都应该有一个A记录。

(3)MX: Mail eXchanger

1
2
name:  邮件DNS服务器负责解析的区域zone名称
value:  邮件服务器的FQDN

例:

1
2
@   IN   MX  10(优先级)   mail.9527du.com
@   IN   MX  20           mail2.9527du.com

注意:

    如果有多台MX服务器,每一个必须有对应的MX记录,但各MX记录还有优先级属性

对于正向解析文件来说,每一个NSFQDN都应该有一个A记录。

做为邮件的DNS服务器,必需有正反解的功能。

(4)A (Address):记录

1
2
Name     FQDN
Value     IP地址

例:

1
2
3
4
ns.9527du.com     IN   A     10.16.13.1
mail.9527du.com   IN   A     202.1.50.8
www.9527du.com    IN   A     202.1.50.8
bbs.9527du.com    IN   A      202.1.50.8

(5)CNAME:  Canonical Name

1
2
name:   FQDN
value:   FQDN

例:

1
web.8527du.com  IN  CNAME  www.9527du.com.

那如何配置DNS的正向解析功能呢?

1、  要先确定DNS服务器负责解析的区域?再定义DNS服务器的工作模式和解析库

负责解析:9527du.com该区域,该DNS工作在master,解析库文件为:9527du.zone

1
2
3
4
5
[root@stu13 ~] # vim/etc/named.rfc1912.zones
zone  "9527du.com"  IN {
        type  master;
        file  "9527du.zone" ;
};

2、在解析库9527du.com.zone中添加资源记录。

wKiom1PiJ_DSalx-AAENJYGxFx4834.jpg

3、使用【host】测试是否能够解析成功

1
2
3
4
5
6
7
8
[root@stu13~] # host -t A www.9527du.com 172.16.13.1
Usingdomain server:
Name:172.16.13.1
Address:172.16.13.1 #53
Aliases:
  
www.9527du.comhas address 172.16.249.50
www.9527du.comhas address 172.16.249.51


1
2
3
4
5
6
7
8
9
[root@stu13~] # host -t A web.9527du.com 172.16.13.1
Usingdomain server:
Name:172.16.13.1
Address:172.16.13.1 #53
Aliases:
  
web.9527du.comis an  alias  for  www.9527du.com.
www.9527du.comhas address 172.16.249.51
www.9527du.comhas address 172.16.249.50


1
2
3
4
5
6
7
[root@stu13~] # host -t A bbs.9527du.com 172.16.13.1
Usingdomain server:
Name:172.16.13.1
Address:172.16.13.1 #53
Aliases:
  
bbs.9527du.com has address 172.16.249.52

OK!!!!







     本文转自成长的小虫 51CTO博客,原文链接:http://blog.51cto.com/9528du/1536602,如需转载请自行联系原作者


相关文章
|
1月前
|
域名解析 缓存 网络协议
减少域名dns解析时间
域名解析中的TTL值设置多少合适
59 5
|
14天前
|
域名解析 弹性计算 安全
阿里云服务器租用、注册域名、备案及域名解析完整流程参考(图文教程)
对于很多初次建站的用户来说,选购云服务器和注册应及备案和域名解析步骤必须了解的,目前轻量云服务器2核2G68元一年,2核4G4M服务器298元一年,域名注册方面,阿里云推出域名1元购买活动,新用户注册com和cn域名2年首年仅需0元,xyz和top等域名首年仅需1元。对于建站的用户来说,购买完云服务器并注册好域名之后,下一步还需要操作备案和域名绑定。本文为大家展示阿里云服务器的购买流程,域名注册、绑定以及备案的完整流程,全文以图文教程形式为大家展示具体细节及注意事项,以供新手用户参考。
|
2月前
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
72 6
|
2月前
|
域名解析 网络协议 安全
反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性
在网络世界中,反向DNS解析是从IP地址到域名的映射,主要作用于验证和识别,提高通信来源的可信度和可追溯性。它在邮件服务器验证、网络安全等领域至关重要,帮助识别恶意行为,增强网络安全性。尽管存在配置错误等挑战,但正确管理下,反向DNS解析能显著提升网络环境的安全性和可靠性。
111 3
|
2月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
114 3
|
2月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
3月前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
73 4
|
3月前
|
域名解析 弹性计算
内网域?名解析记录是否会覆盖公网域名解析记录?
内网域?名解析记录是否会覆盖公网域名解析记录?
|
2月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
86 2
|
8天前
|
存储 设计模式 算法
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。 行为型模式分为: • 模板方法模式 • 策略模式 • 命令模式 • 职责链模式 • 状态模式 • 观察者模式 • 中介者模式 • 迭代器模式 • 访问者模式 • 备忘录模式 • 解释器模式
【23种设计模式·全精解析 | 行为型模式篇】11种行为型模式的结构概述、案例实现、优缺点、扩展对比、使用场景、源码解析

相关产品

  • 云解析DNS
  • 推荐镜像

    更多