VPNを介したファイルコピー中のSCPストールの問題


11

SCPを介してVPN経由で毎晩リモートLinuxサーバーにコピーする必要がある一連のファイルがあります。ファイルは大きくありません。ここでは数十メガバイトについて話していますが、ほとんどの場合、ファイルコピーは数秒後に停止します。-vvvを指定してSCPコマンドを実行すると、試行されたコピープロセス全体で次のようなメッセージが繰り返し表示されます。

debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072

何かご意見は?この質問はさまざまな場所で聞かれていますが、答えはありません。任意の助けをいただければ幸いです。


似たようなことを何度も経験していますが、今のところ確実にそれを行うものはありません。hpn-sshが違いを生むかどうかを確認するのは興味深いかもしれません。
スフィンク

回答:


7

ICMPをVPN経由で許可していますか?「数秒後にTCP接続が停止する」は、「PMTUブラックホール」に変換されることがよくあります。


2
icmp PMTUディスカバリーを理解している人はほとんどいない:-(
Unix Janitor

2
それは面白そうに聞こえますが、完全には明らかではありません。正確に何が間違っているのか、それを修正する方法について詳しく説明していただけますか?
クレイグマックイーン

7

@Geraldの応答と同様に、このページhttp://www.netheaven.com/pmtu.htmlは、MTUディスカバリーと、この問題に直面したときのオプションの適切な説明を提供します。

また、IPSec VPNトンネルに関連するIPフラグメンテーション、MTUディスカバリ、およびMSSについて説明しているが、同様の状況でも同様に有効なシスコのホワイトペーパー。http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml


1

使用しているsshサーバーとクライアントの最新バージョンを実行していますか?かなりあいまいなように思えるので、これについては彼らのメーリングリストにアクセスすることもお勧めします。


1

一部のLinuxサーバー(Debian、2.6.24-etchnhalf)にscpで同様のspurios問題がありました。

リモートサーバーでTCP変数tcp_sack(「tcp選択的確認応答」)を無効にすることで、ストールをなくすことができました。

sysctl -w net.ipv4.tcp_sack=0

Debianでは、tcp_sackはデフォルトで有効になっています。http://www.frozentux.net/ipsysctl-tutorial/chunkyhtml/tcpvariables.htmlを読んだ場合、このオプションを無効にする意味はありませんが、この場合は役に立ちました。

net.ipv4.tcp_sack=0/etc/sysctl.conf(他のLinuxシステムYMMV)に行を追加することにより、この変更を永続的にすることができます。


0
  1. パスMTUを見つける

    ping -M do -s 1472 host.domain
    PING host.domain (10.0.0.1) 1472(1500) bytes of data.
    ping: sendmsg: Message too long
    ping: local error: Message too long, mtu=1196
    ^C
    ping -M do -s 1168 host.domain
    PING host.domain (10.0.0.1) 1168(1196) bytes of data.
    1176 bytes from 10.0.0.1: icmp_seq=1 ttl=60 time=283 ms
    ^C
    
  2. ネットワーク接続用にそのMTUを設定します

    ip link set eth0 mtu 1196
    

    (これは一時的なことに注意してください)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.