■北京 趙琳
DNS 即Domain Name System(域 名系統(tǒng))的縮寫,它是一種將IP 地址轉(zhuǎn)換成對(duì)應(yīng)的主機(jī)名或?qū)⒅鳈C(jī)名轉(zhuǎn)換成與之相對(duì)應(yīng)IP 地址的一種機(jī)制。
圖1 修改主配置文件
通過(guò)局域網(wǎng)內(nèi)DNS服務(wù)器的搭建,讓局域網(wǎng)內(nèi)所有用戶的DNS 服務(wù)器地址都指向到這臺(tái)服務(wù)器上,通過(guò)這個(gè)本地的DNS 服務(wù)器來(lái)進(jìn)行解析,代替常用的DNS 服務(wù)器。
通過(guò)自定義自己內(nèi)部的域名,局域網(wǎng)內(nèi)所有用戶可以使用域名來(lái)訪問(wèn)局域網(wǎng)內(nèi)的服務(wù)器,這樣局域網(wǎng)內(nèi)的辦公系統(tǒng)、網(wǎng)站等等,都可以直接輸入網(wǎng)址進(jìn)行訪問(wèn)。
在安裝完BIND 后,系統(tǒng)會(huì)多一個(gè)用戶named。
對(duì)于BIND 服務(wù),需要配置的主要文件為/etc/named.conf。另外兩個(gè)文件,/etc/named.isc-dlv.key保存加密用,/etc/named.rfc1912.zones 擴(kuò)展配置文件。
在修改之前必須先進(jìn)行備份,命令:cp -p/etc/named.conf /etc/named.conf.bak
備份命令中,參數(shù)-p 表示備份文件與源文件的屬性一致。
vim/etc/named.conf修改文件。
常用主配置文件參數(shù)簡(jiǎn)介(options 塊):
(1)listen-on port:指定DNS 監(jiān)聽(tīng)的端口和地址。如果監(jiān)聽(tīng)在本機(jī)的所有地址,可以用any,如listen-on port 53 {172.17.100.1;}。
(2)listen-on-v6 port:指定DNS 監(jiān)聽(tīng)的IPV6 地址和端口,如listen-on-v6 port 53 {::1;}。
(3)directory:指定區(qū)域數(shù)據(jù)文件所在的路徑。默認(rèn)為"/var/named"。如果使用了chroot,則該路徑為相對(duì)路徑,為/var/named/chroot/var/named。
(4)query-source port:指定DNS 客戶端在查詢時(shí)必須使用的源端口。該參數(shù)通常不設(shè)置。
(5)allow-query:允許哪些客戶端進(jìn)行查詢,如果沒(méi)有定義此選項(xiàng),則表示允許所有的客戶端提交的DNS 查詢請(qǐng)求。如:allowquery {172.17.100.200;1 72.17.100.210;};則表示僅允許172.17.100.200 和172.17.100.210 這兩個(gè)客戶端提交的DNS 查詢請(qǐng)求。allow-query 由外向內(nèi)。通常都是使用any 參數(shù),允許所有的客戶端查詢。
(6)allow-recursion:允許哪些客戶端執(zhí)行遞歸查詢。如果該DNS 服務(wù)器不對(duì)外開(kāi)放,即不允許互聯(lián)網(wǎng)的用戶執(zhí)行查詢時(shí),則開(kāi)啟該選項(xiàng)。與allow-query 不同的是,不執(zhí)行客戶端提交的遞歸查詢。allow-query允許迭代查詢和遞歸查詢。allow-recursion 由內(nèi)向外,通常需要放行本地網(wǎng)段和127.0.0.0/8 的。
(7)recursion yes:默認(rèn)為yes,表示給所有的客戶端執(zhí)行遞歸。這樣就成為一個(gè)開(kāi)放的DNS 服務(wù)器。
(8)forwarders:指定轉(zhuǎn)發(fā)服務(wù)器。如果定義了多個(gè)轉(zhuǎn)發(fā)服務(wù)器,則依次進(jìn)行嘗試,直到獲得查詢信息為止。本地DNS 服務(wù)器會(huì)將查詢請(qǐng)求轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)服務(wù)器。如果該項(xiàng)目設(shè)置在區(qū)域定義之外的話,是對(duì)所有非本地區(qū)域的解析都轉(zhuǎn)發(fā)到指定的DNS服務(wù)器;如果定義在某個(gè)區(qū)域內(nèi),則是將對(duì)該區(qū)域的解析轉(zhuǎn)發(fā)到指定服務(wù)器。
(9)forward only|first:only 表示只將查詢請(qǐng)求轉(zhuǎn)發(fā)到所定義的轉(zhuǎn)發(fā)服務(wù)器,不通過(guò)本機(jī)查詢。first 表示先將查詢轉(zhuǎn)發(fā)到所定義的轉(zhuǎn)發(fā)服務(wù)器,如果沒(méi)有響應(yīng),則通過(guò)本機(jī)進(jìn)行迭代查詢。默認(rèn)為first。
(10)querylog:yes 啟用查詢?nèi)罩居涗浌δ?,no 關(guān)閉查詢?nèi)罩居涗浌δ堋?/p>
(11)allow-transfer:允許哪些slave DNS 服務(wù)器進(jìn)行區(qū)域傳輸。
(12)recursion:選項(xiàng)指定是否允許客戶端遞歸查詢其他域名服務(wù)器。如果希望對(duì)本地客戶端的查詢?cè)试S遞歸,但對(duì)來(lái)自外部的查詢請(qǐng)求禁止遞歸,可以通過(guò)“allow-recursion”選項(xiàng)進(jìn)行定義。allow-recursion選項(xiàng)可以指定一個(gè)允許執(zhí)行遞歸查詢操作的地址列表。
圖2 使用命令進(jìn)行配置
(13)transfersource x.x.x.x:指定slave 在向master 進(jìn)行區(qū)域傳輸時(shí)所使用的源地址。
(14)notify:是否啟用notify 功能。yes 表示當(dāng)Master 端數(shù)據(jù)修改時(shí),通知Slave 進(jìn)行區(qū)域傳輸,no 表示不通知slave。
(15)allow-update:是否允許通過(guò)DHCP 獲取IP 地址的機(jī)器動(dòng)態(tài)更新DNS 信息,none 表示不允許。
(16)dnssec-enable:設(shè)定BIND 是否支持DNSSEC,該技術(shù)并不對(duì)數(shù)據(jù)進(jìn)行加密,它只是驗(yàn)證所訪問(wèn)的站點(diǎn)地址是否有效,是一種端到端的安全協(xié)議,默認(rèn)為yes,在做子域授權(quán)時(shí),需要設(shè)置為no。
(17)dnssec-validatio n:默認(rèn)為yes,在做子域授權(quán)時(shí),需要設(shè)置為no。
修改內(nèi)容示例如下:
添加正向解析域cise.sdkd.net.cn;DNS 服務(wù)類型,默認(rèn)為master 即主服務(wù)器;其對(duì)應(yīng)的域解析文件是由file 指定的master.cise.sdkd.net.cn.zone
添加反向解析域163.168.192.in-addr.arpa;DNS 服務(wù)類型,默認(rèn)為master 即主服務(wù)器。
其對(duì)應(yīng)的域解析文件是由file 指定的163.168.192.in-addr.arpa.zone。
備注:Bind 可以使用的區(qū)域類型及其說(shuō)明如下:
master:主DNS區(qū)域。擁有該區(qū)域的區(qū)域數(shù)據(jù)文件,對(duì)該區(qū)域提供管理。
slave:從DNS 區(qū)域。擁有master 區(qū)域的區(qū)域數(shù)據(jù)文件的只讀副本,slave 區(qū)域從master 區(qū)域獲取所有的數(shù)據(jù),這個(gè)過(guò)程稱為區(qū)域傳輸。
forward:轉(zhuǎn)發(fā)區(qū)域。用于轉(zhuǎn)發(fā)DNS 客戶端的查詢。
stub:存根區(qū)域。和slave 區(qū)域類似,但是只復(fù)制master 區(qū)域的NS 記錄和NS記錄對(duì)應(yīng)的A 記錄。
hint:提示區(qū)域,定義根所在的位置,用于查找根DNS服務(wù)器的位置。
可以將模板文件復(fù)制一份,再進(jìn)行修改。
使用命令cp -p/var/named/named.localhost /var/named/master.cise.sdkd.net.cn.zone
進(jìn)入cise.sdkd.net.cn.zone 進(jìn)行配置,如圖2所示。
SOA 是 Start Of Authority(開(kāi)始驗(yàn)證)的意思,與域有關(guān),后面共會(huì)接7個(gè)參數(shù),這7 個(gè)參數(shù)的意義依次是:
(1)Master DNS 服務(wù)器主機(jī)名,即在這個(gè)域中哪個(gè)DNS 作為主服務(wù)器。
(2)管理員的Email。即出現(xiàn)問(wèn)題可給管理員發(fā)郵件。
(3)序號(hào)。這個(gè)序號(hào)代表這個(gè)數(shù)據(jù)庫(kù)檔案的陳舊,序號(hào)越大,代表越新。當(dāng)slave 要判斷是否主動(dòng)下載新的數(shù)據(jù)庫(kù)時(shí),就以序號(hào)是否比slave 上的還有新來(lái)判斷。
(4)刷新頻率(Refresh)。即slave 向master 要求數(shù)據(jù)更新的頻率。
(5)失敗重新嘗試時(shí)間(Retry)。如果因?yàn)槟承┮蛩?,?dǎo)致slave 無(wú)法對(duì)master 達(dá)成聯(lián)機(jī),那么在多久的時(shí)間內(nèi),slave 會(huì)嘗試重新聯(lián)機(jī)到master。
(6)失效時(shí)間(Expire)。如果一直失敗嘗試時(shí)間,持續(xù)聯(lián)機(jī)到達(dá)這個(gè)設(shè)定值時(shí)限,那么slave 將不再繼續(xù)嘗試聯(lián)機(jī)。
(7)存活時(shí)間(Minimum TTL)。如果在這個(gè)數(shù)據(jù)庫(kù)zone file 中,每筆記錄都沒(méi)有顯性設(shè)定TTL 存活時(shí)間的話,那么就以這個(gè)值為主。
備注:區(qū)域配置文件格式為:[名稱][TTL][網(wǎng)絡(luò)類型]資源記錄類型 數(shù)據(jù)
名稱:指定資源記錄引用的對(duì)象名,可以是主機(jī)名,也可以是域名。對(duì)象名可以是相對(duì)名稱也可以是完整名稱。完整名稱必須以點(diǎn)結(jié)尾。如果連續(xù)的幾條資源記錄類型是同一個(gè)對(duì)象名,則第一條資源記錄后的資源記錄可以省略對(duì)象名。相對(duì)名稱表示相對(duì)與當(dāng)前域名來(lái)說(shuō)的,如當(dāng)前域名為cise.sdkd.net.cn,則表示www 主機(jī)時(shí),完整名稱為www.cise.sdkd.net.cn.,相對(duì)名稱為www。
TTL:指定資源記錄存在緩存中的時(shí)間,單位為秒。如果該字段省略,則使用在文件開(kāi)始出的$TTL 所定義的時(shí)間。
網(wǎng)絡(luò)類型:常用的為IN。
資源記錄類型:常用的有SOA、NS、A、PTR、MX、CNAM E。
在定義資源記錄時(shí),一般情況下是SOA 記錄為第一行,NS 記錄第二行,接著是MX 記錄,其他的記錄可以隨便寫。
;:表示注釋。
():允許數(shù)據(jù)跨行。通常用于SOA 記錄。
@:表示當(dāng)前域。根據(jù)主配置文件zone 中所定義的區(qū)域名稱。
*:用于名稱字段的通配符。
$ORIGIN:ORIGIN 后面跟上的是字符串,即要補(bǔ)全的內(nèi)容。
這樣,如果黑客攻破了服務(wù)器,進(jìn)入到的就是在偽根目錄下,不會(huì)危害到真正的根目錄,這是一個(gè)安全措施。
偽根目錄:/var/named/chroot/etc/named.conf
在這個(gè)目錄下,會(huì)產(chǎn)生完整的BIND 服務(wù)的結(jié)構(gòu),進(jìn)到這個(gè)目錄下,會(huì)發(fā)現(xiàn)里面基本沒(méi)有文件,只有目錄文件夾,此時(shí)需要將真實(shí)的根目錄下BIND 的配置文件和一些需要的文件都復(fù)制一份到這個(gè)偽根下,或創(chuàng)建基礎(chǔ)文件,并給予相應(yīng)權(quán)限:
如果是一個(gè)比較大的局域網(wǎng),一臺(tái)主DNS 服務(wù)器顯然是不夠用的,此時(shí)就可以部署一臺(tái)或多臺(tái)從服務(wù)器來(lái)進(jìn)行冗余備份。
從服務(wù)器的搭建,前面與主服務(wù)器的相同,只是配置文件不同,因?yàn)閺姆?wù)器不能自己修改域配置,所有的域配置信息都是從主服務(wù)器上拉取過(guò)來(lái)的。
其他的與主服務(wù)器相同,正常啟動(dòng)服務(wù)就可以了,然后可以去salve/目錄下查看是否正常拉取了主服務(wù)器的配置文件。
DNS 緩存服務(wù)器通過(guò)向局域網(wǎng)用戶提供DNS 解析服務(wù),來(lái)減少對(duì)外網(wǎng)DNS 服務(wù)器訪問(wèn)的流量和時(shí)間。
DNS 緩存服務(wù)器所有的安裝步驟都和主服務(wù)器相同。只在配置文件上不一樣。緩存服務(wù)器只要不自己設(shè)置任何的域配置文件,則可以正常作為一個(gè)遞歸的DNS 服務(wù)器,緩存網(wǎng)絡(luò)上的DNS 信息供局域網(wǎng)用戶使用,從而加快響應(yīng)速度。
forwarders {114.114.1 14.114;};# 添加DNS 代理查詢地址,即本地找不到緩存就去這個(gè)地址查找。