
Estoy ejecutando SSHFS a través de una conexión VPN. Al intentar enviar una porción de 1270 bytes a un archivo en este sistema de archivos remoto:
head -c 1270 /dev/urandom > /path/into/the/sshfs/foo
Todo el sistema de archivos se congela y deja bloqueado cualquier proceso que intente acceder a él. Esto sólo se puede solucionar matando el proceso sshfs.
Si intento enviar 1269 bytes, no ocurre ningún problema.
Jugué mucho con las opciones de la línea de comandos de sshfs y descubrí que solo una opción tiene alguna influencia en esto:
-o max_write=1240
Si paso un valor inferior a 1270 aquí, el límite donde comienza a ocurrir el error se reduce a este valor + 1 (aunque un valor de 300 lo redujo a 1183). Desafortunadamente, aumentar el valor no ayuda, el límite se mantiene en 1270 bytes.
De alguna manera, es algo que tiene que ver con los amortiguadores. Si uso escrituras consecutivas, todo funciona bien:
(head -c 1269 /dev/urandom
head -c 1269 /dev/urandom) > /path/into/the/sshfs/foo
Tampoco parece ser un problema del ssh subyacente porque un
ssh remote_host "bash -c 'head -c 2000 /dev/zero | tr \\\0 0'" | wc -c
Funciona bien e imprime 2000
como se esperaba.
Sin embargo, el reenvío X tampoco parece funcionar, así que tal vezesun problema de ssh a continuación.
Intenté cambiar el tamaño de MTU de 1412 a 1500:
ifconfig tun0 mtu 1500
pero sin ningún efecto.
¿Es este un problema conocido? ¿Puedo de alguna manera arreglar/prevenir/evitar esto?
EDITAR: Estoy usando una VPN FritzBox (un enrutador doméstico) (aparentemente de estilo "cisco", pero no soy un experto en este tema) y un Ubuntu 16.04 para acceder desde el exterior.
También noté que cuando pruebo esto a través de una línea de teléfono móvil con una computadora portátil, el problema no ocurre. Sólo ocurre cuando estoy en el sitio remoto que está detrás de algún firewall restrictivo. Sin embargo, tenga en cuenta que la VPN funciona en general, sólo el aspecto sshfs (y el reenvío X) parecen ser problemáticos.
Respuesta1
Lo más probable es que tengas un problema de MTU causado por la sobrecarga de la VPN. Aumentar la MTU como lo hizo no solucionará el problema, porque hace que la MTU sea más grande que el tamaño de paquete máximo disponible para los medios (supongo que no está usando tramas gigantes en un entorno solo de LAN).
De hecho, una solución podría ser DISMINUIR el mtu del dispositivo de túnel.
No ha especificado la VPN ni los enrutadores. La forma en que solucionamos este problema es fijando MTU en el nivel del sistema operativo. Alternativamente/adicionalmente, si está utilizando OpenVPN, existen directivas que puede usar para fragmentar paquetes, por ejemplo, usando mssfix; es posible que desee consultarhttps://www.sonassi.com/help/troubleshooting/setting-correct-mtu-for-openvpny también la opción de fragmento -https://blog.hambier.lu/post/solving-openvpn-mtu-issues