Bind DNS服務——基礎知識


Linux基礎——Bind DNS服務 Part0

DNS簡介

域名系統(英語:Domain Name System,縮寫:DNS)是互聯網的一項服務。它作為將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便地訪問互聯網。DNS使用TCP和UDP端口53。
在域名系統的層次結構中,各種域名都隸屬於域名系統根域的下級。域名的第一級是頂級域,它包括通用頂級域,例如.com、.net和.org;以及國家和地區頂級域,例如.us、.cn和.tk。頂級域名下一層是二級域名,一級一級地往下。
FQDN意為完全合格域名(Fully Qualified Domain Name),它指定了所有的域名級別,包括頂級域與根域。它不含歧義,只有一種解釋方式。根域沒有命名,所以一般為空,但在有的情況下它會表示成一個. 例如 www.google.com. (FQDN)。

DNS查詢過程

DNS查詢過程分為兩種,遞歸查詢與迭代查詢。現實中一般合用遞歸與迭代查詢。

遞歸查詢

查詢過程如下:

迭代查詢

查詢過程如下

實際應用

DNS記錄

DNS記錄包含了:

  • SOA記錄
  • NS記錄
  • A記錄
  • AAAA記錄
  • MX記錄
  • SRV記錄
  • PTR記錄
  • CNAME記錄
  • TXT記錄

SOA記錄

SOA記錄通常在集群中進行配置,它配置了區域傳送相關的數值,它包含了區域負責人的電子郵件地址和主要DNS服務器的名稱,每個區域都有SOA記錄。
它的結構如下圖:

$TTL 86400
@   IN  SOA     ns.icann.org. noc.dns.icann.org. (
        2020080302  ;Serial
        7200        ;Refresh
        3600        ;Retry
        1209600     ;Expire
        3600        ;Negative response caching TTL
)

Serial為該區域的序列號,用於在從服務器獲取主服務器SOA記錄時區別區域數據的新舊,從而決定啟用區域傳送。
Refresh為從服務器查詢主服務器SOA記錄來檢測服務器更改的間隔秒數。
Retry為如果主服務器沒有響應,從服務器重新向主服務器請求SOA記錄的秒數,必須小於Refresh。
Expire為如果主服務器沒有響應,從服務器停止響應該區域請求的秒數,該值必須大於Refresh與Retry的總和。
TTL為緩存的生存時間。

NS記錄

它指示那個DNS服務器對該域具有權威性(即哪個DNS服務器包含了實際的DNS記錄)。以讓客戶端進行訪問。
NS記錄不能指向CNAME記錄。

A記錄

將域名映射到IP地址的記錄。

AAAA記錄

將域名映射到IPV6地址的記錄。

MX記錄

指定郵件服務器負責接收該區域的電子郵件,它包含有優先級,優先級值越低則越優先。相同優先級則是負載均衡。

SRV記錄

用於指定服務的位置,部分網絡協議需要網絡支持SRV。
SRV記錄一般為如下形式:

_service._proto.name. TTL class SRV priority weight port target.
  • service:服務的名稱。
  • proto:服務所需要的傳輸協議。一般為TCP或UDP。
  • name:記錄有效的域名,以點結尾。
  • TTL:DNS緩存生存時間。
  • class:DNS類型字段(一般為IN)。
  • priority:主機優先級,值越低越優先。
  • weight:相同優先級的相對權重,值越高越有可能被選中。
  • port:需要在該服務器上找到服務器的TCP或UDP端口
  • target:提供服務的機器的FQDN,以點結尾。

PTR記錄

用於將IP地址映射到域名,IPV4的反向解析使用特殊域in-addr.arpa並需要將所在域的IP以正向解析相反的形式添加上去。
例如我需要查詢8.8.4.4的域名,則查找4.4.8.8.in-addr.arpa這個域。

CNAME記錄

指定了一個域名作為另一個域名的別名,CNAME記錄只能指向域名,不能指向IP地址。

TXT記錄

用於將文本與主機相關聯。在查詢該記錄是可以顯示指定文本。

區域類型

Bind軟件中包含的常用區域類型有:

  • Master
  • Hint
  • Slave
  • Forward
  • Stub

Master(主要區域)

表示服務器擁有該區域數據的主副本,能改為其提供權威答案

Slave(輔助區域)

該區域為主區域的復制品,Masters列表包含了一個或多個IP地址,從服務器則會向Masters列表中發出區域傳送的申請。

Stub(存根區域)

存根區域像一個輔助區域,但它只保存NS記錄。

Forward(轉發區域)

這個區域將會將所有查詢轉發到其他服務器。如果需要全局轉發,則還是需要在全局設置中配置全局轉發器。

Hint(根區域)

Bind9中包含了根服務器的列表,當服務器啟動時將自動查找根服務器並獲得最新的根服務器列表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM