<转>详解DNS的常用记录(上):DNS系列之二

详解DNS的常用记录(上)

在上篇博文中,我们介绍了DNS服务器的体系结构,从中我们了解到如果我们希望注册一个域名,那么必须经过顶级域名服务器或其下级的域名服务器为我们申请的域名进行委派,把解析权委派到我们的DNS服务器上,这样我们才可以获得对所申请域名的解析权。本文中我们将再进一步,假设我们已经为公司成功申请了一个域名hexun.com,现在hexun.com的解析权被委派到公司的DNS服务器202.99.16.1,那我们在202.99.16.1服务器上该进行什么样的配置呢?

 安装DNS服务器

首先我们要在服务器上安装DNS组件,服务器的TCP/IP配置如下图所示。

安装DNS组件非常简单,依次点击 控制面板-添加或删除程序-添加/删除Windows组件-网络服务,如下图所示,选择“域名系统”即可。

 创建区域

DNS服务器创建完毕之后,我们接下来就要创建DNS区域了,区域是DNS服务器所负责的名称空间,DNS服务器有正向区域和反向区域,正向区域负责把域名解析为IP,而反向区域负责把IP解析为域名。

DNS区域有三种类型,正向区域,反向区域和存根区域。要理解区域类型,先要明白DNS服务器有主服务器和辅助服务器的区别。一般情况下,企业申请域名时会考虑配备两个DNS服务器,一个是主服务器,另一个是辅助服务器。一般的解析请求由主服务器负责,辅助服务器的数据是从主服务器复制而来的,辅助服务器的数据是只读的,当主服务器出现故障或由于负载太重无法响应客户机的解析请求时,辅助服务器会挺身而出担负起域名解析的任务。现在我们回过头来解释一下什么是主要区域,主服务器使用的区域就是主要区域,同样,辅助服务器使用的区域是辅助区域。存根区域可以看做是一个特殊的,简化的辅助区域,具体区别我们在后续博文中会加以介绍。

一般我们使用较多的是正向区域,而且从逻辑上考虑,必然是先创建主要区域,因为辅助区域和存根区域都需要从主要区域复制数据,因此我们现在的任务是要为区域hexun.com创建一个正向的主要区域。如下图所示,我们在DNS服务器上选择创建一个正向区域。

出现新建区域向导,点击下一步继续。

选择创建一个主要区域。

区域名称和申请的域名是一样的,hexun.com。

区域数据文件是hexun.com.dns,区域内的所有记录都存储在这个文件里,注意,这个文件我们以后会用到的。

向导询问是否允许区域动态更新,一般来说,如果DNS区域在企业内网使用,我们会允许动态更新;如果用于Internet,那么一般不需要动态更新。

如下图所示,区域创建完毕。

区域创建完毕之后,如下图所示,区域中只有一个NS记录和一个SOA记录,我们接下来要做的工作就是在区域中创建适当的DNS记录。

 创建记录

DNS记录是DNS区域数据的具体表现形式,我们接下来为大家介绍几种最常见的DNS记录,大家掌握了这些记录就可以基本掌握DNS的基本应用了。

1、  A记录

A记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少,例如,我们想通过A记录说明一台主机的域名是bbs.hexun.com,IP是202.99.16.185,那么我们就可以进行下列操作。如下图所示,我们在hexun.com区域中选择“新建主机”。

如下图所示,我们在A记录中说明了域名bbs.hexun.com对应的IP是202.99.16.185。其中提到了一个完全合格域名的概念,这里我们介绍一下。完全合格域名指的是点结尾的域名,例如bbs.hexun.com.就是一个完全合格域名。在一般的网络应用中,我们可以省略完全合格域名最右侧的点,但DNS对这个点不能随便省略。因为这个点代表了DNS的根,有了这个点,完全合格域名就可以表达为一个绝对路径,例如bbs.hexun.com.就可以表示为DNS根下的com子域下hexun.com域中一个名为bbs的主机。如果DNS发现一个域名不是以点结尾的完全合格域名,就会把这个域名加上当前的区域名称作为后缀,让其满足完全合格域名的形式需求。例如DNS会把域名bbs处理为bbs.hexun.com.。因此,如果要求输入完全合格域名,我们应该注意让域名以点结尾。

A记录的基本用法是描述域名和IP的对应关系,其实A记录还有一个高级用法,A记录有负载平衡的作用。DNS经常被用作一个低成本的负载平衡解决方案,主要就是依靠A记录来实现的。举个例子加以说明,例如我们有四个Web服务器共同负责[url]www.hexun.com[/url]这个网站,四个Web服务器的IP地址分别为202.99.16.81,202.99.16.82,202.99.16.83和202.99.16.84,那么我们就应该创建如下的主机记录。

