Networking HowTos
Networking HowTos

adding persistent static routes on ubuntu

February 1, 2015 Linux, Ubuntu

When you need to access networks located on a different network segment, you need to have a route set up so the PC knows how to get to the other network segment. This generally just points to your main gateway, but you may want to set up additional static routes, where you don’t want the traffic going through your main default gateway.
(Note: For Ubuntu 18.04 and higher, this is now done using netplan configuration. Please see “Adding persistent static routes on Ubuntu 18.04 and higher using netplan for more info)
To set up a static route on Ubuntu so that it automatically gets created every time the PC starts, you need to modify the /etc/network/interfaces file.

$ sudo nano /etc/network/interfaces

The route will get set up when one of the interfaces comes up. Find the section that corresponds to the interface that this route will be set up on. Eg. eth0 or em1.
At the bottom of this section, add the following line:

up route add -net 192.168.40.0/24 gw 192.168.30.1 dev em1

Modify the above to suit the route you want to add.
Your file should now look something like this:

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto em1
iface em1 inet static
address 192.168.30.2
netmask 255.255.255.0
broadcast 192.168.30.255
gateway 192.168.30.254
#persistent static routes
up route add -net 192.168.40.0/24 gw 192.168.30.1 dev em1

To make these changes take effect, you can run the following command to bring down the interface, and bring it back up again:

$ sudo ifdown em1 && sudo ifup em1

or simply try a reboot.
Run the following command to ensure the route has been set up correctly:

$ route -n

You Might Also Like