40

I've searched for details on how to do this but I've been unsuccessful - I wondered if someone could offer up some advice.

So, let's say I have 2 network cards (LAN and 3G in my instance), both assigned dynamic IP addresses. The LAN interface is my corporate LAN, and I'd like to use the 3G interface for all other access (ie, t'internet!).

I have little networking experience, but my feeling is that I should be able to make the 3G card the default gateway, and then force all traffic for a set of known subnets through the LAN interface.

Here's a route print

===========================================================================
Interface List

40...........................Vodafone Mobile Connect 12...00 16 cf 87 71 22 ......Dell Wireless 1500 Draft 802.11n WLAN Mini-Card 11...00 15 c5 58 47 24 ......Broadcom NetXtreme 57xx Gigabit Controller 24...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1 25...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8 1...........................Software Loopback Interface 1 26...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface 21...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2 23...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
28...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #6 ===========================================================================

IPv4 Route Table

Active Routes: Netork Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 10.183.148.5 10.183.148.157 4235 0.0.0.0 0.0.0.0 10.183.148.6 10.183.148.157 4235 0.0.0.0 0.0.0.0 10.183.148.7 10.183.148.157 4235 0.0.0.0 0.0.0.0 On-link 10.57.175.79 31 10.57.175.79 255.255.255.255 On-link 10.57.175.79 286 10.183.148.0 255.255.255.0 On-link 10.183.148.157 4491 10.183.148.157 255.255.255.255 On-link 10.183.148.157 4491 10.183.148.255 255.255.255.255 On-link 10.183.148.157 4491 127.0.0.0 255.0.0.0 On-link 127.0.0.1 4531 127.0.0.1 255.255.255.255 On-link 127.0.0.1 4531 127.255.255.255 255.255.255.255 On-link 127.0.0.1 4531 169.254.0.0 255.255.0.0 On-link 10.183.148.157 4511 169.254.255.255 255.255.255.255 On-link 10.183.148.157 4491
192.168.6.0 255.255.255.0 On-link 192.168.6.1 4501 192.168.6.1 255.255.255.255 On-link 192.168.6.1 4501 192.168.6.255 255.255.255.255 On-link 192.168.6.1 4501 192.168.73.0 255.255.255.0 On-link 192.168.73.1 4501 192.168.73.1 255.255.255.255 On-link 192.168.73.1 4501 192.168.73.255 255.255.255.255 On-link 192.168.73.1 4501 224.0.0.0 240.0.0.0 On-link 127.0.0.1 4531 224.0.0.0 240.0.0.0 On-link 10.183.148.157 4492 224.0.0.0 240.0.0.0 On-link 192.168.6.1 4502 224.0.0.0 240.0.0.0 On-link 192.168.73.1 4502 224.0.0.0 240.0.0.0 On-link 10.57.175.79 31 255.255.255.255 255.255.255.255 On-link 127.0.0.1 4531 255.255.255.255 255.255.255.255 On-link 10.183.148.157 4491 255.255.255.255 255.255.255.255 On-link 192.168.6.1 4501 255.255.255.255 255.255.255.255 On-link 192.168.73.1 4501 255.255.255.255 255.255.255.255 On-link 10.57.175.79 286 =========================================================================== Persistent Routes: None

So, interface 40 is my 3G card, and interface 11 is my LAN card. You can see that (I think) I have two default routes currently but the 3G wins because of the lower metric? I need to force all 10.183.. traffic over LAN interface.

5 Answers5

34

The command you're looking for is route add:

route | Microsoft Docs

For your setup, I think the syntax is:

route add 10.183.0.0 mask 255.255.0.0 10.183.148.5

This will send all the traffic for 10.183.x.x to the next hop address of 10.183.148.5 which your system already knows is off of your ethernet nic, and any traffic that doesn't match a route, will be grabbed by your default route and head through your 3g connection. It also looks like your network assigns multiple routers, so you might want to double it up and add the routes for 10.183.148.6 and .7 as well.

You might need to be careful if your network has stuff not in the 10.183 range, you may need to add more routes. You may also be able to get away with routing all of 10.0.0.0/8 to your corporate network, since windows will have a more specific route, but i'm not 100% sure on that since your 3g card is giving you an IP in the 10.x.x.x range.

li ki
  • 111
20

An alternative way to do this is to change the 'Metric' value of each adapter in question. I have just done this with a 3G MiFi adapter. To change the Metric go into Network & Sharing Center --> Change Adapter Settings. Choose the adapter to change and go into its properties. In the advanced section of the protocol you want to change (normally IPv4) you untick the 'Automatic Metric' check box and specify your own value. The lower the value the higher priority the adapter will have when searching for a host.

This then doesnt' mess with your routing.

7

To make the 3g card the default gateway, remove the default route of the 11 interface :

route delete 0.0.0.0 10.57.175.79

assuming that 10.57.175.79 is your LAN ip address..

Then direct your 10.183.148.x subnet to your lan ip, :

route add 10.183.148.0 mask 255.255.255.0 10.57.175.79 
Seamus
  • 71
5

Changing metrics sure is better solution than deleting any of the default routes. It's also robust, since on disconnect you'd still be able to access the internet via the corporate LAN without modifications.

However, since you have dynamic IP on this interface, it's frustrating to manually find the changing gateway IP every day. Therefore, you could use this cmd script that automatically finds all the parameters needed for the ROUTE CHANGE command.

Just change the variable MyImportantInterface to meet your needs and remember to run as an administrator after establishing the 3G connection.

@set MyImportantInterface="Mobile Broadband"

@set IfIdx=0 @for /F "tokens=1" %%* in ( 'netsh interface ipv4 show interfaces ^| findstr /R /C:%MyImportantInterface%' ) do @set /A IfIdx=%%*

@if %IfIdx% EQU 0 ( echo Interface %MyImportantInterface% not found! echo Check the configuration on the first line of this script. exit /B 1 )

@for /f "tokens=3" %%* in ( 'netsh interface ipv4 show config %IfIdx% ^| findstr /R /C:"Default Gateway"' ) do @set TheDefaultGateway=%%*

@route PRINT | findstr /r /c:"^Network" /c:"[ ]0.0.0.0"

@echo Trying to lower the metric of %MyImportantInterface% (Idx %IfIdx%)... @route CHANGE 0.0.0.0 MASK 0.0.0.0 %TheDefaultGateway% ^ METRIC 5 IF %IfIdx% @if %ERRORLEVEL% GEQ 1 exit /B 5

@route PRINT | findstr /c:"%TheDefaultGateway%"

As you can see, the magic happens in the two FOR loops and the ROUTE CHANGE command. The ECHOs and ROUTE PRINT commands just makes this a bit more informative. Personally I'd add a tracert command to the end to ensure it's working as I wanted. Enjoy.

Esa Jokinen
  • 52,963
  • 3
  • 95
  • 151
1

Would it be easier to default route everything out the 3G card? So you would only have one route out Int 40 (with a high AD) and keep all routes on Int 11. I find it bizarre that Int 40 would have a better metric than Int 11.

Are you using dynamic routing or static routing for the whole business? I know in cisco you can place a static default route out any interface you want and then change the AD on it so you can prioritize that way.

lilott8
  • 506