国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

DNS總結

DNS 名稱解析的查詢模式DNS 名稱解析的查詢模式1、遞歸查詢:當收到客戶端的遞歸查詢請求后,當前DNS 服務器只會向DNS 客戶端返回兩種信息:要么是在該DNS 服務器上查詢到的結果,要么是查詢失

DNS 名稱解析的查詢模式

DNS 名稱解析的查詢模式

1、遞歸查詢:當收到客戶端的遞歸查詢請求后,當前DNS 服務器只會向DNS 客戶端返回兩種信息:要么是在該DNS 服務器上查詢到的結果,要么是查詢失敗,如果當前DNS 服務器中無法解析名稱,它并不會主動告知DNS 客戶端其它可能的DNS 服務器,而是自行向其它DNS 服務器查詢并完成解析。如果其它DNS 服務器解析失敗,則DNS 服務器將向DNS 客戶端返回查詢失敗的消息。遞歸即是有來有往。

2、迭代查詢:迭代查詢通常在一臺DNS 服務器向另一臺DNS 服務器發(fā)出解析請求時使用。如果當前DNS 收到其它DNS 服務器發(fā)來的迭代查詢請求并且未能在本地查詢到所需要的數據,則當前DNS 服務器將告訴發(fā)起查詢的DNS 服務器另一臺DNS 服務器的IP 地址。然后,再由發(fā)起查詢的DNS 服務器自行向另一臺DNS 服務器發(fā)起查詢;依次類推,直到查詢到所需數據為止。如果到最后一臺DNS 服務器仍沒有查到所需數據,則通知最初發(fā)起查詢的DNS 服務器解析失敗。迭代的意思就是若在某地查不到,該地就會告知查詢者其它地方的地址。讓查詢轉到其它地方去查。

說白就是這樣:

1. 遞歸查詢:

一般客戶機和服務器之間屬遞歸查詢,即當客戶機向DNS 服務器發(fā)出請求后, 若DNS 服務器本身不能解析, 則會向另外的DNS 服務器發(fā)出查詢請求,得到結果后轉交給客戶機;

2. 迭代查詢(反復查詢):

一般DNS 服務器之間屬迭代查詢,如:若DNS2不能響應DNS1的請求,則它會將DNS3的IP 給DNS2,以便其再向DNS3發(fā)出請求;

舉例:比如學生問老師一個問題,王老師告訴他答案這之間的叫遞歸查詢。這期間也許王老師也不會,這時王老師問張老師,這之間的查詢叫迭代查詢!

Forwarder

為了提高我們這個DNS 服務器的查詢效率,我們會采取這樣的措施:把非本地域的解析請求轉發(fā)到我們的ISP 提供的DNS 。

這個功能是由forwarder 選項來完成的。所謂的 forwarder ,就是當某一臺 NS 主機遇到非本機負責的 zone ( slave zone 也屬于本機負責的范圍) 查詢請求的時候,將不直接向 root zone 查詢而把請求轉交給指定的 forwarder (一臺或多臺) 主機代為查詢。如果你不了解 DNS 的查詢模式,那么很難理解這個 forwarder 的意義和好處。

我們知道,當DNS 服務器接到客戶端主機的查詢請求時,首先會檢查這個查詢是否屬于本機管轄,否則將轉向 root zone 再逐級的查詢下去,最后再把查詢結果告訴客戶端。在這個過程之中,DNS 服務器還會將查詢到的結果存放到緩

,

存中。只要緩存中的 TTL 沒過期,在下次遇到同樣查詢的時候,就可以直接將結果響應給客戶端,而無需再重復上次的查詢流程。

如果DNS 服務器上指定了forwarder ,那這個 DNS 發(fā)現緩存中沒有記錄時,將不向 root 查詢,而是向 forwarder 送出同樣的請求(轉發(fā)),然后等待查詢結果,即把逐級往下查詢這個耗費精力的動作,交給 forwarder 負責。但無論這個結果是自己直接查詢得來的,還是 forwarder 送回來的,DNS 服務器都會保存一份數據在緩存中。這樣,以后的相同查詢就快多了,這對于DNS 所服務的客戶端而言查詢效率會提高很多。

forwarder 機制的好處并非僅是上面所提到的效率提升,對于整個網絡流量(尤其是對外的流量) 也是有幫助的。比方說,你的內部網絡需要 10 臺 DNS 來提供服務,你只需在某一臺能直接與外界溝通的計算機上架設 DNS 服務,然后將其它內部DNS 的 forwarder 指向該服務器就行了。這樣可能本來需要 10 次的 root 查詢,在 forwarders 的機制下,就只需 1 次而已。連同下層的往返查詢來計算的話,總體上所省下的對外查詢就更多了,再加上緩存帶來的好處,forwarder 所降低的 DNS 流量是非常顯著的。

事實上,在本章開始我們就提到如何集中管理內部局域網用戶域名解析問題,解決的方法就是:在本地DNS 的 forwarder 設定為 ISP 的 DNS ,局域網用戶把DNS 都設置成本地DNS 地址,在進行外部域名解析時,我們的DNS 把解析請求轉發(fā)給ISP 的DNS ;又因為 ISP 上的 DNS 也有緩存的關系,所以這樣設置查詢還可以提高速度。

