Se o servidor interno estiver na mesma sub-rede que o cliente, você precisará fazer o SNAT, bem como o DNAT, porque agora, aqui está como funciona.
iptables -t nat -A PREROUTING -i LAN_IFACE -d A_GOOGLE_IP -j DNAT --to-destination INT_WEB_SRV
- O PC cliente envia TCP SYN para A_GOOGLE_IP
- O roteador DNATs para INT_WEB_SRV
- O INT_WEB_SRV vê uma solicitação proveniente de um IP da LAN e responde diretamente
- O cliente recebe uma resposta do IP do INT_WEB_SRV e não do A_GOOGLE_IP
Se você é SNAT, funciona assim:
iptables -t nat -A PREROUTING -i LAN_IFACE -d A_GOOGLE_IP -j DNAT --to-destination INT_WEB_SRV
iptables -t nat -A POSTROUTING -s LAN_RANGE/mask -d INT_WEB_SRV -j SNAT --to-source ROUTER_IP
- O PC cliente envia TCP SYN para A_GOOGLE_IP
- O roteador DNATs para INT_WEB_SRV substituindo o IP de origem por seu próprio IP
- O INT_WEB_SRV vê um pedido vindo do roteador e responde a ele.
- Os roteadores DNATs o pacote para o PC cliente e substitui o IP de origem por A_GOOGLE_IP
- O cliente acha que ele está conectado a A_GOOGLE_IP
No entanto, se tudo o que você quer fazer é forçar o uso de proxy em todos, apenas DNAT todas as conexões HTTP de saída para o servidor proxy (você obterá o que é chamado de proxy transparente) e os clientes não precisarão alterar as configurações em seus computadores.