码迷,mamicode.com
首页 > 系统相关 > 详细

[ Linux学习 ] DNS基础

时间:2018-03-21 15:01:03      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:Linux   DNS   基础知识   

这是以前学些Linux的时候记录的内容,最近在写这方面的培训教材,又翻出来熟悉了一遍,由于之前是记录在本子上的,也没有时间整理,现在刚好借此机会重新整理一下。

DNS

BIND is open source software that enables you to publish your Domain Name System (DNS) information on the Internet, and to resolve DNS queries for your users. The name BIND stands for “Berkeley Internet Name Domain”, because the software originated in the early 1980s at the University of California at Berkeley.

BIND is by far the most widely used DNS software on the Internet, providing a robust and stable platform on top of which organizations can build distributed computing systems with the knowledge that those systems are fully compliant with published DNS standards.

  1. DNS简介
    域名服务,Domain Name Service
    域名:abc.com
    FQDN: Full Qulified Domain Name 完全限定域名

同时带有主机名和域名的名称。(通过符号“.”)
www.abc.com(FQDN,主机名)
全限定域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。
从全限定域名中包含的信息可以看出主机在域名树中的位置。

DNS解析流程:
(1) 首先查找本机HOSTS表,有的直接使用表中定义
(2) 如果Hosts文件里没有,就查找本机配置中指定的DNS 服务器,由DNS服务器来解析IP地址。

hosts:早期的时候主机加入互联网较少,所以用文件来记载所有的域名解析。每台互联网主机上都维护一个hosts文件,来记录互联网的这些域名的ip地址,形式如下:
IPADDR FQDN Alias
172.16.0.1 www.abc.com www

随着互联网的扩大,需要有一个组织统一去管理这些域名和IP地址的对应关系,这个组织叫IANA

IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)是负责协调一些使Internet正常运作的机构。

IANA的所有任务可以大致分为三个类型:
一、域名。IANA管理DNS域名根和.int,.arpa域名以及IDN(国际化域名)资源。
二、数字资源。IANA协调全球IP和AS(自治系统)号并将它们提供给各区域Internet注册机构。
三、协议分配。IANA与各标准化组织一同管理协议编号系统。
IANA是全球最早的Internet机构之一,其历史可以追溯到1970年。
今天,IANA被负责协调IANA责任范围的非营利机构ICANN(Internet Corporation for Assigned Names and Numbers,互联网名称与数字地址分配机构)掌管。

DNS发展历程:
1)周期性任务,更新自己的hosts文件。每个互联网主机都维护自己的hosts文件,IANA维护着互联网所有的域名,这些主机通过创建周期任务的方式去IANA的服务器上下载文件来更新自己的hosts。
2)IANA创建了服务器,用服务器来响应客户端的请求。但随着互联网的壮大,访问量越来越大,导致IANA的服务器不堪重负。
3)IANA分布式数据库。将管理权限分片,把大区域划分为小区域,逐级授权。
比如China, Shanghai, Xuhui, West Zhongshan Road, 2240号, netcraft

域名的分类:
顶级域(TLD):Top Level Domain
组织域:.com .org .net .cc
国家域:.cn .iq .jp .uk
反向域:IP-->FQDN

DNS的查询方式:
递归:一次查询得到结果

A <- -> B (B问C结果) <- -> C
A -> B -> C -> B -> A

迭代:多次查询得到结果

    A -> B---告诉A,C知道结果---B -> A 
    A -> C -> A

DNS查询原理:
根服务器. 不给任何人递归
互联网上的dns查询是两段式的:
1)对于客户端来说,查询是递归的;
2)对于ns缓存服务器来说,查询过程是迭代的。

中国防火墙之父:北邮教授,方滨兴
2011年5月19日,在武大讲课时被学生扔鞋。

网易新闻:2013年3月民主×××宣布对全球最受欢迎的社交网站Facebook解禁,目前全球仅剩4个国家仍然对Facebook实施封锁,他们分别是朝鲜、古巴、伊朗,和“其他国家”。

现在世界上有13台DNS服务器:
a.root-server.net
......
m.root-server.net

使用dig命令查询根服务器结果:

-userdeMacBook-Air:~ user$ dig

; <<>> DiG 9.9.7-P3 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16139
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;.              IN  NS

;; ANSWER SECTION:
.           97216   IN  NS  k.root-servers.net.
.           97216   IN  NS  e.root-servers.net.
.           97216   IN  NS  a.root-servers.net.
.           97216   IN  NS  f.root-servers.net.
.           97216   IN  NS  m.root-servers.net.
.           97216   IN  NS  l.root-servers.net.
.           97216   IN  NS  c.root-servers.net.
.           97216   IN  NS  h.root-servers.net.
.           97216   IN  NS  b.root-servers.net.
.           97216   IN  NS  i.root-servers.net.
.           97216   IN  NS  g.root-servers.net.
.           97216   IN  NS  j.root-servers.net.
.           97216   IN  NS  d.root-servers.net.

