2012-08-16 20 views
39

Hay un cierto servidor ubuntu 10.04 donde si ssh un archivo en él desde cualquier servidor que está fuera de la oficina donde está este servidor (es decir, cualquiera de uso el scp-ing en este servidor a través de LAN desde dentro de este servidor siempre funciona por alguna razón), luego scp-ing falla para cualquier archivo de más de 2112 kB de tamaño, y está atascado en 2112 kB. Así enviando un archivo grande con SCP a ciertos puestos de servidores exactamente a 2112 kB

scp -vvv /home/attila-szeremi/aszeremi.tar.gz [email protected]:~/aszeremi.tar.gz 

muestra algo así como 1% 2112KB 909.2KB/s - stalled - dinámicamente al final, en el que el KB/s se vuelve más y más.

¿Alguien sabe lo que puede estar causando esto y cómo puedo solucionarlo?

Lo que he intentado hasta ahora:

  • La limitación de la velocidad con la SCP -l 2000. Se acaba de hacer más lento el envío de archivos, y en 2112 kB se quedó atascado de nuevo.
  • Habilitación de la compresión con -C. Todavía estaba estancado en el mismo tamaño.
+0

Compruebe que el destino tenga espacio para todo el archivo. – Thor

+0

Mismo problema. Ninguna de las [respuestas] (http://linuxsecure.blogspot.com.es/2008/05/scp-stalled-through-firewall-ssh-no.html) me ayudó. Cambié a 'rsync' y el problema desapareció. No es una solución sino una solución decente en mi caso. –

Respuesta

30

Parecía haber encontrado la solución. Tenía que establecer valor de MTU de la tarjeta LAN a 1492 por:

# ifconfig eth0 mtu 1492 
+0

¡Gracias! Esto resuelve el problema de estancamiento de SCP que tenía al copiar archivos a una máquina virtual CentOS 6.4. Las transferencias se detendrían en el mismo punto de 2112 KB. – davidjb

+0

Aquí está 2014, ejecutando la última versión de Debian, nueva instalación y ¿esto sigue siendo un problema en mi PC? Gracias por la corrección. ¿Alguna idea de por qué no está 1492 fuera de la caja? – sleeves

34

La única manera me las arreglé para deshacerse de este problema era por disabling TCP SACK:

$ sudo sysctl -w net.ipv4.tcp_sack=0 
+1

¡Trabajé en Ubuntu 12.04, gracias! – iRonin

+2

Funciona en Ubuntu 14.04 también. Cambiar el MTU o limitar la velocidad no había ayudado.Después de deshabilitar SACK, pude volver a una velocidad ilimitada sin ningún problema. Esta debería ser la respuesta. –

+0

me sale el error: unknown oid 'net.ipv4.tcp_sack = 0' en mac – Shaegorath

11

En los sistemas Linux más nuevas del ifconfig comando puede haber sido reemplazado por ip

el comando para establecer la uTM se convierte en:

# ip link set dev eth0 mtu 1492 
2

me quedé atrapado con el mismo en una Mac OS X y@ respuesta de dav.garcia lo hizo por mí con un pequeño cambio:

$ sudo sysctl -w net.inet.tcp.sack=0 
0

que estaba viendo el mismo problema. Ninguna de las sugerencias anteriores funcionó para mí, pero me llevaron por el camino correcto. Estaba detrás de un cortafuegos con la configuración MTU configurada en 1300. Configurar el MTU de mi tarjeta LAN realmente bajo (576, algo aleatorio) causó que mis paquetes dejaran de caerse.

$ sudo ifconfig eno1 mtu 576 

Tenía que hacer esto en cada uno de mis clientes Linux. Por alguna razón, la máquina de Windows en la misma subred no tuvo ningún problema.

Cuestiones relacionadas