我設定了一個本地 DNS 伺服器(因為我們 ISP 的路由器不支援本地 DNS)並將其配置為解析為靜態 IP 位址並將其他請求轉送到 ISP 路由器。因此 DNS 工作正常,但現在嘗試連接到伺服器上其他服務的其他用戶端需要大量時間才能連線。例如 sshd 和 apt-cacher 非常慢。而 ssh 在其他伺服器上運作良好且快速。所以看起來伺服器太慢而無法運行那麼多服務。
因此,最終的問題是:我怎麼能找出是什麼讓事情變得如此緩慢?
伺服器在 Debian jessie 上運行。 DNS 伺服器是bind9。
經過對 syslog 的一些研究,我發現 bind9 拋出了一堆錯誤,如下所示:
Dec 28 18:36:18 cache named[3878]: DNS format error from 192.168.2.1#53 resolving www.arcor-online.net/A for client 192.168.2.3#48110: reply has no answer
Dec 28 18:36:18 cache named[3878]: error (FORMERR) resolving 'www.arcor-online.net/A/IN': 192.168.2.1#53
答案1
我不確定你所說的「ISP 的路由器伺服器」是什麼意思。路由器通常不是 DNS 伺服器。
但是,您可以嘗試ssh -v
查看延遲是在遠端還是在客戶端。另外,檢查 BIND 9 日誌以查看它是否會報告任何問題。
除此之外,透過使用命令來查看事情是否正確解決,例如dig @127.0.0.1 flame.org. SOA
確保您的本地DNS 正在為您不具有權威的名稱工作,在沒有看到配置、網路追蹤或偵錯日誌的情況下,我無法提供更多幫助。
答案2
問題與我的預期完全不同。在配置bind9並擔心如何建立伺服器周圍的網路時,我更改了伺服器的IP位址,但忘記更改/etc/resolv.conf中的名稱伺服器。這意味著伺服器嘗試聯繫空 IP 並停止,直到請求逾時。
答案3
查看系統的處理器、記憶體和儲存利用率可能會很有用。
一個有用的開始命令可能是:
ps auxf | sort -nr -k 3 | head -10
您還可以使用工具來查看進程是否正在等待緩慢或過度存取的存儲,例如:
vmstat 3
即使您認為自己已經超越了硬件,了解基礎知識也很重要。
與往常一樣,請確保您正在執行 Debian 的最新更新,以確保您不會受到錯誤或安全缺陷的影響。