;; ADDITIONAL SECTION:
i.root-servers.net. 361857  IN  A   192.36.148.17
i.root-servers.net. 361857  IN  AAAA    2001:7fe::53
d.root-servers.net. 361857  IN  A   199.7.91.13
d.root-servers.net. 361857  IN  AAAA    2001:500:2d::d
e.root-servers.net. 361857  IN  A   192.203.230.10
e.root-servers.net. 361857  IN  AAAA    2001:500:a8::e
c.root-servers.net. 361857  IN  A   192.33.4.12
c.root-servers.net. 361857  IN  AAAA    2001:500:2::c
k.root-servers.net. 361857  IN  A   193.0.14.129
k.root-servers.net. 361857  IN  AAAA    2001:7fd::1
g.root-servers.net. 361857  IN  A   192.112.36.4
g.root-servers.net. 361857  IN  AAAA    2001:500:12::d0d
j.root-servers.net.     361857  IN  A   192.58.128.30
j.root-servers.net.     361857  IN  AAAA    2001:503:c27::2:30
a.root-servers.net. 361857  IN  A   198.41.0.4
a.root-servers.net. 361857  IN  AAAA    2001:503:ba3e::2:30
l.root-servers.net.     361857  IN  A   199.7.83.42
l.root-servers.net.     361857  IN  AAAA    2001:500:9f::42
b.root-servers.net. 361857  IN  A   199.9.14.201
b.root-servers.net. 361857  IN  AAAA    2001:500:200::b
f.root-servers.net.     361857  IN  A   192.5.5.241
f.root-servers.net.     361857  IN  AAAA    2001:500:2f::f
m.root-servers.net. 361857  IN  A   202.12.27.33
m.root-servers.net. 361857  IN  AAAA    2001:dc3::35
h.root-servers.net. 361857  IN  A   198.97.190.53
h.root-servers.net. 361857  IN  AAAA    2001:500:1::53

;; Query time: 3 msec
;; SERVER: 192.168.1.62#53(192.168.1.62)
;; WHEN: Wed Mar 21 10:59:59 CST 2018
;; MSG SIZE  rcvd: 811

DNS服务器常见类型:
主DNS服务器:数据修改
辅助DNS服务器:请求数据同步
Serial number: 版本号,最长10位
refresh: 检查间隔
retry: 重试时间
expire:过期时间(判断DNS主服务器是不是挂了)
nagative answer TTL: 否定回答的TTL值
缓存DNS服务器
转发器
RR:Resource Record,资源记录,在DNS数据库中的每一个条目被称作一个资源记录。
资源记录的格式:

    NAME        [TTL]       IN      RRT         VALUE
    www.abc.com         IN      A       1.1.1.1
        1.1.1.1                 IN      PTR     www.abc.com

资源记录类型:
1)A记录(address):FQDN -> IPv4,只能定义在正向文件中。
2)AAAA:FQDN -> IPv6,只能定义在正向文件中。
3)PTR(pointer):IP -> FQDN,只能定义在反向记录的指针
4)NS(Name Server):ZONE Name -> FQDN,可以定义在正向和反向文件中。

abc.com.    600     IN  NS  ns.abc.com.
ns.abc.com. 600     IN  A   1.1.1.2

5)MX(Mail Exchange):ZONE NAME -> FQDN,只能定义在正向文件中。

    abc.com.            IN  MX  10      mail.abc.com.
    mail.abc.com.  600  IN  A           1.1.1.3
10表示优先级,0-99,数字越小级别越高

6)SOA(Start Of Authority)起始授权记录,必须是第一条记录。

ZONE NAME   TTL     IN      SOA     FQDN    admin‘s mailbox(
                            Serial number:
                            refresh
                            retry
                            expire
                            na ttl )
可以写成一行,使用空格隔开。
时间单位:M 分钟,H 小时,D 天, W 周,默认是秒。
邮箱格式:admin@abc.com 应该写成 admin.abc.com
@有特殊意思:自引用,在named.conf中表示定义的zone名称。

例子:

    abc.com     600     IN  SOA   ns1.abc.com   admin.abc.com (
                                    2018080801
                                    1H
                                    5M
                                    1W
                                    1D )

7)CNAM:FQDN -> FQDN (Canonical NAME)别名记录
www2.abc.com IN CNAME www.abc.com
8)TXT,CHAOS,SRV

[ Linux学习 ] DNS基础

标签:Linux   DNS   基础知识   

原文地址:http://blog.51cto.com/6150141/2089334

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!