以上我们用四条A记录分别描述了[url]www.hexun.com[/url]对应的四个IP,那么,到底如何利用这些IP来实现负载平衡呢?原理是这样的,客户机访问Web服务器一般都使用域名,因此需要利用DNS服务器把域名解析为IP。第一个客户机查询[url]www.hexun.com[/url]时,DNS服务器会告诉客户机这个域名对应的IP是202.99.16.81,第二个客户机来查询时DNS服务器就会把答案改为202.99.16.82,依此类推,DNS使用了“轮询”的技术把不同的访问用户导向了四个不同的Web服务器,这样就达到了一个简易负载平衡的效果。

我们可以通过一个简单的实验来验证一下DNS轮询的效果,如下图所示,我们在客户机上用ping [url]www.hexun.com[/url]的方式来查询域名对应的IP,但奇怪的是,客户机两次查询域名得到的是同一个结果,这时为什么呢?难道DNS轮询不起作用了吗?

其实并非DNS轮询出了问题,而是由于客户机有DNS缓存机制,当客户机第一次查询DNS服务器获得了域名对应的IP地址,客户机会把查询结果放入缓存,这样下次查询时就直接从缓存获取结果而不用去问DNS服务器了。明白了这个道理,我们只要用IPCONFIG/FLUSHDNS清除客户机的DNS缓存就可以继续实验了,实验结果如下图所示,我们可以看到DNS轮询已经发挥了作用。

2、  NS记录

NS记录和SOA记录是任何一个DNS区域都不可或缺的两条记录,NS记录也叫名称服务器记录,用于说明这个区域有哪些DNS服务器负责解析,SOA记录说明负责解析的DNS服务器中哪一个是主服务器。因此,任何一个DNS区域都不可能缺少这两条记录。

假设hexun.com区域有两个DNS服务器负责解析,ns1.hexun.com是主服务器,ns2.hexun.com是辅助服务器,ns1.hexun.com的ip是202.99.16.1,ns2.hexun.com的ip是202.99.16.2。那么我们应该创建两条NS记录,当然,NS记录依赖A记录的解析,我们首先应该为ns1.hexun.com和ns2.hexun.com创建两条A记录,创建的A记录如下图所示。

有了两条主机记录的支持,我们就可以编辑ns记录了,如下图所示,当前区域的ns记录是创建hexun.com区域时系统自动创建的。这条ns记录并不能正常工作,因为nsserver并不是一个可以解析的完全合格域名,因此我们删除这条记录,重新再创建两条NS记录。

如下图所示,我们创建一条ns记录,ns服务器的完全合格域名是ns1.hexun.com..,解析出的IP是202.99.16.1,这条记录说明有一个服务器ns1.hexun.com负责hexun.com的域名解析。

用同样方法创建ns2.hexun.com的ns记录,创建完成的结果如下图所示。

3、  SOA记录

NS记录说明了有两个DNS服务器负责hexun.com的域名解析,但哪个是主服务器呢?NS记录并没有说明,这个任务由SOA记录来完成。SOA记录也称为起始授权机构记录,SOA记录中负责说明哪个DNS服务器是主服务器,以及主服务器和辅助服务器之间的一些关联参数。如下图所示就是hexun.com的SOA记录,我们逐一进行分析。

首先我们要分析序列号,序列号反映了DNS服务器数据变化的次数,DNS服务器的数据每更新一次,序列号就加大一位。但我们仔细想想,对管理员来说,了解这个参数意义不大,因为DNS服务器到底是更新了10000次还是9999次对管理员来说并没有实质性的影响。实际上,这个参数是给辅助服务器使用的。我们前面提到,辅助服务器的数据都是从主服务器复制而来的,那么辅助服务器怎么判断主服务器的数据有没有进行更新呢?辅助服务器只要简单地检查一下主服务器的序列号就明白了,如果主服务器的序列号比辅助服务器的序列号大,那么辅助服务器就应该去主服务器进行增量更新了。

主服务器这个参数的重要性不言而喻,目前的SOA记录中主服务器参数是nsserver.,这并不是一个可以解析的完全合格域名,我们应该把主服务器改为ns1.hexun.com.,如下图所示,这才是正确的主服务器参数。可能大家会有疑问,为什么NS记录和SOA记录默认都是nsserver.,主要是因为nsserver.是这台DNS服务器的NETBIOS名称。

从上图可知,我们把SOA记录中的负责人参数改为了admin.hexun.com.,看起来象个主机的完全合格域名,其实意思是[email protected],是一个邮箱地址。那么为什么负责人这个参数不直接写成[email protected]呢?毕竟这样就好理解多了,这时因为@符号在DNS中有特殊含义,@在DNS中代表当前区域,也就是代表hexun.com,因此我们被迫把邮件地址写成了完全合格域名的格式。

