[ 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 周,默認是秒。
郵箱格式:[email protected] 應該寫成 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章