1

My Windows Server 2008 server has several IP addresses bound to it's network card. How do I configure it so that connections originating from certain programs, on certain ports, or to specific destinations get specified (instead of the default) source addresses?

For example, how could I configure things so that connections to port 80 or 443, or connections from Firefox use a non-default IP?

4
  • I have already written a sample project which takes a URL and IP address and browse the address with given IP address. The problem is my project is a simple project which returns HTML as text and it cannot render the page. I need an advanced browser with the same functionality.
    – Xaqron
    Dec 16, 2011 at 16:55
  • At a bare minimum, the answer would depend on your OS. On another note, this sort of question isn't really within the scope of this site - as you've described it it's more of an end-user issue.
    – Aaron
    Dec 16, 2011 at 16:59
  • 1
    End users have multihomed servers ?! I've simplified a sophisticated problem here to minimize confusion. I use Windows server 2008 as OS.
    – Xaqron
    Dec 16, 2011 at 17:43
  • @Xaqron I've proposed an edit to your question to make it more Server Fault appropriate. I have no idea if it's sufficient to get the question reopened (or even who/how does that.) If you're interested in writing a FF extension, or something, maybe you could ask about it on another Stack Exchange site?
    – jade
    Dec 16, 2011 at 19:56

3 Answers 3

2

IP route selection is done well below the browser itself, so a plugin is highly unlikely to exist.

Depending on your operating system, the IP address your TCP/IP stack selects to put on outgoing packets to random spots on the internet (otherwise known as anything covered by the default route) depends on several things.

  • If the default route gateway is only reachable by a single interface, that's the one that gets used.
  • If a single interface has multiple IP addresses on it, but are on the same subnet, the server will pick one these depending on how the stack was coded:
    • The IP address bound first.
    • The lower IP address.
  • If you have two interfaces with IP addresses that can reach a default route, the selection may be (again, depends on the TCP/IP stack)
    • The interface specified on the routing table for the default route
    • The IP bound to the interface with the smallest ordinal (eth0 not eth1, or Interface 1 not Interface 3 for windows)
    • The interface with the lowest bound IP
1
  • Specifying the source address of a socket is easily possible within the Berkeley sockets API (just call bind before calling connect.) I presume it's also possible in WinSock (whose API, IIRC, is basically a Berkeley socket ripoff ^H adaptation.)
    – jade
    Dec 16, 2011 at 19:49
1

It depends on the operating system.

Win2003 uses the "Weak Host" method. Win2008 and Win2012 use the "Strong Host" method.

More info:
http://blogs.technet.com/b/networking/archive/2009/04/25/source-ip-address-selection-on-a-multi-homed-windows-computer.aspx

0

I don't know of any browser plugins that allow you to edit the routing of a multihomed system, as such functionality would require administrative privilege.

A TCP/IP networked computer determines which interface and/or address to use for all its out-going packets based on the IP routing tables. Under Linux /sbin/route -n will show the routing for a system. The command is similar under MS Windows I believe.

If the IP addresses are on the same subnet, I believe the system will use a default route or IP address (I believe typically the first address bound to the network interface) unless configured otherwise.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .