I have a small branch office, which has two internet connections from two different ISPs, each providing us with a /29 (eight IPs).
I currently have an extranet server there (basically a web server in the DMZ that has a limited connection to one of our internal database servers - so I really need to keep it on-site). It's presently using one of the IPs from one ISP.
I'd like to set it up to listen on the other ISP too as a failover mechanism. I appreciate that I will need to be pretty clever with DNS to make this work, but I have access to an Active Failover option on DNS (courtesy of Dynect) so that shouldn't in itself be impossible.
However, I can't work out how to get the routing to work.
The server is in a DMZ, which contains a router and two firewalls. If I set the default gateway to the router, then all outbound traffic goes through the primary ISP while it's up and gets rerouted to the secondary when the primary is down (we use object tracking on a Cisco router). If I point the default gateway to one of the firewalls, then all traffic goes to that ISP.
What I'd like to do is set up two IP addresses on my server - either both on the same NIC, or on separate ones; I do have a second NIC if that helps - and reply to traffic that comes in to one IP through one firewall and to traffic on the other IP to the other firewall.
I tried putting the two different NICs on different IPs with different default gateways, but that doesn't work - the routing table in Windows doesn't determine routes by the source address of the traffic.
There are things I can do with routers - though that probably means getting something more powerful than what I have - but I was wondering if anyone knew a Windows way of making TCP responses go to different default gateways depending on which IP address they originate from on a multi-homed server, ie routing based on the source address rather than purely the destination?
I know that Linux can do this with iproute2 but can Windows, perhaps using RRAS?