羅嗦了半天,現在看看如何配置。具體的設置很簡單:在named.conf 的options 部分添加這樣一行:

forwarders { 211.136.17.107; 202.102.152.3; };

如此設置完畢,那么所有非本區(qū)域的查詢都會直接轉發(fā)到forwarders 指定的DNS 服務器上去。

§§ 測試DNS

在Linux 上我們可以用ping 、nslookup 、dig 、host 等命令來測試DNS 是否工作正常,這些小工具都很簡單,以host 為例:

[root@rh73 ']# host ns.silly.com

,

6.options 語句

options 語句的定義和使用:

options 語句用來設置可以被整個BIND 使用的全局選項。這個語句在每個配置文件中只有一處。如果出現多個options 語句,則第一個options 的配置有效,并且會產生一個警告信息。

如果沒有options 語句,則每個選項使用缺省值。

options {

[ version version_string; ]

[ directory path_name; ]

[ named-xfer path_name; ]

[ tkey-domain domainname; ]

[ tkey-dhkey key_name key_tag; ]

[ dump-file path_name; ]

[ memstatistics-file path_name; ]

[ pid-file path_name; ]

[ statistics-file path_name; ]

[ zone-statistics yes_or_no; ]

[ auth-nxdomain yes_or_no; ]

[ deallocate-on-exit yes_or_no; ]

[ dialup dialup_option; ]

[ fake-iquery yes_or_no; ]

[ fetch-glue yes_or_no; ]

,

[ has-old-clients yes_or_no; ]

[ host-statistics yes_or_no; ]

[ minimal-responses yes_or_no; ]

[ multiple-cnames yes_or_no; ]

[ notify yes_or_no | explicit; ]

[ recursion yes_or_no; ]

[ rfc2308-type1 yes_or_no; ]

[ use-id-pool yes_or_no; ]

[ maintain-ixfr-base yes_or_no; ]

[ forward ( only | first ); ]

[ forwarders { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]

[ check-names ( master | slave | response )( warn | fail | ignore ); ]

[ allow-notify { address_match_list }; ]

[ allow-query { address_match_list }; ]

[ allow-transfer { address_match_list }; ]

[ allow-recursion { address_match_list }; ]

[ allow-v6-synthesis { address_match_list }; ]

[ blackhole { address_match_list }; ]

[ listen-on [ port ip_port ] { address_match_list }; ]

[ listen-on-v6 [ port ip_port ] { address_match_list }; ]

[ query-source [ address ( ip_addr | * ) ] [ port ( ip_port | * ) ]; ]

[ max-transfer-time-in number; ]

,

[ max-transfer-time-out number; ]

[ max-transfer-idle-in number; ]

[ max-transfer-idle-out number; ]

[ tcp-clients number; ]

[ recursive-clients number; ]

[ serial-query-rate number; ]

[ serial-queries number; ]

[ transfer-format ( one-answer | many-answers ); ]

[ transfers-in number; ]

[ transfers-out number; ]

[ transfers-per-ns number; ]

[ transfer-source (ip4_addr | *) [port ip_port] ; ]

[ transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]

[ notify-source (ip4_addr | *) [port ip_port] ; ]

[ notify-source-v6 (ip6_addr | *) [port ip_port] ; ]

[ alsonotify { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]

[ max-ixfr-log-size number; ]

[ coresize size_spec ; ]

[ datasize size_spec ; ]

[ files size_spec ; ]

[ stacksize size_spec ; ]

[ cleaning-interval number; ]

,

[ heartbeat-interval number; ]

[ interface-interval number; ]

[ statistics-interval number; ]

[ topology { address_match_list }];

[ sortlist { address_match_list }];

[ rrset-order { order_spec ; [ order_spec ; ... ] } };

[ lame-ttl number; ]

[ max-ncache-ttl number; ]

[ max-cache-ttl number; ]

[ sig-validity-interval number ; ]

[ min-roots number; ]

[ use-ixfr yes_or_no ; ]

[ provide-ixfr yes_or_no; ]

[ request-ixfr yes_or_no; ]

[ treat-cr-as-space yes_or_no ; ]

[ min-refresh-time number ; ]

[ max-refresh-time number ; ]

[ min-retry-time number ; ]

[ max-retry-time number ; ]

[ port ip_port; ]

[ additional-from-auth yes_or_no ; ]

[ additional-from-cache yes_or_no ; ]

,

[ random-device path_name ; ]

[ max-cache-size size_spec ; ]

[ match-mapped-addresses yes_or_no; ]

};

version

回答針對服務器版本的請求時的內容。缺省返回的是服務器的真實版本。

directory

服務器的工作目錄。配置文件中所有使用的相對路徑,指的都是在這里配置的目錄下。大多數服務器的輸出文件(如named.run )都缺省生成在這個目錄下。如果沒有設定目錄,工作目錄缺省設置為服務器啟動時的目錄?. ?。指定的目錄應該是一個絕對路徑。

named-xfer

這個選項已經被廢棄了。它在BIND8 中,它用來給named-xfer 程序設定路徑名。在BI ND9中,不需要單獨的named-xfer 程序;它的功能已經內置在域名服務器中。 tkey-domain

這個域名將會附帶在由TKEY 生成的所有共享密匙名字的后面。當用戶請求進行TKEY 交換時,它會為密匙設定或不設定所要求的名稱。如果設置了tkey_domain,共享密匙的名字將會是"client specified part" (用戶設定的部分) "tkey-domain" 。否則,共享密匙的名字將是"random hex digits" (隨機的16 進制數) "tkey-domain" 。在大多數情況下,domainname 應該是服務器的域名。

tkey-dhkey

,

針對使用Diffie-Hellman 的TKEY 模式的用戶,服務器用來生成共享密匙的Diffie-Hellm an 密匙。服務器必須可以從工作目錄中調入公共和私人密匙。大多數情況下,密匙的名稱應該是服務器的主機名。

dump-file

當執(zhí)行rndc dumpdb 命令時,服務器存放數據庫文件的路徑名。如果沒有指定,缺省名字是named_dump.db。

memstatistics-file

服務器輸出的內存使用統計文件的路徑名。如果沒有指定,默認值為named.memstats 。 注意:還沒有在BIND9中實現!

pid-file

進程ID 文件的路徑名。如果沒有指定,默認為/var/run/named.pid。pid-file 是給那些需要向運行著的服務器發(fā)送信號的程序使用的。

statistics-file

當使用rndc stats 命令的時候,服務器會將統計信息追加到的文件路徑名。如果沒有指定,默認為named.stats 在服務器程序的當前目錄中。

port

服務器用來接收和發(fā)送DNS 協議數據的UDP/TCP端口號。默認為53。這個選項主要用于服務器的檢測;因為如果不使用53端口的話,服務器將不能與其它的DNS 進行通訊。 random-device

服務器使用的entropy 源:entropy 主要用于DNSSEC 操作,如TKEY 的數據交換和加密域的動態(tài)更新。此選項指定了entropy 將會從哪個設備(或文件)中讀取信息。如果它是一個文件,則當文件耗盡后,需要entropy 的操作將會失敗。如果沒有指定,默認值是/d

,

ev/random(或等價的),如果它存在,否則就是沒有。random-device 選項是在服務器啟動時,初始化配置時起作用的,在以后的重啟時則被忽略。

A.Boolean 選項

auth-nxdomain

如果是yes ,那么AA 位將一直設置成NXDOMAIN 響應,甚至在服務器不是授權服務器的情況下都是這樣的。默認值是no ;這與BIND8不同。如果用戶使用的是非常老版本的DN S 軟件,則有必要把它設置成yes 。

deallocate-on-exit

此選項在BIND8中用于檢查出口處內存泄露。BIND9忽略此選項,并始終進行檢查。 dialup

如果是yes ,那么服務器將會像在通過一條按需撥號的鏈路進行域傳送一樣,對待所有的域(按需撥號就是在服務器有流量的時候,鏈路才連通)。根據域類型的不同它有不同的作用,并將集中域的維護操作,這樣所有有關的操作都會集中在一段很短的時間內完成,每個he artbeat-interval 一次,一般是在一次調用之中完成。它也禁止一些正常的域維護的流量。默認值是no 。

dialup 選項也可以定義在view 和zone 語句中,這樣就會代替了全局設置中dialup 的選項。

如果域是一個主域,服務器就會對所有輔域發(fā)送NOTIFY 請求。這將激活輔域名服務器中的對域的序列號的檢驗。這樣當建立一個連接時,輔域名服務器才能確認這個域的傳輸合法性。

,

如果這個域是一個輔域或是末梢域(stub zone ),那么服務器將會禁止通常的“zone up to date ”(refresh )請求,為了能發(fā)送NOTIFY 請求,只有在heartbeat-interval 過期之后才執(zhí)行。

通過下列的設置,可以實現更好的控制。

1、notify 只發(fā)送NOTIFY 信息。

2、notify-passive 發(fā)送NOTIFY 信息,并禁止普通的刷新(refresh )請求。

3、refresh 禁止普通的刷新處理,當heartbeat-interval 過期時才發(fā)送刷新請求。

4、passive 只用于關閉普通的刷新處理。

fake-iquery

在BIND8中,此選項用來模擬陳舊的DNS 查詢類型IQUERY 。BIND9不再進行IQUERY 模擬。

fetch-glue

這個選項以后不再使用。

has-old-clients

這個選項在BIND8中執(zhí)行有問題,BIND9則忽略了這個選項。為了達到has-old-clients yes 的預期效果,可以設定兩個獨立選項auth-nxdomain yes 和rfc2308-type1 no 來代替。

host-statistics

在BIND8中,它可以保留每臺和域名服務器交互的主機統計信息。BIND9中不支持。 maintain-ixfr-base

此選項不再使用了。在BIND8用于判定是否保存了增量域傳輸的處理日志。BIND9任何可能的時候都會保存?zhèn)鬏斎罩尽H绻枰沽鞒龅脑隽坑騻鬏?,可以使用provide-ixfr no 。

標簽: