Subscribe Subscribe | Subscribe Comments RSS
Subscribe in Bloglines

Add to netvibes
Add to Google Reader or Homepage

As in any Network device or a server, there will be times when you need to add a persistent static route to a target destination in your Debain Linux Server.

Adding a Static route in Debain Linux can be done using the "route" command and editing the network script files.

Advantage of using the route command is that it alters the Kernel IP Routing table dynamically and the static route becomes available as soon as it is been added. However, a reboot of the server looses this static route. This is where it becomes essential to add the static route in the network script files.

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:

DEBIAN:~# 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.

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:

#cat /etc/network/interfaces

The output should show something like this

# 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:

/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.

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

6 Comments so far »

  1. by Linux Code and More » Blog Archive » Add persistent Static Routes in Debian Linux, on November 7 2007 @ 4:15 pm

     

    [...] Raul wrote an interesting post today onHere’s a quick excerptAs in any Network device or a server, there will be times when you need to add a persistent static route to a target destination in your Debain Linux Server. Adding a Static route in Debain Linux can be done using the “route” command … [...]

  2. by Linux Code and More » Blog Archive » HowTo: Add persistent Static Routes in Debian Linux, on November 7 2007 @ 4:16 pm

     

    [...] medeaonline wrote an interesting post today onHere’s a quick excerptAdding a Static route in Debain Linux can be done using the “route” command and editing the network script files….As in any Network device or a server, there will be times when you need to add a persistent static route to a target destination in your Debain Linux Server…. [...]

  3. by felipe1982, on March 6 2010 @ 1:24 am

     

    Helpful post, thanks. I’m not a debian fan, but need to use it for a project i’m working on. Seems they don’t follow LSB to the letter (??)

  4. by kang@paidjo, on March 25 2010 @ 9:08 pm

     

    thanks.. problem solve

  5. by Wursti, on June 19 2010 @ 3:55 am

     

    exactly that way, thx.
    ad non-permanent via cli, using the “normal” subnet description.
    add permanent in /etc/network/interfaces, using the cdir description.
    oh linux, why are u so nerdish? :)

  6. by chetan, on September 2 2010 @ 7:47 am

     

    How to add a static IPv6 route in linux maschines..??

Comment RSS · TrackBack URI

Leave a comment

Name: (Required)

eMail: (Required)

Website:

Comment: