5

I'm on Windows 10 22H2 and I want a different VPN (or proxy?) for every program on my computer. I've seen ForceBindIP mentioned: is that a viable solution? I would want this to be scalable, so 10-15 apps with different IP addresses. I would need 15 VPNs running in parallel.

Edit: I've also seen split tunnelling advertised by VPNs. Can I just have multiple VPNs all using split tunnelling to only divert the traffic of the individual apps?

9
  • 8
    Honestly, is that the answer you are looking for? Maybe you are asking the wrong question... what is the purpose or application "big picture" here you are trying to accomplish and why?
    – acejavelin
    Jun 9, 2023 at 14:22
  • I wanted to see if I could replicate the external appearance of apps running on one computer look like they're completely unrelated, but without virtualisation.
    – ind6
    Jun 9, 2023 at 14:23
  • 1
    Yeah virtualisation is likely your only answer. Even if you could get all those VPNs to work (I doubt it), in all likelyhood it wouldn't help since the apps wouldn't be communicating with each over over the internet, they'd be doing so directly on the same machine. Only possible exception might be internet connected services (email, web services etc), where you can configure the IP they're listening on etc... but since I don't think most VPN providers allow inbound connections like that it wouldn't work as you'd be unable to connect to the machine via the external connection. Jun 9, 2023 at 15:54
  • 4
    That's generally what ports are for. Why do you think you need a separate IP address for each instead?
    – Luaan
    Jun 10, 2023 at 5:55
  • 6
    xyproblem.info What are you trying to achieve? Jun 11, 2023 at 17:50

4 Answers 4

10

Mostly the answer is yes:

  • Some apps having binding to specific IP addresses built in - the only ones I know of are server apps such as IIS, Exchange, and SQL Server, but apps for desktop OSes might exist with this capability.
  • You could containerize each app or virtualize each app.
  • For web apps there are web servers, like Apache Tomcat and node.js, which will run on Windows 10 and allow you to create separate bindings for each web app.

I don't think VPNs would help. And generally it's not effective to use VPNs for things they weren't meant for. VPNs encrypt/secure communications. If security is not your goal, then VPNs are not the best solution. If security is your goal, then separate IPs is also not the best solution, and neither is using Windows 10.

The best way to host multiple web apps on the same platform is not to use multiple IPs. Better is to use an application layer proxy and multiple hostnames. The proxy receives a request for a specific hostname and is configured to route that request to a specific port on the hosting server or device.

2
  • 2
    Most application protocols don't include sending the hostname, so name-based virtual servers are not possible. HTTP is almost unique in this regard.
    – Barmar
    Jun 11, 2023 at 13:44
  • @Barmar Good point. Edited Jun 11, 2023 at 14:24
7

That is not really practical and not how incoming / outgoing traffic works. Apps do not need separate IP addresses to work properly.

You need to make sure 15 VPN clients do not collide - they well might.

ForceIP does not appear to be adaptable to multiple VPN clients.

Overall, this appears much more complex than could actually be achieved.

2

You would indeed 15 VPNs running in parallel, which will create 15 virtual network adapters, or perhaps one VPN product but with 15 different user accounts.

The problem of connecting processes to these virtual adapters will become a real pain. There will also be a big problem with each VPN trying to set itself up as the internet gateway for the entire computer, creating a real mess.

I think that a workable solution will be to create 15 virtual machines, where each will connect to a different VPN, and run the processes inside these VPNs. You could create one VM and duplicate it with only changing the network name of the VM and the MAC address of its (virtual) network adapter.

You would need a good computer to run 15 virtual machines with Windows, and will also have a problem with activating 15 copies of Windows. Perhaps having it work for only the trial period of Windows is enough.

If you could run the processes in a Linux VM, this will solve the license problem, and also there exist very small Linux distributions that take up much less resources than Windows.

1
  • 4
    Seems like overkill to create 15 VMs all running Windows, when Windows Containers or Linux Docker containers can be used instead, but you might lose your ability to assign individual IP addresses in the process. However, I don't fully understand, the purpose of wanting to do that.
    – Ramhound
    Jun 9, 2023 at 16:07
2

Fifteen virtual machines or VPN clients running would probably produce an incredible amount of overhead. I think that you might be able to achieve what you want with a tool called Proxifier, and a list of proxies.

I think that VPN connections may inherently necessitate more overhead (CPU usage) than proxies. You can easily find entities online selling lists of proxies for money. There are probably alternatives to Proxifier that don't cost money, but I didn't bother to do much research.

Essentially it will look like a list of executables and the configuration you have set for each. You'll enter a different proxy for each program from the list you bought. And from my limited experience, there is very little overhead so it may actually be completely feasible.

You must log in to answer this question.

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