SSHFS sobre VPN congela em grande parte

SSHFS sobre VPN congela em grande parte

Estou executando o SSHFS em uma conexão VPN. Ao tentar enviar um pedaço de 1270 bytes para um arquivo neste sistema de arquivos remoto:

head -c 1270 /dev/urandom > /path/into/the/sshfs/foo

todo o sistema de arquivos congela e permite que qualquer processo que tente acessá-lo seja interrompido. Isso só pode ser corrigido eliminando 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 este valor + 1 (embora um valor de 300 o reduza para 1183). Infelizmente, aumentar o valor não ajuda, o limite permanece em 1270 bytes.

De alguma forma, é uma coisa com buffers. Se eu usar gravações consecutivas, tudo funcionará bem:

(head -c 1269 /dev/urandom
 head -c 1269 /dev/urandom) > /path/into/the/sshfs/foo

Também não parece ser um problema do ssh subjacente porque um

ssh remote_host "bash -c 'head -c 2000 /dev/zero | tr \\\0 0'" | wc -c

funciona bem e imprime 2000conforme o esperado.

No entanto, o encaminhamento X também não parece funcionar, então talvezéum problema de ssh abaixo.

Tentei alterar o tamanho do MTU de 1412 para 1500:

ifconfig tun0 mtu 1500

mas sem qualquer efeito.

É um problema conhecido? Posso de alguma forma corrigir/prevenir/contornar isso?

EDIT: Estou usando uma VPN FritzBox (um roteador doméstico) (aparentemente do estilo "cisco", mas não sou especialista neste assunto) e um Ubuntu 16.04 para acessá-lo de fora.

Notei também que quando testo isso através de uma linha de celular com um laptop, o problema não ocorre. Isso só ocorre quando estou no site remoto que está atrás de algum firewall restritivo. Observe, porém, que a VPN funciona em geral, apenas o aspecto sshfs (e o encaminhamento X) parece ser problemático.

Responder1

Provavelmente você tem um problema de MTU causado pela sobrecarga da VPN. Aumentar o MTU como você fez não resolverá o problema, porque torna o MTU maior que o tamanho máximo de pacote disponível para a mídia (presumo que você não esteja usando jumbo frames em um ambiente somente LAN).

Na verdade, uma solução pode ser DIMINUIR o mtu do dispositivo de túnel.

Você não especificou a VPN ou os roteadores. A maneira como resolvemos esse problema é fixando o MTU no nível do sistema operacional. Alternativamente/adicionalmente, se você estiver usando o OpenVPN, existem diretivas que você pode usar para pacotes fragmentados, por exemplo, usando mssfix - você pode querer dar uma olhadahttps://www.sonassi.com/help/troubleshooting/setting-correct-mtu-for-openvpne também a opção de fragmento -https://blog.hambier.lu/post/resolvendo-openvpn-mtu-issues

informação relacionada