Solução 1: Do seu PC na rede A, crie um reverso ssh tunnel com algo como Putty conectando-se a um host Linux na Rede B. A porta local deve ser 3389 , o host remoto 127.0.0.1 e a porta é arbitrária (vamos usar 6000 como exemplo). Em seguida, a partir do seu PC na rede B, use massa para se conectar ao mesmo host Linux e faça um túnel para a frente. A porta local deve ser configurada para algo diferente de 3389 (pois o cliente RDP da microsoft não permitirá conexões com o host local, mas permitirá permitir conexões ao localhost em uma porta arbitrária). Então, vamos reutilizar o mesmo número de porta de 6000 , o ip remoto deve ser 127.0.0.1 e porta remota 6000 . Você aponta o cliente RDP em 127.0.0.1:6000 .
Com efeito, você se conecta à porta 6000 no PC na rede B. Putty encaminha isso para o host Linux, que foi configurado para encaminhá-lo para 127.0.0.1 na porta 6000 . A conexão de putty do PC na rede A escuta no 6000 e o encaminha para 127.0.0.1 no PC A para a porta 3389 , que o RDP aceita a conexão.
Solução 2: Configurar um SSHD no PC na rede B, e então você só tem que fazer uma única porta reversa para frente. Há SSHD Bitvise que é executado no Windows e é gratuito para uso não comercial. O Bitvise também faz um cliente separado que lida com o tunelamento RDP em conjunto com um WinSSHD. O bom desta solução é salvar nomes de usuários, configurações (como tela cheia e assim por diante), e pode ser iniciado a partir de um arquivo salvo e irá impedi-lo de configurar / lembrar de conectar a porta antes de usar o RDP.