2015/04/13

DNS server上 停用遞迴 ,造成Email無法寄到外部

在網路上有看到文章分享,建議要把DNS server上的 停用遞迴 啟動,可增加DNS server的安全性。
所以就把公司內部使用的Windows DNS server的停用遞迴啟動,沒想到大家要寄到外部的信件就通通寄不出去。















經查,公司內部信件互相寄送沒問題,但信件要透過SPAM往外寄的信就會失敗,但外部寄進來的信是成功的。
比對了一下SPAM上的DNS就是設定剛剛改過設定的那台DNS,所以改回不要停用遞迴,寄到外部的信件就正常了。
後來才發現,這個功能不能亂關。
如果公司有2台DNS,內部的DNS是給內部的電腦解析用,而且內部的電腦可以連到外部,另一台DNS是放在外部,給外部使用者查詢用的話,則不能停用內部DNS server的遞迴查詢,但可以停用外部DNS server的遞迴查詢。
因為如果停用了遞迴查詢,則Client端用戶來此DNS server查詢這個此server 上沒有的記錄時,Server 不會在向其他的DNS做查詢,所以只能查到這台DNS上有的記錄,這樣就會造成內部Client查不到外部主機的資料。
如果是放在外部的DNS server,停用遞迴查詢,則不會影響原本外部Client來查詢此DNS server上有記錄的主機,當外部主機要透過此DNS server來查其他不相關的主機記錄時,DNS server也不會處理此需求,就不會造成過多的 loading,減少被攻擊造成loading過重的問題。

以下是在網路上查到的相關資料
1. Recursive Query(遞迴式查詢)-指的是DNS Client DNS Server進行DNS QueryDNS Server將回覆用戶端完整的答案或是該名稱無法被解析,稱為遞迴式查詢。

2. Interative Query(交談式查詢)-亦可稱為非遞迴式查詢,此為DNS Server詢問其他的
DNS Server時,會此用此種交談方式。

假設a公司DNS Server進行查詢google.com時,預設的設定該台DNS Server將不會有google.com記錄,因此會發出詢問到root DNS Server,而Root回覆給a公司的DNS Server請他去問負責com ZoneServer因此1,2的差異在於問到root DNS Server後,root只請他去問comDNS Server而不會幫它(a公司 DNS Server)把完整的google.com提供給它(a公司 DNS Server)

3. 因此Recursive Query若關閉要視下列狀態關閉:
1)公司的內部DNS Server負責幫用戶端查詢,若關閉,用戶端將無法得到正確的名稱解析

2)若為作為公司外部的DNS Sever給外部查詢用,則可以關閉,否則若有人設定forward到貴公司的DNS Server,該台Server將會很忙碌

沒有留言:

張貼留言