Vc está fazendo redirecionamento do IP da rede externa para a rede interna, correto?
O que acontece é que quando uma máquina da rede interna tenta acessar esse servidor, o pacote tem endereço de destino externo, e endereço de origem interno. Esses pacotes batem no roteador e são redirecionados, passando a ter endereço de destino interno.
Quando o servidor recebe esse pacote, ele vê o endereço de destino interno, e responde diretamente à origem, com o seu endereço interno. Só que a origem estranha, pois abriu uma conexão pra 189.11.189.11, e não pra 192.168.0.214. Resultado, a origem descarta o pacote.
Pra isso não acontecer, o servidor não pode responder diretamente à origem. O pacote tem que passar pelo roteador, pra que ele possa desfazer a troca de endereços.
Tem 3 soluções pra isso:
1. Redirecionar a origem do pacote pro IP do roteador/firewall. Isso faz com que o servidor responda pro roteador, em vez de responder diretamente à origem. Assim, o roteador tem a chance de destrocar os endereços, fazendo com que o pacote volte à origem com os endereços corretos.
A desvantagem desse método é que todos os acessos vão parecer estar vindo do roteador, inutilizando seu log de acesso.
2. Colocar o servidor numa sub-rede separada --- uma DMZ, por exemplo. Assim o pacote vai ter que voltar pro roteador, pra voltar pra rede interna.
3. Usar seu servidor DNS interno pra responder endereços diferentes pra quem acessa de dentro e de fora da sua rede. Assim vc pode acessar o servidor usando o endereço interno.