0

I have a computer, Windows 7 Pro, running a program that checks the availability of 3 different ISPs in my network. It simply pings the same host (8.8.8.8) from each ISP and takes some actions when an ISP is not responding to that ping.

To do this, I need to configure the computer with a separate connection (separate NICs) for each ISP. Right now, the only way I have to do that is by using Virtualbox and assigning 3 virtual NICs to that virtual machine. All of them are configured as bridged to a single physical NIC that is connected to a physical switch where the 3 ISPs are connected too.

So, right now this is an example of the configuration:

NIC 1:
IP 192.168.1.1
Gateway 192.168.1.254

NIC 2:
IP 192.168.2.1
Gateway 192.168.2.254

NIC 3:
IP 192.168.3.1
Gateway 192.168.3.254

This allows the program to run ping commands that are bond to a specific address:

ping -S 192.168.1.1  8.8.8.8
ping -S 192.168.2.1  8.8.8.8
ping -S 192.168.3.1  8.8.8.8

That works just fine.

I'm trying to make this work without using Virtualbox, in a real computer that has only one physical NIC. My first idea was to add the 3 IP addresses to that interface along with the 3 gateways. That doesn't work. When doing so, Windows seems to try to route the traffic from any of those ping commands through a single gateway (no matter what metric I set on them) and only one of the 3 ping commands work.

So I've been looking like crazy for some native or third party solution that allows me to add virtual NICs to Windows 7 that can be "bridged" in the same way that Virtualbox bridges the virtual NICs of a virtual machine to a single physical interface (this is, having 3 virtual NICs that have actual access to the network that the physical NIC has without depending on any routing from that physical NIC and allowing them to reach other gateways that are reachable), but I haven't found anything that can do that.

Right now I'm about to just buy 3 cheap USB to Ethernet adapters so I can just connect them to the computer and give it 3 extra physical NICs, but I'd really like to find a solution that doesn't require me to do that.

I've been reading that Hyper-V can be used to do something like this but that doesn't work for Windows 7.

Can anyone think of a way to accomplish this on Windows 7?

1 Answer 1

0

I think you want to use the -k flag instead of the -S flag. -k gives the IP of the gateway you want to use for the ping.

ping -k 192.169.1.1 microsoft.com

source: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ping

1
  • I tried it with both (one at a time) /k and /j. None of them seem to work, not even for ping commands that were working fine before. The documentation says it specifies a list of hosts, not precisely the gateway to use. Maybe I'm understanding something wrong there, but trying ping /k 192.168.1.254 8.8.8.8 (where 192.168.1.254 is one of my current gateways) doesn't work. I also tried with the rest of the gateways without success. Nov 9, 2018 at 22:44

You must log in to answer this question.

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