iT邦幫忙

0

最近遇到dns查詢的問題

dns
typerr 2009-06-18 09:35:0716739 瀏覽
  • 分享至 

  • xImage

最近寄信遇到一些問題
客戶從巴西寄來收不到信,但同時寄給其他 partner 卻能收到
用台灣中華電信的 168.95.1.1 查不到客戶的mx及相關dns資訊
但用另一台 168.95.192.1 卻能查到,不過有時會 timeout
台灣的so-net 的dns也查不到
台灣的seednet 的 dns 卻能查到
試著用巴西的dns主機去查詢
他們有
a.dns.br. 200.160.0.10
b.dns.br. 200.189.40.10
c.dns.br. 200.192.232.10
d.dns.br. 200.219.154.10
e.dns.br. 200.229.248.10
f.dns.br. 200.219.159.10
但是各別以他們的dns 做查詢主機,卻不能查回台灣
其中的a,b,e 三台會出現 server fail 的訊息

hinet.net
Server: a.dns.br
Address: 200.160.0.10

*** a.dns.br can't find hinet.net: Server failed

另外的 c,d,f 則會出現 Query refused

hinet.net
Server: f.dns.br
Address: 200.219.159.10

*** f.dns.br can't find hinet.net: Query refused

不過查這樣是不是巴西的 dns 有問題呢?

typerr iT邦新手 3 級 ‧ 2009-06-30 19:40:26 檢舉
剛好有另一位工程師在紐西蘭
雖然人不在巴西,但是請他用 telnet 的方式,連到幾台在台灣的郵件主機
不論是hinet 的 msa.hinet.net
或是我們公司自己的主機
或是其他客戶在台灣的郵件主機
甚至有一台沒有防火牆設備的主機,僅有windows 內建的 firewall 在運作
全部所有的 25 port 用 telnet 都不通
但是其他的 110,3389,22 等 port 全部都是能通的
不管在hinet 線路下的主機,或是在 so-net 線路下的主機
狀況都相同
是不是台灣被國外ISP封鎖了郵件25port?
因為該位在國外的工程師要用敝公司的郵件主機上的帳號也不能寄信的
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

24
逮丸逮丸
iT邦大師 1 級 ‧ 2009-06-18 12:26:41
最佳解答

最好請對方將退信轉寄到您在 世界知名郵件信箱,如:gmail, hotmail,
親眼看到錯誤訊息,可確認排除掉 不是DNS所造成的問題。

不是巴西的 dns 有問題,只是拒絕從別的地方來的查詢。
就算您用 ns1.yahoo.com 來查,也一樣是被拒絕查詢。

到底是不是對方 DNS 的問題,或對方的 DNS 能不能查得到我們這邊,
的確是不易解決的問題,因也有可能因 routing 的問題所造成。

最多只能藉著第三方的 DNS 檢查網站,像
http://www.dnscolos.com/free-dns-report.html
分別敲入 hinet.net, dns.br 看看該 DNS 有無設定問題。

至於如何來看對方的 Server 是否能查詢到我們這邊的域名,
可試試 telnet 到對方 mailserver 的 25 port,
試試 mail from: 的指令,
看是不是 OK…;
如果對方的 Mail server 設的好的話,
應是會根據 您那個 From 的 DNS 查詢來做出回應。
若碰到 兩光的 Mail server,就試不出來了。

看更多先前的回應...收起先前的回應...
typerr iT邦新手 3 級 ‧ 2009-06-18 15:25:36 檢舉

非常感謝您的想法
對方看起來是代管出去的
寄不過來並沒有任何退件,所以無從查訊息
有個很有趣的現像,我用 168.95.192.1 查對方的mx及ns record
其中ns record 看來就是代管業者的,有四台name server ,不同IP
如下
dns2.digiweb.com.br internet address = 189.38.49.2
dns1.digiweb.com.br internet address = 200.162.196.240
dns3.digiweb.com.br internet address = 187.16.28.58
dns4.digiweb.com.br internet address = 187.16.28.59

但用巴西的 a.dns.br 等主機去查詢該 domain 時
會回應另外四台name server,看起來像是另外不同的name server
如下
****.com.br nameserver = dns1.pagnet.com
****.com.br nameserver = dns2.pagnet.com
****.com.br nameserver = dns3.pagnet.com
****.com.br nameserver = dns4.pagnet.com
怎麼這麼奇怪?

http://www.dnscolos.com/free-dns-report.html
pagnet.com 會出現:

Your NS records at the parent server b.gtld-servers.net are:
dns1.pagnet.com [200.162.196.240]
dns2.pagnet.com [200.162.196.241]
dns3.pagnet.com [200.162.196.150]
dns4.pagnet.com [200.162.196.151]

Your NS records at your nameservers are:
dns1.digiweb.com.br [189.38.49.3]
dns2.digiweb.com.br [189.38.49.2]
dns3.digiweb.com.br [187.16.28.58]
dns4.digiweb.com.br [187.16.28.59]

