Estou executando o SSHFS em uma conexão VPN. Ao tentar enviar um bloco de 1270 bytes em um arquivo neste sistema de arquivos remoto:
head -c 1270 /dev/urandom > /path/into/the/sshfs/foo
todo o sistema de arquivos congela e deixa qualquer processo travar que tenta acessá-lo. Isso pode ser corrigido apenas matando o processo sshfs.
Se eu tentar enviar 1269 bytes, nenhum problema ocorrerá.
Eu brinquei bastante com as opções de linha de comando do sshfs e descobri que apenas uma opção tem alguma influência sobre isso:
-o max_write=1240
Se eu passar um valor menor que 1270 aqui, o limite onde o erro começa a ocorrer é reduzido para esse valor + 1 (um valor de 300 reduziu para 1183, embora). Infelizmente, aumentar o valor não ajuda, o limite permanece em 1270 bytes.
É uma coisa com buffers, de alguma forma. Se eu uso para gravações consecutivas, tudo funciona bem:
(head -c 1269 /dev/urandom
head -c 1269 /dev/urandom) > /path/into/the/sshfs/foo
Ele não parece ser um problema do ssh subjacente porque um
ssh remote_host "bash -c 'head -c 2000 /dev/zero | tr \ifconfig tun0 mtu 1500
0'" | wc -c
funciona bem e imprime 2000
como esperado.
No entanto, o encaminhamento do X também não parece funcionar, então talvez seja um problema ssh abaixo.
Eu tentei alterar o tamanho da MTU de 1412 para 1500:
head -c 1270 /dev/urandom > /path/into/the/sshfs/foo
mas sem qualquer efeito.
Este é um problema conhecido?
Posso de alguma forma corrigir / prevenir / contornar isso?
EDIT: Estou usando um FritzBox (um roteador doméstico) VPN (aparentemente de estilo "cisco", mas não sou especialista neste tópico) e um Ubuntu 16.04 para acessá-lo de fora.
Eu também notei que quando eu testo isso através de uma linha de telefone celular com um laptop, o problema não ocorre. Só ocorre quando estou no site remoto que está atrás de algum firewall restritivo. Note, porém, que a VPN funciona em geral, apenas o aspecto sshfs (e o encaminhamento do X) parece ser problemático.