How to Add a Static TCP/IP Route to the Windows Routing Table
In some specific types of environments, you might find it useful to add a static route to the routing table. Here's how to go about it in Windows 11, 10, 8, and 7.
RELATED: How to Use Traceroute to Identify Network Problems
A routing table dictates where all packets go when they leave a system — whether that system is a physical router or a PC. Most routers — including the one built into your Windows PC — use some form of dynamic routing, where the router is capable of selecting the best place to forward packets based on information it gets from other routers. You can see it at work if you use the traceroute command to watch the connections a packet makes as it reaches it's final destination.
Most routers also allow you to add a static route (one that doesn't get dynamically updated) if you want to always forward certain traffic to a specific router or gateway. Why? Well, most people using Windows in their home or small business probably won't — but this can be useful under certain circumstances, such as:
If any of those apply to you, read on. You’ll need to dive into the Command Prompt to add a static route to the Windows routing table, but it's easy and we’ll walk you through the steps.
Before you get started adding routes, it may be helpful to view the routing table first. Fire up Command Prompt by hitting Windows+X and then selecting "Command Prompt (Admin)" on the Power Users menu.
RELATED: How to Put the Command Prompt Back on the Windows+X Power Users Menu
At the Command Prompt, type the following command and hit Enter:
You’ll see a long list of network destinations and the gateways to which packets are forwarded when they are headed to that destination. Unless you’ve already added static routes to the table, everything you see here will be dynamically generated.
To add a static route to the table, type a command using the following syntax:
The subnet_mask and metric_cost components are optional to the command. If you don't specify a subnet mask, 255.255.255.0 will be used automatically. If you don't specify a metric cost, a cost one greater than the 0.0.0.0 destination entry will be used. The metric cost value is just a cost that is relative to other costs in the table and is used when Windows decides between multiple routes that could reach the same destination.
So, for example, if you wanted to add a route specifying that all traffic bound for the 192.168.35.0 subnet went to a gateway at 192.168.0.2 and you just wanted to use the automatic metric cost, you would use the following command:
If you were to use the route print command to look at the table now, you’d see your new static route.
That's all easy enough, but there is one extra little catch. When you add a static route, by default it only lasts until the next time you start Windows. The reason for this is that many companies use a coordinated list of static routes that gets updated fairly often. Rather than adding and updating all those routes on every machine, they just distribute a batch script file that adds the newest routes during Windows startup. This keeps the routing table relatively uncluttered.
RELATED: How to Write a Batch Script on Windows
You could certainly use the batch script method yourself. Writing batch scripts isn't hard. But if you’re just adding one or two static routes that you don't expect to change often, you can instead just add the -p option to the command to make the route persistent. A persistent route stays in place even when Windows starts up. Using the same command we used earlier, you could make that route persistent with the following modification:
Of course, there will come a time you might want to remove a static route from your table. All you have to do is type a command using the following syntax:
So, to delete the route we created earlier with the destination network 192.168.35.0, all we’d have to do is type this command and hit Enter:
Yes, using static routes is a bit esoteric when it comes to managing most home and small business networks. But if you do need to do it, it's a pretty easy process. And if you don't need to do it right now, at least you know it's an option in the future.
RELATED: How to Use Traceroute to Identify Network Problems Note: RELATED: How to Put the Command Prompt Back on the Windows+X Power Users Menu RELATED: How to Write a Batch Script on Windows