1

I have two (Windows 2008 R2) servers, let's call them: A and B.

Server A is running a software server (in this example Apache HTTP).

Without touching or changing anything in Apache's configuration, I need all packets from B to be routed to server A and (very importantly) for Apache to know the real visitor's IP address. Meaning when visitor 192.168.1.2 contacts Apache on server A through tunnel B, apache should log ip 192.168.1.2 and NOT 192.168.1.100

To make things even more complicated, what if I want more servers like B.

Somehow, server A should always know the real visitor's IP address no matter which server B he connects from. All this should be done in network/OS level. (Meaning: not having to configure every software server with Proxy Socks firewall or anything like that)

I am a total newbie at tunneling and networking in general, and I am so confused as to what type of tunnels is needed to accomplish this in Windows server (VPN, GRE, IPSEC?). What should I be looking for ? And would it be possible to have servers B in Linux connected to server A in Windows in a very compatible way ? I've read in this site that it was possible in theory but very difficult in practice.

Any input about this would be greatly appreciated.

techraf
  • 4,243
  • 8
  • 29
  • 44
bagtrois
  • 11
  • 1

1 Answers1

1

Based off your explanation, it seems like you more likely are looking for a reverse proxy/load balancer. That would sit in your "B" location and traffic could be passed along to your A server(s). The proxy could be deployed in a routed mode, or layer 2 mode. Either way to ensure you get the original IP logged, you want to ensure x-forwarded-for headers are sent along from your proxy.

There are free proxy software products you could install, or appliances like KEMP, Netscaler, etc.

HostBits
  • 11,796
  • 1
  • 25
  • 39
  • Thank you. But I'm not necessarly looking for a load balancer as all the processing is done in server `A` alone. I don't want to configure Apache in anyway or install any plugin for it. Apache was probably a bad example because this should apply to any other TCP server application as well. – bagtrois Oct 21 '16 at 07:25