Mac OS X solo cargará archivos de cero bytes a través de FTP


3

Estoy usando Mac OS X Lion y he tenido este problema con FTP (cualquier cliente FTP, fíjate. Intenté Transmitir, FileZilla, Cyberduck y la Terminal, todo con el mismo resultado)

Puedo buscar archivos en mi Cliente FTP, pero cuando subo archivos, el cliente se cuelga por unos segundos, luego piensa que cargó los archivos con éxito, pero solo crea un nuevo archivo con una línea en blanco. A veces, logra cargar 4-5 líneas.

Luego regresa:

226 - Error durante la lectura de la conexión de datos
226 Transferencia cancelada

Pero 2xx es un mensaje de éxito. No es un problema del servidor, ya que cualquier máquina con Windows se cargará bien usando la misma red. ¿Alguien puede descubrir cuál es el problema? Hace que mi Mac sea inútil para el desarrollo web.

El problema persiste con SFTP y FTP con SSL / TLS.

Respuestas:


1

El problema desaparece cuando toma el enrutador y se conecta directamente a través de PPPoE.

A primera vista, el problema está en el enrutador. Pero no, el problema es con la Mac que se conecta a través de un enrutador que se conecta a través de un PPPoE e intenta cargar usando FTP. Bastante específico, lo sé.

El problema es con la MTU (unidad de transmisión máxima). Aparentemente, Mac OS X divide el archivo en fragmentos que son demasiado grandes para que el enrutador los envíe, porque la MTU del enrutador se configuró por debajo de la de Mac OS X.

El enrutador aquí era 1492, lo cual está bien, pero donde la MTU de la Mac es 1500, esto es inaceptable. Realmente no entiendo por qué funciona directamente con PPPoE.

Si encuentra el mismo problema, así es como lo diagnostica y lo soluciona:

En la terminal, ejecute lo siguiente para ver cuál es el MTU para en0 (o en1, el mío era en0):

ifconfig | grep mtu

Si son 1500, corre

sudo ifconfig en0 mtu 1300

Esto debería resolverlo.

Si es así, solo puede ser hasta el próximo reinicio. También puede cambiar la MTU en Preferencias del sistema \ Red \ Ethernet -> Avanzado \ Hardware


Edición posterior:

Solución de una línea (si desea usarlo como una Extensión Alfred o ejecutarlo al inicio, reemplácelo con su contraseña de sudo):

echo <password> | sudo -S ifconfig en0 mtu 1300;
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.