Linux

錯誤的 DNS 記錄會阻止聯網嗎?

  • October 12, 2010

從昨天晚上開始,我的伺服器的網路介面不再可用。我沒有更改任何內容,但不久前我添加了一條新的 DNS 記錄。

不幸的是,我用來添加此 DNS 記錄的 Web 界面轉義了一些字元,因此我得到了一個錯誤的 DNS 記錄:

example.com 86400   IN      TXT     "\"v=spf1 mx a -all\""

然而,這是我能注意到的唯一不尋常的事情。

我的 DNS 記錄中的 -字元是否可能會令某些路由器感到困惑?或者可能是系統本身對此感到困惑(它是一個 Debian Lenny 系統)。

不幸的是,由於記錄的 TTL 很長,我無法對其進行快速測試。

錯誤的 DNS 記錄應該只影響名稱解析,而不是純粹的 IP 通信,並且不會對路由器產生任何干擾。

一個壞的區域文件可以阻止整個 DNS 伺服器執行,至少在 Bind 中我經歷過這一點。因此,如果這是您的工作站正在使用的主 DNS 伺服器,我可以看到您在名稱解析方面存在問題。

如果您無法通過 IP 直接訪問系統,則說明發生了其他事情。

您提到了涉及的路由器,您是嘗試從不同的網路訪問該系統,因此您正在遍歷路由器還是在同一個子網中?

如果您在不同的網路中,您是否能夠訪問與您無法訪問的伺服器處於同一網路中的其他系統?

如果可以,請遠端訪問其中一個系統,並嘗試從與其位於同一網路中的機器訪問伺服器,這樣就可以排除路由問題。


編輯:

您可以聯繫其他人,但沒有人確實更多地指出它是路由的系統問題,但不排除它。最好的確認仍然是繼續或讓其他人測試從同一子網上的另一個盒子ping那個盒子。

你是如何穿越到這個網路、VPN、公共網際網路、點對點的?

除了 SSH 之外,還有什麼可以在盒子上測試的,它可能只是 SSH 守護程序不工作。

儘管 DNS 存在問題,但您可以嘗試使用nslookupdig來測試 DNS 解析。

如果有 Web 或郵件伺服器,您可以telnet到 80 (web) 或 25 (smtp) 以查看它是否連接。注意:您不需要執行所有測試步驟,只需 telnet serverip 25 或 telnet serverip 80 就足夠了。如果他們在那裡,您將看到一個文本響應。

此外,執行從您的機器到無響應機器以及其中一台正在響應的機器的跟踪路由可能會有所幫助。看看他們採取的步驟,如果他們走不同的路線,那麼你可能會遇到路線問題。根據您的環境,您的 traceroute 命令可能是 traceroute、tracert、tracepath。

引用自:https://serverfault.com/questions/140712