Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking into using a proxy and am curious on some of the requirements I have. Will I be able to do the following:

  • Assign a user a single IP from the proxy, daily? (What I mean by this is that a single user is "assigned" a single IP through which to proxy information through for the day.)
  • Hide header information?
  • Is there any way to identify the proxy from the receiving server?

If you happen to have any links that could also help me get to where I am going, I'd appreciate it. I was looking at Squid as a proxy for the time being.



share|improve this question
Please could you explain what you mean by 'Assign a user a single IP from the proxy, daily'? – Bryan Feb 22 '10 at 12:57
up vote 1 down vote accepted

"Single IP from the proxy" - this sounds like you're looking for DHCP services. Are you interested in assigning a new IP address to a single individual on a daily basis? If so, then DHCP is what you need to be looking at. That's not the function of a proxy.

Hide Header Information - What do you want to hide and from whom? You can get proxies that strip or replace both request and response headers, but do note that this is a violation of the HTTP protocol standard.

Identify proxy from the receiving server - Per the HTTP protocol standard, HTTP gateways and proxies must insert a Via: header in the request/response chain. By inspecting these headers you will be able to identify any [properly behaving] proxy that handled the request.

If you want stable, fast and free then Squid will fit the bill, but if you can give more information on exactly what you want to accomplish and a little more explanation of the above it would help us to give a more definitive answer.

Toward your comments, what you're looking at with the single IP address bit is called NAT (Network Address Translation) which is typically not handled by your web proxy. I'm not sure if there is a Squid module that will allow it to do NAT, I've never used Squid for it. NAT is usually performed by your border device (firewall, router, etc).

It's possible to disable the Via: header in Squid in the squid.conf config file (see the docs) but, again, it's not necessarily the best idea. If you want to completely mask that you're using a proxy then you'll need to use this option, along with NAT (which you might already be using anyway).

The destination server will see the request come from the public IP of either your NAT device (ie- firewall or router) or your proxy, whichever you have sitting in between the Internet and your network. Your client's IP will only be seen by the destination if it makes a direct request using a public IP and there are no other proxies or gateways in between.

share|improve this answer
For the single IP from a proxy, what I mean is a person running through the proxy gets a single IP in the proxy IP table and uses it as their own. Is this possible? Also, with the "Via:" header, can this be disabled? Please note, none of what I want to achieve is for malicious purposes. – Kyle Rozendo Feb 23 '10 at 6:53
Sorry, too late to edit my prev comment, all I want to "hide" persay is the original users IP address, and use the proxies instead, without revealing that it is in fact a proxy. – Kyle Rozendo Feb 23 '10 at 6:59
@Kyle: see my edit. – squillman Feb 23 '10 at 14:28
Awesome, thanks a ton. +1 and Accepted :) – Kyle Rozendo Feb 26 '10 at 7:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.