Há um servidor Windows remoto em uma rede privada à qual eu posso conectar via Conexão de Área de Trabalho Remota. Eu gostaria de poder fazer conexões TCP / IP do meu computador para outros computadores na rede desse servidor.
A Conexão de Área de Trabalho Remota possibilita o compartilhamento de impressoras, unidades e outros recursos locais por meio da conexão. Existe alguma maneira de "encapsular" uma conexão TCP / IP via RDC?
Eu gostaria de algo semelhante ao encaminhamento de porta fornecido pelo SSH. Não vejo nenhuma maneira de fazer isso via RDC, mas espero que a capacidade esteja lá e simplesmente não sei.
fonte
Se você estiver executando o rdesktop no lado do cliente (em vez do cliente nativo do Windows), poderá usar o rdp2tcp .
Permite gerenciar o encaminhamento de portas TCP através de uma conexão RDP.
fonte
Não encontrei nada melhor do que o rdp2tcp para usar com um Windows Server que não permitia acesso de administrador ou roteamento de rede interface a interface. Você precisará fazer o patch OOP no seu rdesktop para que isso funcione (vá para as últimas páginas para encontrar o que corresponde a uma versão recente do rdesktop). Eu usei o compilador MinGW para compilar o final do túnel do Windows.
A documentação também é excelente e concisa.
O que pode parecer um ponto menor: se você usar um nome 'addin' com '-', o rdesktop falhará ao analisar a linha de comando corretamente. Isso pode ter sido um basismo que exigia uma fuga adequada, mas não tenho certeza.
Observe que, pelo que entendi, esse não é um túnel TCP 'verdadeiro' que 'vê' as unidades de dados do Protocolo TCP, pois isso não seria possível sem privilégios de administrador no lado do Windows. É mais como um proxy de meias com um ponto de extremidade pré-configurado (embora não seja muito consequencial). Ele também possui um proxy de meias real, se você gosta disso.
Eu gerenciei facilmente uma sessão SSH interativa com ele, mas ele não aguentou transferências de arquivos SSH (deu 'canal virtual desconectado' no console do rdesktop (o rdp2tcp é executado como seu processo filho com stdout / stdin dup2'ed / canalizado pelo rdesktop , mas sem alteração para stderr)). Havia uma constante na fonte chamada RDP2TCP_PING_TIMEOUT que parecia um tempo limite de manutenção permanente para sustentar o túnel. Supondo que algum tipo de limitação na rede intermediária, o aumento de 5s para 900s parecesse ter funcionado e aguentava transferências de até 100MB (levou cerca de 15 minutos nessa rede específica).
Além disso, no entanto, o rdp2tcp recebeu um SIGPIPE, que ele alegou ter recebido devido a uma interrupção no pipe do rdesktop, embora eu não tenha encontrado nenhuma evidência disso acontecendo no código do rdesktop ou na saída de ' lsof 'que não mostrou nenhuma alteração no número de pipes para o rdesktop antes e depois do gatilho SIGPIPE.
Se isso acontecer, você precisará reiniciar o rdesktop e, possivelmente, também o lado do Windows do túnel. Você pode usar o rsync e retomar as transferências de arquivos, e talvez possa automatizar todo o processo de recuperação.
Tudo isso assumindo o Linux como seu cliente. Não tentei o rdesktop corrigido no Windows devido a algum problema não relacionado que tive com o Cygwin / X. Eu acho que deveria funcionar.
Além disso, minha experiência foi com o SSH, mas grandes transferências de arquivos por qualquer outro meio provavelmente atingem os mesmos problemas.
fonte
Eu acho que você pode usar o encaminhamento de porta local para o RDP:
A é Windows ou Mac, B é Linux e C é Windows. Se você deseja RDP para C de A e C, não é diretamente acessível a partir de A e, em seguida, A
Abra o cliente RD e, em seguida, aponte 127.0.0.1:7777, use o nome de usuário e a senha de C. Tentei isso no Mac, mas devo funcionar no Windows.
fonte