设为首页 收藏本站
查看: 407|回复: 0

[经验分享] DNS如何实现域名解析

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-8-7 08:39:28 | 显示全部楼层 |阅读模式
  我们在浏览器的地址栏中输入: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
[iyunv@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记录。对于正向解析文件来说,每一个NS的FQDN都应该有一个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记录还有优先级属性
对于正向解析文件来说,每一个NS的FQDN都应该有一个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
[iyunv@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
[iyunv@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
[iyunv@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
[iyunv@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!!!!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-23319-1-1.html 上篇帖子: DNS之正反向解析和主从 下篇帖子: DNS详细配置 如何
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表