Table of Contents

Static routes

Static routing is the term used to refer to the manual method used to set up routing. An administrator enters routes into the router using configuration commands. This method has the advantage of being predictable, and simple to set up. It is easy to manage in small networks but does not scale well.

Advantages of Static Routes

Disadvantages of Static Routes

Add a Static route using “route” command

  route add [-net|-host] <IP/Net> netmask <Mask> gw <Gateway IP> dev <Int>X

Example

  route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
  route add -host 10.10.1.1 netmask 255.255.255.0 gw 192.168.1.1 dev eth0

This adds the route immediatly to the Kernel IP routing table. To confirm the route has been successfully, simply type the “route” command with no arguements:

route

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.254 * 255.255.255.0 U 0 0 0 eth0
localnet * 255.255.255.0 U 0 0 0 eth0
10.10.10.0 * 255.255.255.0 U 0 0 0 eth0
10.10.1.1 * 255.255.255.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Use

 netstat -rn

to print the Kernel IP Routing table.

Ubuntu/Debian

To keep the Static Route persistent or you want to add the route entries to the network script files (not using the route command) then all you need to do is to edit the file

  /etc/network/interfaces

and the static routes in the following format:

  up route add [-net|-host] <host/net>/<mask> gw <host/IP> dev <Interface>

Example

  up route add -net 172.20.11.0/16 gw 172.20.10.254 dev eth1

And the file will like the following

  sudo cat /etc/network/interfaces

The output should show something like this

  sudo cat /etc/network/interfaces

The output should show something like this

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0 eth1

iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
# dns-* options are implemented by the resolvconf package, if installed

iface eth1 inet static
address 172.20.10.1
netmask 255.255.255.0
broadcast 172.20.10.255
gateway 172.20.10.254

# static route
up route add -net 172.20.11.0/16 gw 172.20.10.254 dev eth1

The above has 2 Ethernet interfaces and the static route is added to the interface eth1.

For the change to /etc/network/interface to take effect. please restart the “networking” service as follows:

  sudo /etc/init.d/networking restart

NOTE: If you added the route already using the “route” then there is no need to restart the networking service because, the next time server is restarted this takes effect.

RedHat/Fedora

To make persistent routes in RedHat/Fedora systems make the file “/etc/sysconfig/network-scripts/route-eth0”:

#
# File /etc/sysconfig/network-scripts/route-eth0
#
10.0.0.0/8 via 192.168.1.254

The file name is important, route-eth0 is routes being set up when eth0 goes up.


Source: http://www.ubuntugeek.com/howto-add-permanent-static-routes-in-ubuntu.html