這表示這些 pagnet.com 的 Server 應至少有兩張網卡,接不同的網段。

而查 digiweb.com.br:
Your NS records at the parent server e.dns.br are:
dns1.digiweb.com.br [189.38.49.3]
dns2.digiweb.com.br [189.38.49.2]
dns3.digiweb.com.br [187.16.28.58]
dns4.digiweb.com.br [187.16.28.59]

Your NS records at your nameservers are:
dns1.digiweb.com.br [189.38.49.3]
dns2.digiweb.com.br [189.38.49.2]
dns3.digiweb.com.br [187.16.28.58]
dns4.digiweb.com.br [187.16.28.59]

這可推測 189.38/187.16 可能是 .br 的連線大宗,
200.162 可能是專對世界其他各地的專線,
所以可能會根據從哪邊 query ,而獲得 200 或 18x IP 的回應。
(上面這句話是很心虛的猜測)

所以該 ISP 就那四臺為 DNS server,至少有此兩域名,
也都有兩張網卡,分別為 200 或 189/187 的網段,
而 .com 域名,是對上層的 Root NS 登記 200 的網段,
所以從 .tw 查 pagnet.com 時, .com 的Root,指到 200 的 IP,
然後 該 pagnet.com 的 NS 回覆其 NS 的 IP 為 189/187 的網段。
所以會有 NS 的 parent server 與 NS 本身 Server 的回應會不同。

typerr iT邦新手 3 級 ‧ 2009-06-19 09:27:19 檢舉

原來如此,果然有點複雜呀

*.dns.br 是 root DNS,本來就不給人查的,
試試 nslookup -q=ns tw. 裡面的各 DNS,也是不讓你查的。

SMTP 測試,可參考:
http://paar.kh.edu.tw/wp/?p=75

從臺灣利用 dns*.digiweb.com.br 查詢是都會被拒絕,
但利用 dns*.pagnet.com 卻可順利查詢:
nslookup -q=mx ms12.hinet.net dns1.pagnet.com

利用 http://www.ip2location.com/free.asp 來查這兩個 domain ip 所在處:
200.162.196.240 BR BRAZIL - - COMITE GESTOR DA INTERNET NO BRASIL
189.38.49.3 BR BRAZIL - - COMITE GESTOR DA INTERNET NO BRASIL
至少都是在巴西。

typerr iT邦新手 3 級 ‧ 2009-06-20 15:06:19 檢舉

原來是不給查的
SMTP 測試可以通過耶.......@@"
那兩個ip都在巴西表示是正確吧?
目前我的處理是在 exchange 2003 sp2 上把智慧型郵件篩選關掉
+趨勢的 SMB CSM 的垃圾郵件掃描的功能關掉
+把對方的 mail.xxxx.com.br 主機ip(客戶domain 的mx) 加到我的 local 主機的 host 檔中
因為巴西客戶寄到其他夥伴那邊的信件"聽說"都正常
都是夥伴 cc 一份給我們這邊才收到
我還可以調什麼地方嗎?

typerr iT邦新手 3 級 ‧ 2009-06-20 15:16:33 檢舉

補充
對方主機有設定會有自動回條,例如~我現在已經收到您的來信~我會儘快回覆您的信件
這樣的回條台灣這邊是能收到的,但主動自己寫的,或是我們寄過去,再直接回覆的都沒收到

寄不出,至少也應會有退信,
沒有退信,至少在 Mail Server 上,
也應可以從 Log 裡面看出發出的信跑到哪裡…
即然無法要求、知道對方 Mail Server 的這方訊息。
那就只能確認:因您能收到對方的回條,
從您的 Mail Server 看丟過來的回條的 IP 是什麼,
然後 grep 或 搜尋您 Server 的 Log ,
看看是否該 IP 及相近的 IP 範圍,
有在 除了 回條的時間點之外出現?
若無,就不是您 Server 的問題,也無法追查下去;
若有,就較可能判斷是什麼原因無法送來。

12
ycl8000
iT邦高手 1 級 ‧ 2009-06-19 10:09:43

我之前也遇過類似的問題, 客戶可以寄信來, 但user回信就會被退信, 退信原因是don't find mail exchanger and domain's ip address, 直覺告訴我應該是客戶端DNS出問題, 但是user才不管你是誰的問題, 總之信寄不出去, MIS就是要想辦法負責解決, 於是就用nslookup去查, 用168.95.1.1的DNS SERVER去查, 怎麼查都查不到資料, 後來改用168.95.192.1 去查, 所幸大約10次會找到1次, 然後我就把查到的MX記錄手動輸入到公司的DNS SERVER中, 這樣一來user的信就可以寄出去了, 事後記得要持續追踪這個domain的狀況, 一旦這個domain恢復正常的話, 就要將之前手動輸入的記錄刪除.

typerr iT邦新手 3 級 ‧ 2009-06-20 15:27:03 檢舉

有退件會比較好查
沒退件就只能慢慢猜......@@"

我要發表回答

立即登入回答