iT邦幫忙

0

DNS主、次、轉寄站查詢順序問題

dns
leo226 2012-04-25 10:12:0412351 瀏覽

請問:若PC上有設主、次DNS,主、次DNS都有設轉寄站,那它的查詢順序是如何呢?
1.主=>主轉寄站=>次=>次轉寄站
2.主=>次=>主轉寄站=>次轉寄站
如果跑到轉寄站應該就已經是丟出去了,不會再轉回來次DNS了吧~!

10
misadm
iT邦高手 10 級 ‧ 2012-04-27 10:10:08
最佳解答

不是這樣的,轉寄站最主要目的是查詢非自身網域的 record.

舉例來說,假設你公司的網域是:abc.com.tw 而你要瀏覽 Yahoo 的網頁時,你的 DNS Server 不會理會這個查詢,而會將你的查詢轉接給轉寄站;這是因為 Yahoo 跟你公司是不同網域。

簡言之,只要不是你 DNS Server 所管理的 Domain 一律都會將查詢丟給轉寄站處理,並將結果 Cache 一分在你的 DNS Server 上。

所以,轉寄站最主要目的是在降低 DNS 受 query 的頻繁度。

leo226 iT邦新手 5 級 ‧ 2012-04-27 23:12:03 檢舉

感謝,您的解釋讓我獲益良多,完全了解轉寄站的作用^^"
我以為轉寄站是在本地DNS查詢不到時,才將它轉寄出去查詢的設定.
照你說的主要是在查詢不是你 DNS Server 所管理的 Domain而轉寄出去的功能,再依序往根DNS查詢下去.
謝謝解釋^^

4
ianianwu
iT邦研究生 5 級 ‧ 2012-04-25 12:03:14

不太能理解你的問題是要問什麼??
你是問windows or linux ,郵件伺服器還是單純DNS查詢??

10
michaelwan
iT邦高手 1 級 ‧ 2012-04-25 16:58:47

我選1. 因為轉寄站是Server to Server.
http://technet.microsoft.com/zh-tw/library/cc775637(v=ws.10).aspx

10
cmwang
iT邦高手 1 級 ‧ 2012-04-25 18:00:35

DNS client並不知道也不在乎哪個NS是某個domain的master NS,哪個是slave NS(non authoritative NS無法保證向authoritative NS查詢時的順序),client只知道某次query是否成功,如果查詢成功的話就不會向其它NS繼續查詢,此時上層的AP(在此應該是指SMTP吧)就會依照查詢到的結果行動,而負責此次查詢的NS則是到到超過SOA中的TTL之後才會重新向authoritative NS做查詢(DNS的cache機制)....BTW,基於上述原因,master NS和slave NS內的資料應該力求同步,否則常常會帶來很多不必要的麻煩(trouble shooting困難)....

leo226 iT邦新手 5 級 ‧ 2012-04-27 23:03:25 檢舉

我說的轉寄站是在Win DNS Server下,內容裡的轉寄站設定.
至於它是你說的cache only NS還是SMTP的MX,我就不是很清楚了=,=
因為那邊只是設定轉寄站的設定而已~^^
感謝~

14
slime
iT邦大師 1 級 ‧ 2012-04-26 00:41:48

一般的經驗:

Client 向主或副任丟一個(有些 OS 會先丟主),
只要有活著, Client 就會等這台 DNS Server 回應.
如果 DNS Server 沒有反應, 才會查另一台.

而這台 DNS Server 遇到不是被授權的 Domain Name , 就會有幾個動作:
a. 往 Forwarder 查.
b. 從 Root Servers 往下逐層去查.
c. 回應查不到.

所以 Client 只會有幾種可能:
a. 查主或副 -> 該機無回應 -> 再查另一台 -> 有查到, 查不到, 另一台也無回應.
b. 查主或副 -> 該機回應查不到 -> 結束
c. 查主或副 -> 該機回應資料 -> 結束

看更多先前的回應...收起先前的回應...
James iT邦大師 7 級 ‧ 2012-04-26 15:22:43 檢舉

不錯,很多人都以為主DNS查不到就會改查第2DNS,其實不是這樣。
而且CLIENT也不一定優先向主DNS查詢。

cmwang iT邦高手 1 級 ‧ 2012-04-26 18:57:11 檢舉

bruck提到:
不錯,很多人都以為主DNS查不到就會改查第2DNS,其實不是這樣。

client遇到某個domain有1個以上authoritative NS時,會先試著往其中之一query,如果有回應(wether postive or negative answer)就以其回應為準,沒有回應的話才會往其它NS query....BTW,除非看SOA,不然client根本無從分辨哪個是master,哪個是slave,但NS除非是做zone transfer,不然通常是不會去看SOA的....

leo226 iT邦新手 5 級 ‧ 2012-04-27 23:09:09 檢舉

所以我們設定主和副DNS並不能決定它的查詢順序就是了,從以前到現在都誤會大了~!
我的環境是這樣的:
在本地端有台內部DNS,異地端也有台內部DNS
Client設定本地為主DNS,異地為副DNS
大部份的Client網路查詢都正常,偶爾會有幾台Client會無法連到外部的網站,只能連到內部的網站,但如果DNS多加上一條168.95.1.1的DNS,它就能連到外部的網站了,所以才懷疑是DNS解析的問題.
不知各位大大對於此問題有何見解~

slime iT邦大師 1 級 ‧ 2012-04-28 12:53:24 檢舉

這樣的架構建議:

  1. Client 都設定 DNS 主機為內部 DNS
  2. 內部 DNS 設定轉寄站為您的 ISP 提供的 DNS Server

這樣的架構, 如果是內部 DNS 無授權的資料, 就會由內部 DNS 往 ISP 提供的 DNS Server 查, 而 Client 只送出一個查詢動作, 往內部 DNS 查.

slime iT邦大師 1 級 ‧ 2012-04-28 12:54:21 檢舉

但是您提到有兩臺內部 DNS , 則建議再說明一下, 這兩台內部 DNS 是分在不同的分公司或只是備援架構嗎?

leo226 iT邦新手 5 級 ‧ 2012-05-04 08:54:15 檢舉

是在不同分公司,內部DNS也是依您所建議的設定方法

  1. Client 都設定 DNS 主機為內部 DNS
  2. 內部 DNS 設定轉寄站為您的 ISP 提供的 DNS Server

我要發表回答

立即登入回答