VNC sobre a porta 80 - alguma ideia de por que isso não está funcionando?

1

Usado este tutorial para configurar o SSH através do HTTPS para o meu raspPi.

Funcionou bem, achei que poderia reutilizar a solução para encapsular o VNC em 80.

O tutorial basicamente se divide em 3 etapas simples (e acho que estou entendendo isso direito, mas não sou um profissional de engenharia de rede).

1) Este tutorial quer evitar o encaminhamento de porta.

2) O Wetty é usado para executar um 'servidor web' em uma porta aleatória que serve um terminal SSH.

3) O Beame é usado para fornecer efetivamente um comportamento do tipo 'DynamicDNS' com SSL gratuitamente. (Acredito que isso seja conseguido executando o aplicativo beame-insta-ssl no Raspbian, que eu acho que se conecta ao Beame com o Cert gerado e informa seu IP ... então quando qualquer dado atinge o URL do Beame ele é encaminhado para o IP do meu Raspberry Pi onde o aplicativo beame-insta-ssl está escutando em 80 e redireciona para qualquer porta em que o Wetty está rodando, acho que 80 está sempre aberto ??)

De qualquer forma, funciona! Eu queria então 'atualizar' do SSH antigo para o VNC, então meu pensamento era ...

1) Ter o servidor VNC em execução na porta 5901 (funcionalmente semelhante ao Wetty, apenas um serviço em uma porta).

2) Redirecionar o tráfego recebido em 80 a 5901 com o Beame (em vez de para a porta Wetty).

3) Ao tentar usar a solução, direciono meu cliente VNC remoto para o nome de host Beame na porta 80, esperando que a mágica ocorra e tudo funcione!

Infelizmente, apenas expira, o que estou fazendo errado aqui? Pensei no encaminhamento de porta, mas não precisei disso para me conectar ao Wetty rodando em uma porta aleatória, não diferente de como o servidor VNC está sendo executado como um serviço em uma porta aleatória, então eu não deveria ter que fazer isso.

Eu também me certifiquei do VNC para a porta 80 (entendendo que o redirecionamento estaria lá), ainda não funcionando.

Se você está se perguntando por que eu preciso fazer tudo isso acima de 80, é porque eu estou atrás de uma rede muito restrita em relação às portas de saída.

Alguma ideia? Obrigado

Woodstock

    
por Woodstock 11.02.2017 / 01:16

1 resposta

1

O que o feixe-insta-ssl faz é estabelecer um túnel "reverso". Ele se conecta (saída) a um corretor de túneis. Essa conexão é usada para transferir todos os dados. É muito semelhante a um SSH RemoteForward . Também é muito diferente de um serviço DDNS, porque não requer a mudança de configurações de roteador ou de firewall (de entrada).

Então, para o ponto mais importante: O corretor de túneis só ouvirá na porta 443. O próximo ponto importante: Ele é feito exclusivamente para HTTP (S). Ele usa o link . Não lida com conexões TCP genéricas ou qualquer outra coisa.

tl; dr: não funcionará .

O tutorial não configura o "SSH via HTTPS". Você não está falando com o SSH (diretamente), mas com o wetty , que vem com um servidor HTTP integrado. É por isso que funciona.

No entanto, você pode usar um serviço DDNS real, stunnel (no servidor e no cliente) e o encaminhamento de porta apropriado para crie um servidor VNC protegido por TLS. Ele também poderia escutar na porta 443, possibilitando a conexão via proxies HTTP e / ou através de firewalls restritivos.

Como alternativa, você pode consultar o Guacamole , que fornece "HTML5 SSH / VNC". É muito parecido com wetty , mas também faz VNC e transfere arquivos por SFTP. Hospedar é muito simples usando o Docker . Também exigiria DDNS e encaminhamento de porta.

Se você não puder configurar encaminhamentos de porta, serviços de host ou não tiver um endereço IPv4 público (devido a CGNAT, DS-Lite, o que for), procure um serviço VPN que permita serviços de hospedagem ou alugue um VPS para jogue corretor de túneis sozinho.

    
por 11.02.2017 / 17:08