Windows 7 - How to add static route from command line
Many of us connect to corporate or personal VPNs and all traffic gets routed through ipsec vpn. For those rare cases, where we need to still access a host on the local network directly, a static route on the Windows running laptop will do the trick.
Below is the "route" command line utility in Windows:
Manipulates network routing tables.
ROUTE [-f] [-p] [-4|-6] command [destination]
[MASK netmask] [gateway] [METRIC metric] [IF interface]
-f Clears the routing tables of all gateway entries. If this is
used in conjunction with one of the commands, the tables are
cleared prior to running the command.
-p When used with the ADD command, makes a route persistent across
boots of the system. By default, routes are not preserved
when the system is restarted. Ignored for all other commands,
which always affect the appropriate persistent routes. This
option is not supported in Windows 95.
-4 Force using IPv4.
-6 Force using IPv6.
command One of these:
PRINT Prints a route
ADD Adds a route
DELETE Deletes a route
CHANGE Modifies an existing route
destination Specifies the host.
MASK Specifies that the next parameter is the 'netmask' value.
netmask Specifies a subnet mask value for this route entry.
If not specified, it defaults to 255.255.255.255.
gateway Specifies gateway.
interface the interface number for the specified route.
METRIC specifies the metric, ie. cost for the destination.
All symbolic names used for destination are looked up in the network database
file NETWORKS. The symbolic names for gateway are looked up in the host name
database file HOSTS.
If the command is PRINT or DELETE. Destination or gateway can be a wildcard,
(wildcard is specified as a star '*'), or the gateway argument may be omitted.
If Dest contains a * or ?, it is treated as a shell pattern, and only
matching destination routes are printed. The '*' matches any string,
and '?' matches any one char. Examples: 157.*.1, 157.*, 127.*, *224*.
Pattern match is only allowed in PRINT command.
Invalid MASK generates an error, that is when (DEST & MASK) != DEST.
Example> route ADD 220.127.116.11 MASK 18.104.22.168 22.214.171.124 IF 1
The route addition failed: The specified mask parameter is invalid.
(Destination & Mask) != Destination.
> route PRINT
> route PRINT -4
> route PRINT -6
> route PRINT 157* .... Only prints those matching 157*
> route ADD 126.96.36.199 MASK 255.0.0.0 188.8.131.52 METRIC 3 IF 2
destination^ ^mask ^gateway metric^ ^
If IF is not given, it tries to find the best interface for a given
> route ADD 3ffe::/32 3ffe::1
> route CHANGE 184.108.40.206 MASK 255.0.0.0 220.127.116.11 METRIC 2 IF 2
CHANGE is used to modify gateway and/or metric only.
> route DELETE 18.104.22.168
> route DELETE 3ffe::/32
Adding a persistent static route in Windows 7 cmd:
This requires "cmd" to be opened with admin privileges (Start->type "cmd"->right click -> Run as administrator):
C:\Users\user>route add -p 22.214.171.124/32 10.1.25.1
The "-p" option will make the static route persistent after reboot.
Delete a static route in windows 7cmd:
C:\Users\user>route delete 126.96.36.199/32