• server running Windows Server 2008 R2 with two NICs and running IIS
  • two Internet connections
  • we can only get one IP address on each Internet connection.
  • two routers
  • we want to serve two websites, one from each Internet connection/IP address

We cannot seem to get both working at the same time -- from outside the router. It seems like the issue is the default gateway. Only one NIC can send packets to the wilds of the Internet.

Is there a way to say "If the packet comes in on interface A, send the reply back out interface A (gateway A?). If the packet comes in on interface B, send reply on interface B (gateway B?)."

  • Why not simply bond the two ethernet cards into one? – mdpc Oct 9 '14 at 2:08
  • 1
    @mdpc they indicate that there's two routers involved. Teaming won't work. -- Weehooey, from what I understand about Windows it doesn't support what you're trying to do it can only use one default gateway at a time. (I might be wrong about this, hence the comment instead of an answer) It is possible to load balance outgoing connections, but it may not be possible to always respond out on the interface the request initially comes into to. You'll need to put a router in front of the windows server that can handle multiple WANs. On Linux this is facilitated with iptables ip rules under iproute2. – Gene Oct 9 '14 at 2:16
  • That last sentence should be: On Linux this is facilitated with iptables and iproute2. – Gene Oct 9 '14 at 2:21
  • 1
    The rule you state in your last paragraph is the wrong rule. For one thing, how would it work if a packet is not a reply? What you mean is this: For an outbound packet whose source address is bound to interface A and whose destination address is not covered by a more specific route, send the packet using the default route whose next hop is reached through interface A. (And the same for interface B.) – David Schwartz Oct 9 '14 at 2:47

No version of Windows can do what you're looking for. Basic policy-based routing functionality in Linux can, for example, do what you want. Windows has never had this functionality though. You're going to have to use something upstream from the Windows machine to accomplish what you're looking for.

  • 1
    Note that "upstream" can be a VM hosted by the Windows machine. – David Schwartz Oct 9 '14 at 2:48
  • 2
    @DavidSchwartz - Definitely. A Linux VM running in Hyper-V would take care of this in short order. – Evan Anderson Oct 9 '14 at 2:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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