solaris
域名系統(tǒng)為一個分布式數(shù)據(jù)庫,它使本地負(fù)責(zé)控制整個分布式數(shù)據(jù)庫的部分段,每一段中的數(shù)據(jù)通過客戶,服務(wù)器模式在整個網(wǎng)絡(luò)上均可存取,通過采用復(fù)制技術(shù)和緩存技術(shù)使得整個數(shù)據(jù)庫可靠的同時,又擁有良好的性能。域名
域名系統(tǒng)為一個分布式數(shù)據(jù)庫,它使本地負(fù)責(zé)控制整個分布式數(shù)據(jù)庫的部分段,每一段中的數(shù)據(jù)通過客戶,服務(wù)器模式在整個網(wǎng)絡(luò)上均可存取,通過采用復(fù)制技術(shù)和緩存技術(shù)使得整個數(shù)據(jù)庫可靠的同時,又擁有良好的性能。域名服務(wù)器包含數(shù)據(jù)庫的部分段的信息,并可提供被稱之為解析器的客戶來訪問。
DNS 的數(shù)據(jù)庫結(jié)構(gòu)形成一個倒立的樹狀結(jié)構(gòu),根的名字用空字符串"" 來表示,但在文本中用"." 來書寫。樹的每一個節(jié)點(diǎn)都表示整個分布式數(shù)據(jù)庫中的一個分區(qū)(域) ,每個域可再進(jìn)一步劃分成子分區(qū)(域) ,每個域都有一個標(biāo)簽(LABEL),標(biāo)明了它與父域的關(guān)系。域也有一個域名(domain name),給出它在整個分布式數(shù)據(jù)庫中的位置。在DNS 中,域名全稱是一個從該域到根的標(biāo)簽序列,以"." 分隔這些標(biāo)簽。該標(biāo)簽最多可包含63個字符,樹中每一節(jié)點(diǎn)的完整域名為從該節(jié)點(diǎn)到根之間路徑上的標(biāo)簽序列。
如果根域在節(jié)點(diǎn)的域名中出現(xiàn),該名字看起來就象以點(diǎn)結(jié)尾(實際上是以點(diǎn)和空標(biāo)簽作結(jié)尾) 。這些以點(diǎn)結(jié)尾的域名被稱之為絕對域名(Absoulte Domain Name),不以點(diǎn)結(jié)尾的域名被稱之為相對域名。域名服務(wù)器的類型分為三種,下面簡單介紹之:
1)主域名服務(wù)器(master )
每個域都有一個主域名的權(quán)威,這個服務(wù)器在Internet 上注冊,使該域可見。主域名服務(wù)器是一個域或區(qū)域的管理權(quán)威。這個服務(wù)器的主要責(zé)任就是解析域或區(qū)域內(nèi)所有主機(jī)的名稱。可以使用一個或多個次域名服務(wù)器作為主域名服務(wù)器的備份。當(dāng)次域名服務(wù)器對主機(jī)名字記錄采取強(qiáng)制終止策略。
2)次域名服務(wù)器(slave)
一個或多個次域名服務(wù)器作為主域名服務(wù)器的備份,當(dāng)主域名服務(wù)器沒有響應(yīng)時使用次域名服務(wù)器,次域名服務(wù)器定期從主域名服務(wù)器復(fù)制數(shù)據(jù)庫文件。
3)緩存服務(wù)器(hint)
緩存服務(wù)器沒有任何數(shù)據(jù)庫文件。它主要用于使用其他的名字服務(wù)器解析遠(yuǎn)程網(wǎng)絡(luò)的主機(jī)名。它保存先前的解析主機(jī)記錄,并在下列情況下使用:
使用緩存來加速主機(jī)名的解析。
,為主域名服務(wù)器來擔(dān)任主機(jī)名解析任務(wù)。
在大型的網(wǎng)絡(luò)中減少網(wǎng)絡(luò)流量。
在這里只講企業(yè)網(wǎng)站的主域DNS 服務(wù)器創(chuàng)建,在后面的文章中我們會介紹其他各種DNS 服務(wù)器創(chuàng)建過程。
DNS 服務(wù)的最常用軟件是Berkeley Internet Name Domain,也就是BIND ,它源自U.C. Berkeley,但現(xiàn)在則由Internet Software Consortium.負(fù)責(zé)。BIND 提供了解析器和名字服務(wù)器軟件,解析器做實際的查詢工作而名字服務(wù)器則提供響應(yīng)。眾所周知,以前在internet 上用的DNS 系統(tǒng)是bind4, bind8是bind4的后一個版本。和bind4相比,bind8更完善,管理者能更充分的控制它的行為,但這兩者之間的差別還是很大的,變化的不僅是格式,也多了很多新的概念,其新版本
4.9.3包含了標(biāo)準(zhǔn)的 Unix版本和附加的Windows NT 端口。本文以BIND8為例介紹之。
域名解析的兩種方式:
名字到地址的解析(正向解析)
如:www.nangjing.org.cn ?
61.155.107.131
地址到名字的解析(反/逆向解析)
如:61.155.107.131?
www.nangjing.org.cn
企業(yè)網(wǎng)站考慮到系統(tǒng)的安全性,操作系統(tǒng)采用B 級Unix 系統(tǒng)如SUN 的Solaris 、IBM 的AIX 以及Red Hat Linux 等系統(tǒng),部分地使用C 級的Windows 2000/NT Server 操作系統(tǒng)。下面以Solaris8平臺的DNS 服務(wù)器創(chuàng)建為代表來介紹,供大家學(xué)習(xí)參考,其它平臺可以類比。
Solaris 平臺的DNS 服務(wù)器創(chuàng)建
BIND是Solaris 中最常用的DNS 服務(wù)器。它是以包形式提供的,一般在系統(tǒng)的初始配置過程中安裝,對于隨Solaris 8提供的BIND 8,主要配置文件是/etc/named.conf,BIND4 以及更早的版本使用名為/etc/named.boot的配置文件。/etc/named.conf 文件負(fù)責(zé)控制DNS 服務(wù)器的行為,它提供了以下關(guān)鍵詞,用來定義操作聲明:
acl ——定義一個訪問控制列表,哪些客戶可以使用該服務(wù)器。
include ——讀入一個包含聲明的外部文件,該文件使用與/etc/named.conf
,相同的格式。這在配置文件非常大時是很有用的,可以將不同的部分分成在邏輯上相關(guān)的幾個文件。
logging ——確定在聲明指定的日志文件中記錄哪些服務(wù)器活動。
options ——定義本地服務(wù)器的操作特征。
server ——定義其他服務(wù)器的操作特征。
zone ——創(chuàng)建本地DNS 區(qū)域。
在Solaris 中,in.named 為進(jìn)程域名服務(wù)器。通過網(wǎng)絡(luò)初始化腳本S72inetsvc 在level 2級上啟動的,啟動后,它讀取/etc/named.conf以獲取它所管理的區(qū)域和區(qū)域數(shù)據(jù)庫文件。區(qū)域文件除了包含主機(jī)名到IP 地址的映射外,還包含其他內(nèi)容。域名服務(wù)器的配置過程包括下列步驟:
1) 注冊一個域名
2) 創(chuàng)建一個主機(jī)名和ip 地址的列表
3) 創(chuàng)建/etc/named.conf文件
4) 創(chuàng)建區(qū)域數(shù)據(jù)文件
資源記錄類型
在區(qū)域數(shù)據(jù)文件中,信息是以特定的格式存儲的。這些信息被定義為資源記錄類型(RR )。常用的標(biāo)準(zhǔn)的資源記錄說明如下:
SOA (管理開始)資源記錄——在master file(就是bind4里的zone file)中用到。
NS (名字服務(wù)器)資源記錄——列出了域或區(qū)域中的名字服務(wù)器。
,A (地址)資源記錄——地址資源記錄用于說明DNS 數(shù)據(jù)庫中主機(jī)的IP 地址。它可能即使用到絕對主機(jī)名(FQHN ),也可能使用相對的主機(jī)名(短主機(jī)名)。
MX (郵件交換服務(wù)器)資源記錄——MX 資源記錄負(fù)責(zé)域內(nèi)的主機(jī)之間的郵件交換服務(wù)。
PTR (指示器)資源記錄——通常用于逆向主機(jī)名的解析。
CNAME —— 用于定義主機(jī)的別名。
(1)幾個必須的配置文件:
named.conf
named.ca
named.local
master file(就是bind4里的zone file) ---- 在本文中用nanjing.org.cn 和nanjing.org.cn.rev 兩個文件。
在這幾個配置文件中, 最主要的是named.conf ,在/etc下, 它是named 啟動時缺省的啟動文件。一個典型的named.conf 文件至少包括options 和z one ,如:
***//named.conf 文件內(nèi)容 ***
---------------------------------------------------------------
options {
directory "/var/named"; //數(shù)據(jù)庫文件的位置,要創(chuàng)建named 這個目錄, multiple-cnames yes;
pid-file "/etc/named.pid";
};
//type domin source host/file backup file
zone "." in {
type hint; //這里hint 表示為緩存服務(wù)器
file "named.ca";
};
zone "0.0.127.in-addr.arpa" in {
,type master; //這里master 表示為主dns server,
file "named.local";
};
zone "nanjing.org.cn" in {
type master;
file "nanjing.org.cn "; //這里的nanjing.org.cn 就是你要創(chuàng)建的域,正向解析 ,
};
zone "107.155.61.in-addr.arpa" in {
type master;
file "nanjing.org.cn.rev "; // 反向解析,域為107.155.61,
};
---------------------------------------------------------------------
在這里面,options 定義master file 存放的路徑,對應(yīng)于某一個域, na med 就會到這里找數(shù)據(jù)文件,如有一個www.nanjing.org.cn 的require 請求,named 就會到/var/named下找nanjing.org.cn 這個文件, 查出www.n anjing.org.cn 的ip 。Zone 定義一個域,如nanjing.org.cn 這個域,type 定義域名服務(wù)器的類型,master 說明這是一個主域名服務(wù)器,第一個zone 定義本地服務(wù)器為它自己的回送域的主服務(wù)器,將地址127.0.0.1映射為localh ost, 幾乎在所有類型的域名服務(wù)器里都可以看見這個域。第二個zone 用來定義一個高速緩存初始化文件,在named.ca 里至少包含著根服務(wù)器的名字和地址(這些根服務(wù)器也會變化). 一般named.ca 不需要修改,named.local 里只需要修改SOA 紀(jì)錄里域和聯(lián)系人。file 定義nanjing.org.cn 這個域的master f ile 。
在/var/named目錄下創(chuàng)建如下幾個數(shù)據(jù)庫與/etc/named.conf文件中相對應(yīng)文件named.ca ,named.local ,nanjing.org.cn 和 nanjing.org.cn.r ev 。
***// nanjing.org.cn 文件內(nèi)容 ***
-------------------------------------------------------------
@ IN SOA dns.nanjing.org.cn.
root.dns.nanjing.org.cn. (
2000120101 ; Serial Number
10800; Refresh after 3 hours
3600 ; Retry after 1 hour
3600000 ; Expire after 6 weeks
86400 ) ; Minimum TTL of 1 day
,IN NS dns
@ IN MX 10 mail
Localhost IN A 127.0.0.1
www IN A 61.155.107.131
dns IN A 61.155.107.131
mail IN A 61.155.107.132
ftp IN CNAME dns
-------------------------------------------------------------
這里面的@定義當(dāng)前域,也就是nanjing.org.cn., IN 定義這是一個inter -net 類型的紀(jì)錄,SOA (管理開始)標(biāo)志一個授權(quán)域的開始,dns.nanjing.or g.cn. 為開創(chuàng)該域的服務(wù)器,可以用主域名服務(wù)器,root.dns.nanjing.org.cn. 定義聯(lián)系人,root 后的. 就是email 里的@,括號里的幾個數(shù)字定義和本域有關(guān)的幾個參數(shù),單位是秒,前四個參數(shù)用于輔域名服務(wù)器更新master file ,其中; 后面的是說明,serial number 用于輔域名服務(wù)器判斷主域名服務(wù)器的 mast er file 是否更新,所以如果你有輔域名服務(wù)器,在每次修改 master file 后就應(yīng)該修改這個序列號,以便輔域名服務(wù)器更新這個域的master file. Refresh 定義輔域名服務(wù)器刷新的時間,retry 定義如果主服務(wù)器未響應(yīng),輔服務(wù)器重試的時間間隔,expire 定義這個域的過期時間,就是說如果輔服務(wù)器在連續(xù)42天里都沒有從主服務(wù)器取到該域的信息,輔服務(wù)器就丟棄該域。第五個參數(shù)定義這個域在其他域名服務(wù)器的cache 里的有效期,過了這個時間其他的域名服務(wù)器就會到這里來重新查詢相關(guān)的信息。
DNS 表明這個域的域名服務(wù)器是dns.nanjing.org.cn 。NS 紀(jì)錄可以有多個; @ IN MX 10 mail 表示:所有發(fā)給當(dāng)前域的郵件全部轉(zhuǎn)發(fā)到服務(wù)器mail 上。 Localhost 、www 、dns 和mail 這四條A 紀(jì)錄的含義是將localhost 解析到127.0.0.1 ;www.nanjing.org.cn 和dns.nanjing.org.cn 解析到61.155. 107.131;將mail.nanjing.org.cn 解析到61.155.107.132,定義ftp 的別名為dns 。
***// nanjing.org.cn.rev 文件內(nèi)容 ***
該文件存放從IP 地址到域名的映射信息,文件內(nèi)容:
-----------------------------------------------------------------
@ IN SOA dns.nanjing.org.cn.
root.dns.nanjing.org.cn. (
2000120101 ; Serial
10800 ; Refresh
1800 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS dns.nanjing.org.cn.
,131 IN PTR dns.nanjing.org.cn.
132 IN PTR mail.nanjing.org.cn.
------------------------------------------------
語法說明:
131 IN PTR dns.nanjing.org.cn.
表示:當(dāng)前域(即61.155.107) 中地址為 131的服務(wù)器的域名為dns.nanjing. org.cn.
132意義同上,表示的服務(wù)器的域名為mail.nanjing.org.cn.
注意,此處服務(wù)器的域名要用絕對域名
***// named.ca 文件內(nèi)容 ***
--------------------------------------------------------
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . "
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services ; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root
;
; last update: Aug 22, 2000
; related version of root zone: 2000082200
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET. ;
,; formerly NS1.ISI.EDU
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ;
; formerly C.PSI.NET
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ;
; formerly TERP.UMD.EDU
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ;
; formerly NS.NASA.ORG
;. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ;
; formerly NS.ISC.ORG
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ;
; formerly NS.NIC.DDN.MIL
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ;
; formerly AOS.ARL.ARMY.MIL
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ---------------------------------------------------------- 說明:named.ca 文件一般不需要修改。
***// named.local 文件內(nèi)容 ***
-----------------------------------------------
; SOA rec
@ IN SOA dns.nanjing.org.cn. root.nanjing.org.cn. ( 2000120101 ; serial number
10800 ; refresh every 3 hours
10800 ; retry every 3 hours
604800 ; expire after a week
86400 ; TTL of 1 day
)
; Name Servers
IN NS dns.nanjing.org.cn.
;ip mappings
,1 IN PTR localhost.nanjing.org.cn.
-----------------------------------------------
說明:此文件無太多的意義,只定義 IP 地址為127.0.0.1的服務(wù)器對應(yīng)的域名為:localhost 。
至此一個基本的主域名服務(wù)器就建立好了。但需要特別說明的是,在mast er file 里,dns.nanjing.org.cn. 后面的. ,這個. 表示這是一個完整的紀(jì)錄,否則服務(wù)器就會自動給你加上當(dāng)前域,例如:www 表示www.nanjing.org.c n ,而www.nanjing.org.cn 就會變成www.nanjing.org.cn.nanjing.org.c n, 正確的表示方法可以是www 或www.nanjing.org.cn. 如果不給這個. 足夠的重視,就很容易出錯。
和DNS 配置相關(guān)的文件
包括:/etc/defaultdomain、/etc/nsswitch.conf、/etc/resolv.conf 三個文件權(quán)限只需root 可讀即可。
1) /etc/defaultdomain
"/etc/defaultdomain"文件給出確省域名,該文件內(nèi)容為域名名稱,例如:
--------------------------------
nanjing.org.cn
---------------------------------
表示缺省域名為" nanjing.org.cn " ,以后僅使用某個主機(jī)名時,系統(tǒng)假設(shè)為缺省域中的主機(jī)。例如,"ping www" 將被理解為"ping www.nanjing.o rg.cn " 。
2) /etc/nsswitch.conf
如果使用DNS ,則必須在該文件的"HOST" 一項中給出"DNS" 。缺省為使用文件,即"FILES" ,該選項可以保留。
--------------------------------------------------------
# /etc/nsswitch.files:
# An example file that could be copied over to /etc/nsswitch.conf; it
# does not use any naming service.
,# "hosts:" and "services:" in this file are used only if the
# /etc/netconfig file has a "-" for nametoaddr_libs of "inet" trans ports.
passwd: files
group: files
hosts: files dns
networks: files
protocols: files
rpc: files
ethers: files
netmasks: files
bootparams: files
publickey: files
# At present there isn't a 'files' backend for netgroup; the system will
# figure it out pretty quickly, and won't use netgroups at all. netgroup: files
automount: files
aliases: files
services: files
sendmailvars: files
--------------------------------------------------------
hosts: files dns 表示:將使用/etc/inet/hosts文件解析主機(jī),如果無法解析主機(jī)名將使用DNS 。
3) /etc/resolv.conf
該文件給出域名和域名服務(wù)器地址。
----------------------------------------------------
; /etc/resolv.conf file
domain nanjing.org.cn ; 域名
nameserver 61.155.107.131 ; 域名服務(wù)器地址
; 域名服務(wù)器地址可以給出多個
不管是在局域網(wǎng)還是互聯(lián)網(wǎng)上,人們也都面臨著另外一個困惑:計算機(jī)在網(wǎng)絡(luò)上通訊時本來只能識別如“61.186.250.41”之類的數(shù)字地址,那么為什么當(dāng)我們打開瀏覽器,在地址欄中輸入如“www.popunet.com ”的域名后,就能看到我們所需要的頁面呢?
其實,上面的兩個問題,都只是一個IP 地址和域名相互“翻譯”的過程。前者得建立一個指向相應(yīng)IP 地址的域名映射記錄;對于后者,此記錄已經(jīng)建立