本章內容包括
;數據庫資源記錄
資源記錄(ResourceRecord)簡稱RR
組成了域區文件的內容
是DNS的核心數據
顧名思義
資源記錄包含DNS應該知道的重要資源信息
這些資源就是其他的DNS服務器和主機
該節將說明主要的資源記錄類型並介紹它們的使用
;緩存文件
緩存文件(根提示)將標明根域名服務器
使得任何DNS服務器都能很容易地找到域名系統樹的根
該節介紹緩存文件
它的重要性以及如何使用
;委托授權
將你的主域名服務器向InterNIC注冊使得域外的需要訪問你的域名列表的客戶機可以連接到這台服務器
還可用域名服務器記錄(NS記錄)公布你的輔域名服務器
該節將解釋為什麼要公布授權服務器
如果DNS是有生命的
那麼有些事它是靠直覺完成的
而其他的功能是要靠學習才有的
本章將介紹DNS應完成的基本工作
即哪些DNS幾乎是靠直覺完成的事情(從它的域區文件裡得到資源信息)
還將介紹各種資源記錄的類型
可用來使DNS完成更高級的任務的滿足用戶的需要(路由郵件
服務定位信息以及利用密鑰交換來提高安全結構)
本章不涉及DNS最近才具有的新的動態升級功能
數據庫資源記錄
像任何其他數據庫一樣
DNS的體系結構也是由表組成的
每張表包含許多記錄
DNS數據庫表稱為域區文件(zonefile)
大多數記錄都有專門的含義
因為它們標識了許多資源的位置
它們甚至可以和其他表中的記錄相聯系
資源記錄類型包括授權開始記錄SOA(StartOfAuthority)
地址記錄A(Address)
指針記錄Ptr(Pointer)等
本章將在後面詳細地介紹各種資源記錄類型
附錄F
資源記錄和InterNIC緩存文件
提供了一個完整的資源記錄列表
在域區文件中能見到什麼樣的記錄取決於若干因素
首先要看是哪一種域區文件
若是正向查找域區和反向查找域區就很少有相同的記錄
另一個決定域區文件內容的因素是管理員想要發布或者是需要發布什麼信息
本節將詳細解釋各種重要的記錄類型
應該對它們都很了解
並知道它們是如何使用的
當把域區信息以文件形式存儲時
WindowsDNS把域區數據庫文件存放在%Windows\system
\dns目錄下
WindowsDNS也在
\samples子目錄下提供了若干模板文件以提供文件格式的例子
WindowsDNS服務器能在三處存儲配置信息和域區信息
配置信息一般存儲在注冊表裡
也能存儲在兼容BIND的引導文件裡(UNIX機器這樣做)
域區信息存儲在域區文件或活動目錄裡
DNS服務器引導配置信息在注冊表裡的位置是HKLM
System
CurrentControlset
Services
DNS
Zones
文件名為BOOT
不像UNIX的NAMED
BOOT文件
WindowsDNS服務器允許它的引導文件裡只有主服務器
輔服務器和緩存服務器的信息
圖
顯示了WindowsDNS服務器
Properties(屬性)
裡的
Advanced(高級)
選項卡
當
LoadZoneDataonstartup(啟動時載入域區數據)
選項設置為
FromFile(從文件)
時
注冊表信息就會自動產生一個引導文件
當變成
FromRegistry(從注冊表)
時
先前的引導文件移入
\backup子目錄下
不論是上述哪種情況
注冊表總是保持當前信息
這種改變是在
Apply(應用)
按鈕按下時即時生效的
這裡容易引起誤導的是
除非活動目錄被使用
否則總是用域區文件來存儲域區信息
盡管在圖
中有
FromActiveDirectoryandRegistry(從活動目錄和注冊表)
選項
域區文件(即真正的資源記錄)還是不存儲在注冊表裡
當域區信息存儲在活動目錄裡時
域區記錄通過LDAP協議傳送至可見的目錄對象
盡管這些域區記錄仍然用於任何輔服務器
但主服務器上不再存在域區文件
同時
也不再有
FromFile(從文件)
這個選項
WindowsDNS域區文件的格式是與RFC兼容的
並且本章中這樣的格式同樣應用於BIND域區文件和WindowsDNS文件
本章所包括的信息將比在WindowDNS管理界面所能看到的要多得多
這是因為實際的數據存儲比所能看到的要復雜得多
而在服務器中為盡量把事情簡單化則只需對配置的選項和缺省值進行選擇
RFC
RFCl
RFC
RFC
RFC
RFC
RFC
和RFC
(可從www
isi
edu找到)是根域資源記錄的最有權威的文件
當使用DNS服務器管理控制器時
WindowsDNS會自動格式化記錄
但如果使用引導文件選項並在WindowsDNS和BIND之間來回移動文件
則需要知道如何使用文本編輯器來格式化記錄以及如何讓Windows接受引導文件
WindowsDNS的一個出色的特征是它可以用DNS服務器管理控制台生成一個配置
然後把配置存進一個引導文件裡
顯然
如果想從WindowsDNS轉到基於UNIX/BIND的系統
這是很有幫助的
沒有別的更好的方法
資源記錄語法格式
以下的內容摘自RFC
由PaulMockapetris編寫
解釋了RR格式的語法(第
~
頁)
這些文件的格式是一系列的條目
條目基本上是以行為單位的
但也可以用括號來續行
並且續行文本的字符中可以包括CRLF(回車換行)
任何數量的Tab鍵和空格鍵的組合都相當於一個分隔符
用以分隔條目中的組成項
在主文件任何一行的後面都可以加注釋
注釋以分號
開始
定義以下條目
以上第一條定義空行
在文件的任何地方都可使用空行
空行可以帶注釋也可以不帶注釋
以上還定義了兩個控制條目
$ORIGIN和$INCLUDE
$ORIGIN後必須跟一個域名
其作用是將當前域設置為條目中所指定的域
$INCLUD條目將在當前域名文件中插入一個域名文件
$INCLUDE條目中的域名是任選項
目的是指定包含文件的當前域名
$INCLUDE條目也可以帶注釋
注意
不論$INCLUDE條目是否改變$INCLUDE文件的域
都不會改變父文件(當前文件)的當前域
後兩個條目代表RR(資源記錄)的格式
如果RR條目以空格開始
則這個RR是歸以上條目中最後指明的域所有
如果一個RR條目是由域名(<domain
name>)開始
則重新設定記錄的所有者
<rr>的內容可以有以下兩種格式
RR以可選項TTL和Class開始
然後是與類型(type)和類別(class)相應的type段和RDATA(記錄數據)段
class和type使用標准助記符
TTL是個十進數
若省略class和TTL的值
則缺省為最後一次曾指定的值
因為type和class的助記符是不會重復的
對它們的句法分析將是唯一的(這裡所列的順序和示例與實際資源記錄中的順序是不同的
這裡所列的順序更便於進行語法分析)
帶有<domain
name>的記錄將占主文件數據的絕大部分
域名的每一部分用字符串表示
並用
.
分開
域名中可以使用任何字符
以
.
結尾的域名稱為絕對域名
是完整的域名
不以
.
結尾的域名稱為相對域名
實際的域名是由相對域名和在$ORIGIN
$INCLUDE指定的源相連接後組成的
或者是主文件在調用例程時的目的參數
當沒有源可用時
相對域名則是一種錯誤
字符串<character
string>可用兩種方式來表示
可以是沒有內部空格的連續字符集
或者是用??括起來的字符集
這時的字符集可以用除了?以外的任何字符
如果要用?符
則必須和反斜槓\連用
這些文件都是文本文件
但有些字符或表示法有特殊的意義
特別是
表示根
@單獨的@符表示當前的源
\X這裡的X是除了
~
數字符以外的任意字符
這種表示法是要說明這裡的X符只是個普通的字符
而沒有任何特殊的含義
如?\
?就表示一般的
.
而不代表根
\DDD這裡的D是八進制數
DDD是相應十進制數的八進制表示
所得到的DDD也是作為文本
而沒有其他的意義
()括號用於括起跨行的數據
括號內若有行結束符
也不承認是行的結束
分號用來開始注釋
分號後的內容可以忽略
本章後面所描述的每種RR的語法表示和舉例均出自RFC
RFC
RFC
這些文檔是主文件格式的權威參考資料
不過
還是要提到一些資料
;資源記錄條目不區分大小寫
所以hostname=HOSTNAME=HOSTNAme
;在資源記錄的名字中
每個標號有
個字符長度的限制
每個全域名也不能超過
個字符
;服務資源記錄(SRV)中的下劃線
在RFC
目前的修訂本中被指定
也許是暫時的
在指定服務和協議域時使用
目前的RFC
bis草案意圖廢除
年
月
日的RFC
isdvaft
ictf=dnsind
ifc
bis
txt文件
;為了國際化
RFC
采用了標准的增加字符集的支持
它在RFC
後就被廢除了
RFC
中指定了UTF
標准
它並不是專門處理DNS的字符集
這個標准已經內置於Windows
DNS的資源記錄支持中了
下劃線使用WindowsNT中經常使用下劃線來命名模式
但是當把NetBIOS名字映射到DNS域名空間時就會有問題
Windows管理員必須認識到目前下劃線在DNS主機和域名字中是非法的
有些域名服務器僅僅不提倡使用下劃線
但有些服務器卻返回錯誤信息和拒絕查詢
在Windows
中
因為DNS和Windows名字空間必須相互緊密聯系
所以下劃線的使用是一個典型的問題
剩下的問題便是UTF
名字或像下劃線這樣的特殊字符的使用將給DNS服務器協同工作帶來麻煩
開始授權記錄SOA
開始授權記錄
一般稱為SOA記錄(Start
of
Authority)
是所有正向和反向域區文件中必要的第一個條目
由RFC
定義的SOA記錄提供了每個域需要的若干關鍵信息
最重要的是SOA記錄中指定了域的授權域名服務器
圖
l是SOA記錄的
DomainNameServerManagerProperties(DNS管理器屬性)
對話框
在服務器列表中雙擊域區圖標就可以打開該對話框
SOA記錄非常重要
它們包含以下各段(在圖
中可以看到其中的某些值)
以下的列表中給出了所有的段(但不一定和WindowsDNS管理器中所顯示的完全相同)
From:http://tw.wingwit.com/Article/Common/201311/4826.html