Você está correndo para o problema NAT do hairpin. O problema é o seguinte:
- Seu cliente abre uma conexão com [externalIP]: 5900
- Seu gateway converte o endereço de destino para [InternalIP]: 5900
- Seu servidor em [internalIP] vê uma conexão de [InternalIP-2] e envia um ACK para [InternalIP-2]
- Seu cliente vê um ACK de [InternalIP-2] e não de [externalIP] como estava esperando, e o descarta. Nenhuma conexão é estabelecida.
O gateway precisa ser inteligente o suficiente para traduzir os endereços de origem para si mesmo, para que ele possa lidar com as traduções corretas. Os roteadores de consumidores geralmente não suportam essa operação. O método usual é apenas usar o IP interno ao conectar-se internamente ou usar uma configuração de DNS dividida.