Networking

如何診斷奇怪的網路故障

  • December 26, 2017

這是一個奇怪的問題。我有 2 個遠端網路,我通過網際網路在它們之間傳輸文件。昨天,一個正常的備份工作失敗了,所以我開始研究它。幾個月來,我一直在這兩個網路之間傳輸文件而沒有問題。

經過幾個小時的調試,我得到了這個圖表:

網路圖

基本上,我無法將任何大文件(>50MB-ish)從網路 A 傳輸到網路 B 上兩個路由器後面的任何設備。我是從網路 A 還是從網路 B 啟動傳輸都沒有關係。它將連接並開始傳輸,然後在幾秒鐘後(似乎從 5-60 秒不等)傳輸失敗。

我可以毫無問題地從網路 A 轉移到其他網路。我什至可以毫無問題地傳輸到僅位於 NAT 路由器 1 後面的網路 B 上的設備。小文件工作正常(大部分時間)。較大的文件開始正常,然後失敗。

錯誤和日誌

當我從網路 B 啟動 rsync 傳輸時(將文件從 A 發送到 B)。

...several more identical lines (depends on how soon it fails)...
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
ssh_dispatch_run_fatal: Connection to XXX.XXX.XXX.XXX port 22: message authentication code incorrect
Sometimes ---> debug3: mux_client_read_packet: read header failed: Broken pipe

當我從網路 A 開始傳輸時(仍然從 A 發送到 B)

...several more identical lines (depends on how soon it fails)...
debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072
debug3: send packet: type 1
packet_write_wait: Connection to XXX.XXX.XXX.XXX port 22: Broken pipe
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)

嘗試通過 HTTPS 從網路 A 下載大文件到 B 時,傳輸也會失敗。當我執行 curl 時,我得到:

curl: (56) OpenSSL SSL_read: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac, errno 0

我在兩個路由器後面的網路 B 上的多個文件和多台電腦上看到了相同的行為。

我試過的

  • 網路 B、NAT 路由器 2 上的韌體更新:無效
  • 重新啟動兩個網路中的所有設備:無效
  • 嘗試在網路 B 上通過 2 個不同的 ISP 傳輸:無效
  • 棒球棒到視線中的每一個路由器:仍在決定這個……

更新

作為一個小更新,我在互動式 SSH 會話期間注意到了同樣的問題。如果我執行一個在螢幕上產生大量輸出的命令,有時我的 SSH 會話會因無效 MAC 錯誤而斷開連接。

更新 2

NAT 路由器 2 是 Cisco RV320。作為一個實驗,我暫時禁用了防火牆(見下面的截圖)。傳輸現在有效,但這也破壞了路由器的要點(它在那裡創建了我網路的受保護內層)。關於如何從這裡開始的任何想法?防火牆設置對我來說有點不透明(它只是一個複選框)。我不確定它實際上在做什麼。

順便說一句,我嘗試單獨禁用 SPI、阻止 WAN 請求和 DoS,但這些設置都沒有任何效果。只有主要的防火牆設置(它會自動禁用其他設置)起到了作用。

思科 rv320 防火牆設置

更新 3

我與思科技術支持人員進行了交談,他們要求我將路由器直接連接到調製解調器作為測試(繞過 NAT 路由器 1)。在那種環境下,轉移是成功的。因此,導致問題的原因在於兩個路由器的組合。

我為 Cisco 路由器啟用了每個可用的日誌選項並執行了一些失敗的傳輸,但日誌中沒有顯示任何內容。在這一點上,我真的不確定如何進行。我可能只是為了好玩而更新 NAT 路由器 1 上的韌體。

只是為了關閉它。對我來說,“解決方案”是放棄 RV320,轉而使用 DrayTek Vigor 2925。

切換後我只嘗試了幾次傳輸,但其中一個文件相當大,花了將近 3 個小時,並且沒有任何問題。所以,我樂觀地說新路由器已經解決了這個問題。

我希望我確切地知道為什麼 Cisco 上的防火牆會干擾此流量,因為總的來說,我喜歡路由器,但我沒有更多時間來診斷它。感謝所有幫助過的人。有人要買路由器嗎?:)

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