特定のシステムからデータを転送できない (MTU の問題でしょうか?)

特定のシステムからデータを転送できない (MTU の問題でしょうか?)

まとめ

デフォルトの MTU 値では、1 つのシステムでデータ転送ができなくなります。手動で値を下げると、データ転送が再び有効になりますが、隣接するシステムではこの手動調整は不要です。

背景

バックアップ サーバーがあります。遠隔地に 2 つの Raspberry Pi システムがあります。1 つは英国、もう 1 つはアルバニアです。アルバニアの Pi の横には QNAP (Linux 由来のファイル サーバー) があります。アルバニアからバックアップ サーバー ネットワークへの IPSec VPN と、英国からバックアップ サーバー ネットワークへの別の IPSec VPN があります。すべて IPv4 を使用しています。次の図が役立つかもしれません。

                                           |--Albania Pi
                    |<--IPSec-->|--Router--|--Albania QNAP
Central  |          |                      |--Other systems
Backups--|--Router--|
Server   |          |                      |
                    |<--IPSec-->|--Router--|--UK Pi
                                           |--Other systems

Pi システムとバックアップ サーバーの両方に、ルールのない nftables があり、デフォルトのポリシーは ACCEPT です。

2 つの RPi システム、QNAP、およびバックアップ サーバーはすべて、予想どおり、デフォルトの有線イーサネット MTU が 1500 になっています。

アルバニアのルーターの WAN 側 MTU は 1442 で、英国の場合は 1500 です。ルーターのパス MTU 検出オプションによると、これらの値は正しいです。バックアップ サーバーを含むネットワークを管理するファイアウォールの場合は 1500 で、これも正しいです。

問題

  • 英国のPiからバックアップサーバーにデータブロックを転送すると、正常に動作します
  • アルバニアのQNAPからバックアップサーバーにデータブロックを転送すると、正常に動作します
  • アルバニアのPiからバックアップサーバーにデータブロックを転送しようとすると失敗します
  • PiのMTUを1374に減らすと転送は成功します

詳しくは

うまくいっている/うまくいっていない例を挙げてみましょう

# On the Albanian Pi
dd bs=1M count=100 if=/dev/urandom >100M.dat

# On the Backups Server
ssh albanian_pi cat 100M.dat | pv >100M.dat

# MTU adjustments on Albanian Pi
ifconfig eth0 mtu 1500    # Default before I started fiddling
ifconfig eth0 mtu 1374    # Highest value that permits data flow

転送は以前は機能していましたが、それは Stretch から Buster にアップグレードする前のことでした。私が所有する他のほとんどの Pi システムでは問題は発生していません。特に、冒頭で述べた、現在 Buster も実行している UK Pi では問題は発生していません。

アルバニアオフィスでは誰もネットワークの問題について不満を言っていません。

アルバニアの Pi とバックアップ サーバー間のパケットに「フラグメント禁止」ビットが設定されていることを私は知りません。PMTU 検出をブロックするものを私は知りません。

要約すると:

  • アルバニアの QNAP -> バックアップ サーバー: すべて正常
  • アルバニア語 Pi -> バックアップ サーバー: MTU を減らさずに失敗する
  • UK Pi -> バックアップサーバー: すべて正常

回避策はありますが、個々のシステムで MTU を減らす必要はないはずです。

質問

実際に何が問題なのでしょうか。また、問題の原因をさらに診断して解決するにはどうすればよいでしょうか。

ご提案をありがたく受け取りました。ありがとうございます

答え1

それは次のようになりますパスMTU検出「Albania Pi」と「Central Backups Server」システム間の接続が切断されています。これは多くの場合、ルーター、ファイアウォール、または関連するシステムの設定で ICMP パケットが誤ってブロックされた結果ですiptables

あなたの場合、「Albania QNAP」システムは正常に動作しているように見えるため、主な原因は「Albania Pi」システムです。そのシステムの構成、特にiptables設定と ICMP および PMTUD 関連のネットワーク設定を確認してください。

関連情報