Você precisa de um dispositivo da Camada 4 (como o squid, o apache no modo proxy ou um balanceador de carga dedicado, como F5 ou Netscaler), se desejar obter informações sobre o host original que está fazendo a solicitação. Se você fizer uma conversão NAT direta, todas as solicitações aparecerão (corretamente) como sendo do host com o endereço IP público que está se conectando ao servidor.
Um dispositivo ou servidor da Camada 4 pode adicionar um Via:
, X-Forwarded-For:
ou outro cabeçalho arbitrário à solicitação HTTP para o servidor. O servidor pode então (se desejar) usar essa informação sobre o cliente original. O Netscaler (Citrix) publica um plugin Apache que permite reescrever o pedido do apache com o valor do cabeçalho HTTP arbitrário, por exemplo.
Consulte o link para obter mais informações sobre o cabeçalho Via: e quais informações reais estão anexadas.