刷新间隔指的是辅助服务器每隔15分钟联系一下主服务器,查看主服务器有无数据更新。重试间隔10分钟值的是如果辅助服务器和主服务器失去了联系,那么辅助服务器每隔10分钟联系一下主服务器,在此期间由辅助服务器负责当前区域的域名解析。过期时间是1天指的是如果辅助服务器过了一天还没有联系上主服务器,辅助服务器就会认为主服务器永远不会再回来了,自己的数据也没有保存的意义了,因此会宣布数据过期,并拒绝为用户继续提供解析服务。TTL一个小时指的是记录在DNS缓存中的生存时间是一个小时。

在本篇博文中我们介绍了DNS的三种记录,A记录,NS记录和SOA记录,从内容来看,显然对任何一个DNS区域来说都是必备的,下篇博文中我们将介绍MX,Cname,SRV和PTR记录。

本文出自 “岳雷的微软网络课堂” 博客,请务必保留此出处http://yuelei.blog.51cto.com/202879/106921

时间: 2024-12-19 16:21:16

<转>详解DNS的常用记录(上):DNS系列之二的相关文章

详解AJAX核心 —— XMLHttpRequest 对象 (上)

我要说的内容都是非常基础的内容,高手就免看了,如果看了欢迎给点意见啊.新手或者对低层还不是很了解的人可以看看,帮助理解与记忆. XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequest 对象使用不同的方法: 先看看IE创建XMLHttpRequest 对象的方法(方法1): var xmlht

NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用

图文详解OpenGL在Jetson TK1上的安装和使用 1.入门介绍与资源推介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口规格的专业的图形程序接口.它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库. OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机.PDA和游戏主机等嵌入式设备而设计.该API由Khronos集团定义推广,Khron

&lt;转&gt;详解DNS的常用记录(下):DNS系列之三

在上篇博文中我们介绍了DNS服务器中几种不可或缺的记录,包括A记录,NS记录和SOA记录.本篇博文中我们将继续为大家介绍DNS的另外几种常用记录,希望能对大家了解DNS有所帮助. 四 MX记录 MX记录也被称为邮件交换器记录,MX记录用于说明哪台服务器是当前区域的邮件服务器,例如在hexun.com区域中,mail.hexun.com是邮件服务器,而且IP地址是202.99.16.125.那么我们就可以在DNS服务器中进行下列处理: 1.  为邮件服务器创建A记录 如下图所示,我们首先为邮件服务

c#特性详解【含常用过滤器实例】

基础拾遗 基础拾遗------特性详解 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗------接口详解 基础拾遗------泛型详解 前言 本来7月份想着是用一个月把基础拾遗写完的,结果断断续续写了4个月了,才写了这几篇,这两天又规划着多写几篇,希望能坚持吧.两天一次和同事聊天竟然好多人都不知道,他们每天却都在用. 1.特性概念 特性(Attribute)是用于在运行时传递程序中各种元素(

CentOS DNS服务详解与基于bind的智能DNS

Linux中通常使用bind来实现DNS服务器的架设 安装bind 安装DNS服务软件Bind和相应工具包 #yum install bind bind-utils -y #service named start Generating /etc/rndc.key: [ OK ] Starting named: [ OK ] 资源记录类型 起始授权结构(SOA):指出当前区域内谁是 主DNS服务器 主机(A): 将域名FQND映射到IP 正向解析 别名(CNAME): 将A记录指向的域名 指向 另

Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递

[TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LESS.SASS 或 JavaScript |-- components // 用于自己编写的Vue组件,比如滚动组件,日历组件,分页组件 |-- layouts // 布局目录,用于组织应用的布局组件,不可更改. |-- middleware // 用于存放中间件 |-- pages // 用于存放

&lt;body&gt;标签详解与HTML常用的控制标记

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

三:python 对象类型详解一:数字(上)

一:python 的数字类型: a)整数和浮点数 b)复数 c)固定精度的十进制数 d)有理分数 e)集合 f)布尔类型 g)无穷的整数精度 h)各种数字内置函数和模块 二:各种数字类型的详解 1,数字常量:python提供了:整数(正整数和负整数)和浮点数(带有小数部分的数字).python还允许我们使用十六进制,八进制和二进制常量来表示整数,并且允许整数具有无穷的精度. (¥)内置数学工具和扩展:python提供了一系列处理数字对象的工具: a)表达式操作符:+,-,*,/,>>(右移),

Android进阶——Preference详解之Preference系的基本应用和管理(二)

引言 前面一篇文章Android进阶--Preference详解之初识Preference及Preference系(一)简单描述下了Preference的家族构成和基本知识,相信对于Preference早已不会陌生,肯定也跃跃欲试了吧,这篇文章就给大家总结下Preference.PreferenceActivity.PreferenceGroup.RingtonePreference的普通应用和管理,还有通过一些测试来验证一些机制和原理. 一.PreferenceActivity 1.Prefe