ls -al paras em uma sessão ssh

2

Eu tenho um problema muito estranho quando eu entro em uma máquina remota usando o ssh. Aqui está o cenário:

  1. Eu faço login em uma máquina remota usando o ssh (esta máquina não está na lan local)
  2. eu faço ls (funciona)
  3. eu faço ls -a (funciona)
  4. eu faço ls -l (funciona)
  5. eu faço ls -al .bash_profile (funciona)
  6. Eu faço ls -al (falha após listar 2 diretórios ... o terceiro diretório teria sido .bash_profile)

Quando eu faço login nesta máquina usando o ssh de outra máquina em sua rede local, tudo funciona bem.

Alguém por favor pode me ajudar a depurar este problema?

Update1: Como Dan sugeriu, tentei brincar com o tamanho. No entanto, apenas para eliminar qualquer problema com ls tentei fazer

$ls -al >> ls_op.txt (this worked)

Então eu fiz

$ls >> ls.txt  

até o tamanho de ls.txt ter 1020 bytes e, em seguida, você fez $cat lx.txt (isso também funcionou)
Eu novamente fiz 'ls > > ls.txt 'para derrubar o tamanho do arquivo em 1024. O tamanho do arquivo agora era 1360 bytes. Fazendo agora $cat ls.txt (falha)

Portanto, definitivamente há algum problema relacionado ao tamanho dos pacotes. Veja mais algumas informações. Existem 2 locais físicos, digamos A e B.

Quando estou em uma máquina em A e faço login em uma máquina em B, posso cat um arquivo maior que 1024 bytes.

No entanto, quando alguém está em B e eles fazem login em uma máquina em A, eles podem cat um arquivo com menos de 1024 bytes, mas não podem cat um arquivo maior que 1024 bytes.

Alguém pode me ajudar com o próximo passo. Posso editar arquivos de configuração em qualquer uma das máquinas para que isso funcione, ou isso precisa de alguma configuração no nível da rede?

Obrigado novamente por sua ajuda.

Update2:

ifconfig eth0 mtu 512  

Mudar o mtu da máquina na rede A resolveu o problema.

-
Obrigado, obrigado Parag

    
por Parag 06.10.2009 / 11:48

1 resposta

5

Eu me arriscaria a ser algo relacionado a MTU / fragmento com a rede local ou upstream da estação de trabalho. A quantidade de dados retornados por ls -al poderia ser suficiente para inclinar a balança e fazer com que ela parasse. Eu imagino que você deve ser capaz de replicar o mesmo comportamento com qualquer grande quantidade de dados, como cat 'ing ou SCP' um arquivo grande.

Atualização:

A partir dessa informação, é definitivamente relacionado a MTU. É mais provável que seja um problema na fronteira de qualquer rede e você terá que sujar as mãos. Você pode tentar mexer em MTU / MSS externo de qualquer roteador. Mas deixe as configurações individuais da máquina como padrão, a menos que a rede interna indique o contrário.

Existe algum protocolo em particular envolvido que conscientemente vai comer nos últimos poucos bytes do datagrama, como PPP (oA ou oE) e encapsulamento VPN? Você está ciente de PMTU (ICMP Destination Inreachable) está sendo bloqueado? Você é capaz de realizar e observar capturas de pacotes na fronteira da rede?

    
por 06.10.2009 / 11:53

Tags