I appreciate your kindness in taking time to help me...
I'm still unsure if this will solve the problem.
Here's my setup --
Two web servers.. one running FreeBSD and the other Linux. There is a router in front of it.
Two new web servers (duplicate of the old).. they are in a different hosting facility miles away, so the networks cannot be connected the way you meant.
The way WinRoute works is this:
the client uses his Web browser to load
www.whatever.com
www.whatever.com would route to say the IP address: 216.148.209.1 (for illustrative purposes)
The machine at 216.148.209.1 would accept the user's http request, but instead of giving back the Web site, the server would go ahead and duplicate the request to the NEW Web server at the 2nd location. Once the data packets are grabbed back to the 216.148.209.1 server, it hands them back to the client's Web browser as if it came from the old Web server itself. It's all transparent to the user. I've tested this myself by rerouting from an IP address to say one of
www.microsoft.com's IP addresses and it'll pull up Microsoft's Web site as if it were being loaded from my own server. EVERYTHING works, because it's just a redirect (actually extension) of packets. WinRoute allows you to do this on a service level (tcp, udp, icmp, etc), port number or range, and will redirect it to another port if that's needed. The cool thing is that this will work for just about any service... telnet, etc.
Anyway, that's how this works. I'm just looking for a similar solution in Linux/BSD. I don't think that ipchains is quite the thing, but I could be wrong. I suppose I could just try it?
Here's another diagram of what's happening:
client sends get request for Web site, since dns is cached to the old site, it tries to grab from the IP address of the old machine:
[client request] --> [old server]
at this point, instead of the old server serving the pages, it sends back the new server's data, but first has to get it from the new servers.. so it will send the exact same packets to the new server, but with a return address of the old server's IP.
[old server request to new server] --> [new server]
The new server sends back the data to the old server:
[old server address] <-- [new server sends back data]
and now the old server sends those packets back to the client and the client has no idea that they really came from the new server:
[client waiting for return of data] <---- [old server sends data from new server]
---
and that's the gist of what happens. WinRoute Pro does this very effectively, but I don't really want to spend $999 on something that could be free, and installable on a *nix machine rather than Windows.
Hope that clears up what I'm looking for..
Ryan