Routing troubles with virtual bridge on Windows

0

Situation

I'm having routing problems (at least I guess) on my computer running Windows 7 and a RT OS alongside (shouldn't have influence). Connections are depicted below:

____________
            |
10.194.13.x |----> Internet
            |
192.168.2.1 |----> LAN
     ^      |
     |      |
.....|......|
     |      |
     v      |
192.168.2.2 |
____________|
  • Windows 7 (up) is connected to Internet through physical 10.194.13.x interface.
  • WIndows 7 is connected to a local network through physical 192.168.2.1 interface
  • RT OS (down) has a virtual interface 192.168.2.2 bridged with 192.168.2.1

Problem

When 192.168.2.2 go up and 192.168.2.1 has cable connected, a ping 192.168.2.2 on the current computer fails due to wrong route. This can take a long time (multiples minutes) until the correct route is finally found. A tracert seems to accelerate this but it's not very deterministic. Once the right route is found, it seems to last for good.

Because virtual interface 192.168.2.2 can go up and down quite often, it's not an acceptable solution for me.

route print

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      10.194.13.1     10.194.13.49     20
      10.194.13.0    255.255.255.0         On-link      10.194.13.49    276
     10.194.13.49  255.255.255.255         On-link      10.194.13.49    276
    10.194.13.255  255.255.255.255         On-link      10.194.13.49    276
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.2.0    255.255.255.0         On-link       192.168.2.1    266
      192.168.2.1  255.255.255.255         On-link       192.168.2.1    266
      192.168.2.2  255.255.255.255      192.168.2.1      192.168.2.1     11
    192.168.2.255  255.255.255.255         On-link       192.168.2.1    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      10.194.13.49    276
        224.0.0.0        240.0.0.0         On-link       192.168.2.1    266
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      10.194.13.49    276
  255.255.255.255  255.255.255.255         On-link       192.168.2.1    266
===========================================================================
Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric
          0.0.0.0          0.0.0.0      10.192.18.1       1
      192.168.2.2  255.255.255.255      192.168.2.1       1
===========================================================================

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
 22     58 ::/0                     On-link
  1    306 ::1/128                  On-link
 22     58 2001::/32                On-link
 22    306 2001:0:4137:9e76:38cb:3f66:3e08:34f3/128
                                    On-link
 14    276 fe80::/64                On-link
 22    306 fe80::/64                On-link
 22    306 fe80::38cb:3f66:3e08:34f3/128
                                    On-link
 14    276 fe80::fcab:ed9d:a5eb:e16e/128
                                    On-link
  1    306 ff00::/8                 On-link
 22    306 ff00::/8                 On-link
 14    276 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None

tracert

>tracert 192.168.2.2

Tracing route to 192.168.2.2 over a maximum of 30 hops

  1     1 ms     1 ms     1 ms  10.194.13.1
  2     *        *        *     Request timed out.
  3     *        *        *     Request timed out.

Attempts

As you can see on the route print, I've tried to add a persistant route to force requests to 192.168.2.2 to go through 192.168.2.1 but it's not helping. In can't understand why he try to route the ping through 10.194.13.1 because the metric suggest him to go on 192.168.2.1 first.

Needs

To summarize, I'd like to see any communication to 192.168.2.2 I'll do locally on the computer, to work immediately and for long.

cid

Posted 2017-06-07T08:22:12.673

Reputation: 101

Answers

0

Ok I've figure out the problem.

It was not a problem with the routing. Because 192.168.2.2 is actually a virtual adapter which sometime goes down, even if the route was correct, Windows was skipping the route because the interface used for the route was not available at the time of the access. Therefore, it was resolving this to the default route at interface 10.194.13.1, even if the metric was higher.

From there, it was lost somehow, trying desperately to get a respond from 192.168.2.2 on the wrong interface.

To solve this, I've added a static ARP cache entry to avoid Windows to try to resolve 192.168.2.2on every possible interface. I've used:

netsh interface ipv4 add neighbors "My adapter" 192.168.2.2 aa-bb-cc-dd-ee-ff

cid

Posted 2017-06-07T08:22:12.673

Reputation: 101