2012-05-30 01:56:55 -0700, Heine Lysemose:
[...]
You could use transparent proxying.
Otherwise, put it behing the proxy and you can still find the
source IP in the X-Forwarded-For header of the request (it needs
to be behind the proxy if you want to block the offending IP
addresses anyway).
If the proxy is squid and the OS is Linux, another solution is
to use the tproxy mode of squid, not in a transparent fashion,
have netfilter do the network translation and use ulog/nflog to
send the packets before that translation is done to SO. The
traffic SO sees is neither the traffic received or sent on any
of the proxy interfaces but the packets have the source and IP
addresses you are interested in. If you want to give this
approach a try, I can give you some more details (I've not done
it myself (I can't guarantee it will work) but the setup I have
here where it's truly transparent is very close).
--
Stephane