Depois de esclarecer sua configuração como discutido acima, seu sistema se parece com isso:
P -- R -- M1 -- M2 -- W
R é um roteador NAT que permite apenas conexões de P a M1 , mas não o contrário e todos os nós devem ser usados para estabelecer uma conexão.
Solução 1
Seu único problema real é o R do roteador sobre o qual você não tem controle, então você deve de alguma forma estabelecer um túnel para permitir que W se conecte de volta. A solução mais simples seria ter P estabelecer uma conexão SSH com M1 e estabelecer uma porta reversa para a frente.
Você pode configurar um segundo túnel SSH de W para M2 para encaminhar pacotes locais para a porta inversa encaminhada em M1 , que por sua vez pode ser usada para estabelecer uma conexão SSH encapsulada a partir de W para P .
Solução 2
Agora, isso adiciona bastante complexidade a toda a configuração, o que a torna propensa a erros. Uma solução melhor seria estabelecer uma conexão VPN entre W e M1 , P e M2 e entre M1 e M2 . Em seguida, você pode estabelecer um roteamento usando um intervalo de endereços privados de W a P nesses três túneis. Para que isso funcione, você precisa ter acesso root tanto a M1 como a M2 E você precisa configurar firewalls adequados para que ninguém de fora entre nas VPNs.
Existem, é claro, outras soluções também, mas o que você precisa para pensar em como os pacotes passarão por todos esses bloqueios, a solução real pode então ser adaptada para se adequar às suas ferramentas.