From owner-freebsd-net Tue Dec 11 18:33:22 2001 Delivered-To: freebsd-net@freebsd.org Received: from mta3-rme.xtra.co.nz (mta3-rme.xtra.co.nz [210.86.15.131]) by hub.freebsd.org (Postfix) with ESMTP id 94FDD37B405 for ; Tue, 11 Dec 2001 18:33:13 -0800 (PST) Received: from internet1.masaclaw.co.nz ([210.55.57.50]) by mta3-rme.xtra.co.nz with ESMTP id <20011212023311.QMCF4439.mta3-rme.xtra.co.nz@internet1.masaclaw.co.nz>; Wed, 12 Dec 2001 15:33:11 +1300 Message-Id: <5.1.0.14.2.20011212151716.0289a4a8@mail.masaclaw.co.nz> X-Sender: masaclaw@mail.masaclaw.co.nz X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Wed, 12 Dec 2001 15:27:01 +1300 To: Kelly Yancey , freebsd-net@FreeBSD.ORG From: Tom Peck Subject: RE: 1 IP - 1 Firewall - 2 Webservers In-Reply-To: References: <5.1.0.14.2.20011212123256.02871e50@mail.masaclaw.co.nz> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hi Kelly! At 18:18 11/12/2001 -0800, you wrote: > I have to apologize, I deleted the original post, but as I recall you have >the actual forwarding working dandy. The only concern, which everyone has >failed to address, is that you want the NAT'ed web servers to know the >originating IP address for logging and IP-based security. Obviously, the >reason you don't have this now is that the originating request is intercepted >by squid on your gateway machine and then issueing a request to one of the >internel web servers using it's "inside" IP address on the originator's >behalf. You web server only ever sees the proxy's IP address. YES! That's exactly the problem! Your memory is obviously far superior to most :-). > The question, then, is how to communicate the originaters IP address to the >web server. I haven't answered previously because I'm no squid expert, but >here is the solution that comes to my head: > > You could hack squid (assuming it doesn't have a knob to do it already) to >include the originating IP address as a HTTP header in the proxied >request. Then, modify your apps on the web server fetch the IP address from >this header (i.e. via environment variable) as opposed to using the value the >web server populates REMOTE_HOST with. However, the IP address in web server >logs will still be that of the proxy unless you teach the web server to >extract the IP from the new header. Ok, now we are getting over my head some what.. Installing from source is one thing, but modifying that source before installing is another - beyond what I am willing and capable to do... > Of course, if you have the source to your web server (i.e. apache) then you >could teach it to populate REMOTE_HOST with the IP address obtained from the >squid-supplied header also and have it be transparent to your apps. And if we don't :-( One of the servers has a pre-complied OS which cannot be altered in this way. Surely there must be a simpler way!! > All the said, you would have to take extra precautions in squid to not > allow >remote clients to supply the header themselves (i.e. to replace the header if >it exists and add it if it doesn't), but this should be pretty >straightforward. > > I hope that answers your question (assuming I am remembering it correctly >:) ). Good luck! Thanks for the time taken in responding to my problem. Unfortunately we are not prepared to go to these lengths to get the thing working how we would like it.. I'm quite surprised there isn't something available to make this feasible. Cheers Tom To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message