umm hi, i have 2 adsl internet connections in my home... one cheap , unreliable one thats going to be used for p2p stuff, and one solid 1mbit line for all other things....
im using windows xp, and i found the window that lets me add more than one gateways , like the one you get when you right click on your network connection , select properties, highlight the tcp ip connection, select properties, select advanced... you know...
i have entered 10.0.0.2 first, then went into the advanced window to add 10.0.0.3
well, i intend to use the default 10.0.0.2 setting for my 1mbit line modem, and i changed the cheapo line modem to use 10.0.0.3 , and i have both of these settings set in the advanced window...
how can i make it so that i can browse the internet through 10.0.0.2 and fileshare through 10.0.0.3 at the same time? the only time when windows behaves as if i have another internet connection at all is when i disconnect or turn off the 10.0.0.2 modem....
Without adding additional hardware to your network you are asking for something that can, unfortunately, not be done.
The way you WOULD do that would be to add static routes telling the operating system to route all traffic destined for one network through the slower gateway and all other traffic through the primary gateway.
However, it would be difficult to do this for a P2P network as every time you download a file the source IP's will be different. In other words... to the best of my knowledge... you cannot tell the operating system to route data based on source/destination TCP port numbers (which is what you would need for this sort of project).
hmm I don't know if you actually *can* route data according to their source/destination tcp port numbers in windows, using a software like winroute. In unix that wouldn't be a problem, you can do it with a packet mangling software such as iptables or pf, so I don't see why it can't be done in windows too. Unfortunatelly I don't know what software is available for windows for that job, I only remember kerio's winroute to be relative.
Also an other idea I just thought, in unix, you could make a virtual interface (i.e. eth0:1), assign it an IP address on the proper subnet with gateway the router of the 2nd dsl, and then set a proxy to listen there and use the proxy to route this way by whatever software can use a proxy. Perhaps you can do that in windows too in a similar way?
It can be 'easily' done with the use of Iptables and iproute2 in Linux. The beauty of this architect is that you can select which packets will go through each gateway based on any criteria such as source-destination port or IP Address, specially marked packets using flags set in the IP header e.t.c. and it works amazingly well. Add bandwidth management to each link and you have complete control of your links!
With windows .. hmmm ... its a bit of a problem as I haven't seen it implemented as yet. Linux supported this functionality since 1997 if I remember correctly, so its a proven and well matured service under the specified operating system.
The only other way I can think of is 1) if the p-to-p software your using connects only to on or a few ip addresses, then you can modify the routing table on your Windows machine to route these addresses through the 2nd gateway, or 2) you add an external hardware device to do it for you.
ooh its right now that i cant resist saying something like
windoes = teh stuped
a port-based gateway chooser would be ideal, since the ports are what mainly defines normal and p2p internet traffic for me... but it might get confusing when my programs tries to establish connectiosn through one line , while the actual ports are open on the other , and all that jingly nonsense
sometimes i dream of having something like a shortcut switch that goes something like
"c:/program files/emule.exe" - gateway 10.0.0.3
or something, that would be so sweet right now...per program control of gateway usage...
that proxy idea sounds like a nice one, one of my programs does indeed use a proxy server... but it seems, that the program is more compatible with a proxy server than I am, as i do not even know what it is????