J'ai une série de fichiers que je dois copier via SCP via un VPN vers un serveur Linux distant chaque nuit. Les fichiers ne sont pas volumineux, nous parlons ici de dizaines de mégaoctets, mais la copie des fichiers se bloque presque toujours après quelques secondes. En exécutant la commande SCP avec -vvv, je vois les éléments suivants à plusieurs reprises tout au long du processus de copie tenté:
debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072
Des pensées? Je vois cette question posée à divers endroits, mais jamais de réponse. Toute aide serait appréciée.
Réponses:
Autorisez-vous ICMP via le VPN? «La connexion TCP se bloque après quelques secondes» se traduit souvent par « trou noir PMTU ».
la source
Semblable à la réponse de @ Gerald, cette page http://www.netheaven.com/pmtu.html donne une bonne explication de MTU Discovery et des options face à ce problème.
Également un livre blanc de Cisco qui traite de la fragmentation IP, de la découverte MTU et du MSS, tous relatifs aux tunnels VPN IPSec, mais est également valable pour des situations similaires. http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml
la source
Utilisez-vous la dernière version des serveurs et clients ssh que vous utilisez? Je recommanderais également de consulter leurs listes de diffusion à ce sujet, car cela semble plutôt obscur.
la source
Nous avons eu des problèmes similaires avec scp avec certains serveurs Linux (Debian, 2.6.24-etchnhalf).
Nous avons réussi à supprimer les blocages en désactivant la variable TCP tcp_sack ("tcp selective accusé de réception") sur les serveurs distants:
sysctl -w net.ipv4.tcp_sack=0
Sur Debian, tcp_sack est activé par défaut. Si je lis http://www.frozentux.net/ipsysctl-tutorial/chunkyhtml/tcpvariables.html , cela ne devrait pas avoir de sens de désactiver cette option, mais dans notre cas, cela a aidé.
Vous pouvez rendre cette modification permanente en ajoutant une ligne
net.ipv4.tcp_sack=0
à /etc/sysctl.conf (sur d'autres systèmes Linux YMMV).la source
découvrez votre Path MTU
configurer ce MTU pour votre connexion réseau
(notez que c'est temporaire)
la source