第13章、DNS服務(wù)
第十三章、DNS 服務(wù)一、 DNS 概述? 1、DNS 簡述 (Internet Domain Name System)DNS 中包含了用來按照一種分層結(jié)構(gòu)定義Internet 上使用主機名字的語法
第十三章、DNS 服務(wù)
一、 DNS 概述
? 1、DNS 簡述 (Internet Domain Name System)
DNS 中包含了用來按照一種分層結(jié)構(gòu)定義Internet 上使用主機名字的語法,還有名字的授權(quán)規(guī)則,以及為了定義名字和IP 地址的對應(yīng),系統(tǒng)需要進行的所有設(shè)置。 實際上,DNS 就是一個分布式數(shù)據(jù)庫。它允許對整個數(shù)據(jù)庫的各個部分進行本地控制,同時整個網(wǎng)絡(luò)也能通過客戶機/服務(wù)器的訪問方式訪問每個部分的數(shù)據(jù),借助備份和緩存機制,來獲得更高可用性和擁有足夠的性能。
DNS 數(shù)據(jù)庫就像一棵倒掛著的樹。這棵逆向著的樹就稱為域名空間。樹的最大深度不得超過127層,樹中每個節(jié)點都有一個可以長達63個字符的文本標號。
? 域——整個的域名空間可根據(jù)組織劃分或管理分類,組織成一個梳狀結(jié)構(gòu),輸上的每一個節(jié)點叫做domain ,是一個標識。
域名—— 一個domain 的名字就是從根(. )開始,到當前節(jié)點的所有domain 標
標志才能夠唯一。例如Cisco com 就是support.cisco.com 的頂級域,cisco 是com 的子域,support 是主機名。 ? 3、zone 和domain 的不同
,? 4、域名服務(wù)器的類型
主域名服務(wù)器 (master server)
master server是一個domain 信息的最根本的來源,它所裝載的域信息來源于域管理員所創(chuàng)建的磁盤文件,通過本地維護,更新有關(guān)服務(wù)器授權(quán)管理域的最精確信息。它具有最權(quán)威的回答,完成任何關(guān)于授權(quán)管理的域的查詢。
輔助域名服務(wù)器(slave server)
從主域名服務(wù)器上獲得域信息的完整集合。域文件是從主域名服務(wù)器傳過來并以本地文件形式存儲在輔助域名服務(wù)器的磁盤上的,輔助域名服務(wù)器保留了一份本域信息的完整副本,也能以授權(quán)的方式回答用戶的查詢。因而,輔助域名服務(wù)器具有主域名服務(wù)器的部分功能。
高速緩存域名服務(wù)器(caching only server)
緩存服務(wù)器可以將它收到的信息存儲下來,并再將其提供給其他的用戶進行查詢,直到這些信息過期。它的配置中沒有任何本地的授權(quán)域的配置信息。它可以響應(yīng)用戶的請求,并詢問其他授權(quán)的域名服務(wù)器,從而得到回答用戶的請求的信息。
這個服務(wù)器通常也被稱作遞歸查詢服務(wù)器(recursive name server),他為本地客戶執(zhí)行遞歸查詢。為了提高性能,遞歸查詢服務(wù)器會保存查詢到的結(jié)果。
轉(zhuǎn)發(fā)服務(wù)器(forwarding server)
所有非本域的和在緩存中無法找到的域名查詢都將轉(zhuǎn)發(fā)到指定的外部DNS 服務(wù)器上,由這臺外部DNS 服務(wù)器來完成解析工作并返回給轉(zhuǎn)發(fā)服務(wù)器緩存,因此轉(zhuǎn)發(fā)服務(wù)器的緩存中記錄了豐富的域名信息。因而對非本域的查詢,很可能轉(zhuǎn)發(fā)器就可以在緩存中找到答案,避免了再次向外部發(fā)送查詢,減少了流量。
轉(zhuǎn)發(fā)服務(wù)器典型的應(yīng)用是,用于用戶不希望站點內(nèi)的服務(wù)器直接和外部服務(wù)器通信的情況下。典型環(huán)境包括一組私用服務(wù)器和一個網(wǎng)絡(luò)防火墻,私用服務(wù)器不能透過防火墻向因特網(wǎng)上的DNS 服務(wù)器提交域名請求,它就會向可以解析域名的轉(zhuǎn)發(fā)服務(wù)器提交查詢,轉(zhuǎn)發(fā)服務(wù)器就會代表內(nèi)部私用服務(wù)器詢問因特網(wǎng)上的DNS 服務(wù)器,并將查詢到的結(jié)果返還給私用服務(wù)器。
二、 配置DNS 服務(wù)
? 1、BIND 簡介
在Linux 系統(tǒng)中,DNS 是由Berkeley 的BIND (Berkeley Internet Name Domain)軟件實現(xiàn)的
BIND 是一項開源項目
BIND 被多數(shù)UNIX 及類UNIX 廠商所采用
根據(jù)Internet 軟件協(xié)會(ISC )對BIND 所下的定義,在BIND 中包含以下3種元件: ? DNS 服務(wù)器軟件
? DNS Resolver函數(shù)庫
? DNS 工具
? 2、安裝軟件包
? 配置DNS 服務(wù)有兩個配置文件(主配置文件、區(qū)域文件)
1、主配置文件(/etc/named.conf) ○
最基本的配置如下:
2、區(qū)域文件 (/var/named)目錄下 ○
在 /var/named目錄下手工創(chuàng)建一個名字與主配置文件里指定的區(qū)域文件相同的文件。并編輯它,我們在這就起名為“baidu.txt ”。
括號里的5行數(shù)字代表的含義:
1、serial :(20090130)這個區(qū)域信息文件的版本號,它是一個整數(shù)。輔助域名服務(wù)器用
它來確定這個區(qū)域文件是何時改變的。每次改變信息文件時,都應(yīng)該把這個數(shù)加1。
2、refresh :(1D )主——輔,服務(wù)器多長時間同步更新一次。
輔助域名服務(wù)器在試圖檢查主域名服務(wù)器的SOA 記錄之前應(yīng)等待的秒數(shù)。SOA
記錄不經(jīng)常改變,一次可以把這個值設(shè)置一天。
3、retry :( 5000)輔助服務(wù)器在主服務(wù)器不能使用時,重試對主服務(wù)器的請求應(yīng)等待的
秒數(shù)。也就是說主——輔服務(wù)器同步失敗后,多長時間再次同步。
4、expire :(30D )
這是輔助服務(wù)器在不能與主服務(wù)器取得聯(lián)系的情況下丟掉區(qū)信息之前
應(yīng)等待的時間,一般應(yīng)該在30天左右。就是放棄同步。
5、minimum :(864000)或(10D )當資源記錄沒有指定ttl 時默認的緩存值。如果網(wǎng)絡(luò)
沒有太大的變化,那么這個數(shù)可以設(shè)的很大??梢栽谫Y源記錄中指定一個ttl 值來代替它。
常用時間單位:hour (H )小時。
minute (M )分鐘。
sec (S )秒。在此不寫任何單位,默認就是以秒為單位。
day (D )天。
如果要增加反向解析就要在主配置文件/etc/named.conf里在添加一個zone 語句;在/var/named目錄里,也得手工在創(chuàng)建并編寫一個相應(yīng)的區(qū)域文件。
下圖是主配置文件named.conf 里面加的語句:
,下圖是創(chuàng)建的一個反向解析的區(qū)域文件的配置:
如果要在此DNS 服務(wù)器上解析另外一個域名,就在主配置文件named.conf
中再增加一條zone 語句,同時/var/named目錄下也得相應(yīng)的增加一條區(qū)域文件。依次可以添加無數(shù)個要解析的域名。
下圖是主配置文件named.conf 添加的zone 語句:
下圖是為“yanbo.com ”此域名編寫的區(qū)域文件,在IP 為“192.168.1.8”主機上:
,? 4、配置輔助DNS 區(qū)域服務(wù)器
在另外一臺想要作為輔助DNS 服務(wù)器上,編輯DNS 服務(wù)配置文件/etc/named.conf。
會自動同步過去。
◆ 一定要讓系統(tǒng)named 用戶對named 目錄和其子目錄有rwx 的權(quán)限!?。?/p>
也可以跟Windows 2003 互作 主——輔,服務(wù)器。
? 5、配置動態(tài)DNS (DDNS )
步驟1:
上面字段中紅色的字符都是加上的,添加的allow-update 語句指向的是DHCP 服務(wù)器的IP 地址。是允許更新的意思。
步驟2:
為DNS 服務(wù)器創(chuàng)建區(qū)域文件。此文件默認是沒有的,需要手工創(chuàng)建。 # vim
/var/named/baidu.txt
? 管理員只需將網(wǎng)關(guān)內(nèi)關(guān)鍵的服務(wù)(如mail 、ftp 等)的記錄寫入?yún)^(qū)域文件即可。
? 動態(tài)DNS 允許用戶主機在獲得IP 地址時將自身的域名發(fā)給DHCP 服務(wù)器,并由DHCP
服務(wù),將其域名與IP 地址向DNS 提交,最后由DNS 服務(wù)在正向與反向解析區(qū)域文件中添加或修改相關(guān)的資源記錄,并在地址釋放時刪除該記錄。
步驟3:
修改DHCP 服務(wù)的主配置文件 /etc/dhcpd.conf
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers
192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.200;
ddns-domainname “baidu.com ”;
range dynamic-bootp 192.168.2.50 192.168.2.90;
default-lease-time 864000;
max-lease-time 1728000;
}
subnet 192.168.3.0 netmask 255.255.255.0 {
option routers 192.168.3.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.200;
range dynamic-bootp 192.168.3.50 192.168.3.90;
default-lease-time 864000;
max-lease-time 1728000;
}
zone baidu.com {
primary 192.168.1.200;
}
zone 1.168.192.in-addr.arpa. {
primary 192.168.1.200;
}
上面的配置例子中:紅色的是作動態(tài)DNS 添加的語句。一個動態(tài)DNS 只能動態(tài)解析一個域名,我試了,下面的截圖中就把第二個要解析的域名注釋掉了。zone 語句的baidu.com. ”com ”后面加點不加 都可以,書上說得加,我作了不加也可以。
,步驟4:
修改 /var/named 目錄的權(quán)限。因為動態(tài)更新會使DNS 守護進程產(chǎn)生臨時數(shù)據(jù),這些數(shù)據(jù)會保存在以“原區(qū)域文件.jnl ”文件中,并且這些數(shù)據(jù)會在15分鐘后覆蓋原區(qū)域文件,因此有必要修改目錄的訪問權(quán)限是守護進程有權(quán)寫入數(shù)據(jù)。其實就是讓named 用戶對 /var/named 目錄有讀寫權(quán)限。
步驟5:
重新啟動DHCP 服務(wù)和DNS 服務(wù)。 # service dhcpd restart
# service named restart
步驟6:
在Linux 客戶端主機中,只需要簡單地輸入一條下面的命令就可以在服務(wù)端產(chǎn)生更新記錄: # dhclient -H pc3
# dhclient eth0 -H
( pc3在這可以是用戶隨便起的一個名字)
6、配置DNS 轉(zhuǎn)發(fā)服務(wù)器(forward )
一個轉(zhuǎn)發(fā)域是在每個域基礎(chǔ)上進行配置轉(zhuǎn)發(fā)的一種方式。在本機上沒有區(qū)域文件。
,三、 檢查DNS 服務(wù)啟動情況
? 1、檢查進程
# ps aux
|grep named
? 2、檢查端口
# netstat -naut |grep 53
四、 DNS 服務(wù)的日志信息
查看 /etc/named.caching-nameserver.conf獲得日志文件的存放位置:
/var/named/data/named.run
五、 診斷工具
診斷工具包含在bind-utils-9.3.3.-7.el5中,其中常用的有nslookup 、host 、dig 。 ? 1、nslookup (有兩種模式:交互模式和非交互模式)