Se houver apenas servidores Node.js, o módulo padrão net deve ser suficiente.
A instância que está no domínio público cria um soquete e escuta as conexões de entrada. E então outro, localizado na rede privada, pode estabelecer uma conexão com ele.
A implementação de WebSocket também pode ser usada, consulte link Para maiores informações. Detalhes adicionais são necessários para saber qual seria o mais adequado às suas necessidades.