Digamos que seu servidor esteja em NetworkWithHttp e cliente em NetworkWithClient
Se o Roteador entre esses dois faz NAT para pacotes viajando de NetworkWithHttp para NetworkWithClient, NetworkWithClient não sabe nada sobre NetworkWithHttp: Todo o NetworkWithHttp se parece com UM host (o roteador) do seu ponto de vista.
A maneira mais fácil aqui é configurar o encaminhamento de porta (também conhecido como destino nat, DNAT), mas você não tem acesso ao roteador, certo?
Se o NetworkWithClient não estiver por trás do NAT - você pode criar um servidor VPN (qualquer sistema operacional de PC moderno e muitos roteadores de hardware suportam isso) e conectar o servidor do seu NetworkWithHttp a esse servidor VPN.
Em outros casos, você precisa de um servidor VPN em algum lugar no terceiro lugar em que as duas redes tenham acesso.
NH é um exemplo de tal serviço. Não é VPN, mas pode encaminhar o tráfego entre o cliente e o servidor.