Pacotes SSH truncados, pacotes HTML ilegíveis, mas não em todas as situações

1

Estou tendo um problema muito estranho com cabeçalhos perdidos em pacotes ao tentar entrar em contato com uma VM guest.

Eu tenho o bare metal rodando o CentOS 7 e o VirtualBox v.5.0.14. Eu, então, tenho um convidado executando o Ubuntu 15.10 usando redes em ponte. Ele pegou alegremente seu endereço IP do nosso servidor DHCP. O convidado está executando o SSH e o Apache.

Todos os firewalls estão desativados no host do VirtualBox, no convidado e em todos os clientes usados nos testes abaixo.

Eu posso enviar SSH do convidado para qualquer outro host Linux em nossa rede. Também posso conectar-me aos serviços do Windows Samba, servidos por hosts do Windows = D

  • O SSH e o Apache funcionam ao acessar convidados do host do VirtualBox. Da mesma forma, eu posso SSH para o host VBox de guest = D
  • O SSH e o Apache funcionam ao acessar convidados de um laptop Ubuntu = D
  • O SSH e o Apache funcionam ao acessar convidados do CentOS 7 VM = D
  • O SSH para o host VBox usando o PuTTY no Windows funciona bem = D

Tudo está funcionando como deveria, certo?

  • O SSH de qualquer host do Windows usando o PuTTY resulta em um erro "O pacote foi distorcido na decodificação" = (
  • O Apache de qualquer host do Windows resulta em uma saída de texto ininteligível na tela ou tenta fazer o download de um arquivo que contenha o mesmo texto ininteligível, dependendo do navegador = (

Usar o Solaris para obter a página da Web do Apache ou o SSH nos fornece um pouco mais de conhecimento. Eu estou supondo que está se comportando da mesma forma que os hosts do Windows, exceto que nós obtemos mais resultados de depuração.

ssh fullyqualifiedguesthostname
0000 0000 0000 a89f
Disconnecting: Bad packet length 0.

O final dessa linha de números é diferente a cada vez, com uma string hexadecimal. isto é     0000 0000 0000 xxxx

E ao usar o wget para obter a página da Web ...

wget --no-proxy fullyqualifiedguesthostname
--09:57:38--  fullyqualifiedguesthostname
       => 'index.html'
Resolving fullyqualifiedguesthostname... x.x.x.x
Connecting to fullyqualifiedguesthostname|x.x.x.x|:80... connected.
HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
Length: unspecified

[      <=>                            ] 11,638         2.33K/s

09:57:43 (2.33 KB/s) - 'index.html' saved [11638]

Observe o Nenhum cabeçalho, supondo HTTP / 0,9

Além disso, leva alguns segundos para baixar esse arquivo de 11Kb.

Usando o wget em um host do Ubuntu:

wget --no-proxy fullyqualifiedguesthostname
--2016-02-26 10:08:06--  fullyqualifiedguesthostname
Resolving fullyqualifiedguesthostname (fullyqualifiedguesthostname)... x.x.x.x
Connecting to fullyqualifiedguesthostname (fullyqualifiedguesthostname)|x.x.x.x|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11321 (11K) [text/html]
Saving to: ‘index.html’

100%[=========================================================>] 11,321      --.-K/s   in 0s

2016-02-26 10:08:06 (160 MB/s) - ‘index.html’ saved [11321/11321]

Sem problemas, sem mensagens sobre falta de cabeçalhos, isso é feito em um piscar de olhos, como você esperaria.

E agora, aqui estão as primeiras linhas do arquivo index.html que foi baixado no host do Solaris:

cat index.html
.1 200 OK
Date: Fri, 26 Feb 2016 10:18:26 GMT
Server: Apache/2.4.12 (Ubuntu)
Last-Modified: Tue, 26 Jan 2016 15:38:24 GMT
ETag: "2c39-52a3e79e18489"
Accept-Ranges: bytes
Content-Length: 11321
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

Código HTML normal e não protegido segue isto.

O arquivo index.html baixado no host Ubuntu NÃO contém estas primeiras linhas. É apenas o código HTML.

Estou assumindo que os cabeçalhos ausentes são o que está causando o texto ininteligível ao acessar a página da Web a partir de um host do Windows - os navegadores não sabem o que é o arquivo e, portanto, não sabem como exibi-lo. Eu também estou assumindo que o mesmo vale para as falhas SSH - falta de cabeçalhos.

Também devo observar que posso fazer ping do convidado de qualquer lugar, Windows, Linux, Solaris.

Eu acho que praticamente captura todas as variáveis nessa teia de confusão.

Alguém sabe o que diabos está acontecendo?

    
por Andy Foster 29.02.2016 / 14:36

1 resposta

0

Alterei o Tipo de adaptador de rede do sistema operacional convidado para "Rede para virtualização (virtio-net)" e todos os problemas desapareceram.

    
por 10.08.2016 / 12:27