≡ Menu

Linux setup default gateway with route command

Q. How do I setup default gateway with a route command?

A. route command show and/or manipulate the IP routing table under Linux and UNIX oses.

Route manipulates the kernel's IP routing tables. Its primary use is to set up static routes to specific hosts or networks via an interface after it has been configured with the ifconfig program. When the add or del options are used, route modifies the routing tables. Without these options, route displays the current contents of the routing tables.

Display default route

Following three-command display the current routing table:
# route
Output:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 ra0
default         dsl-router      0.0.0.0         UG    0      0        0 ra0

$ /sbin/route
Output:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
191.255.255.0   *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         191.255.255.1   0.0.0.0         UG    0      0        0 eth0

You can use -n option, to display numerical addresses instead of trying to determine symbolic host names (via dns or /etc/hosts file). This is useful if you are trying to determine why the route to your nameserver has vanished.$ /sbin/route -nOutput:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
191.255.255.0   0.0.0.0         255.255.255.0   U     0      0        0 venet0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 venet0
0.0.0.0         191.255.255.1   0.0.0.0         UG    0      0        0 venet0

Please note that a destionation entry 0.0.0.0 (or default) is the default gatway. In above example 191.255.255.1 is a default gatway.

Add / setup a new route

The syntax is as follows:
route add default gw {IP-ADDRESS} {INTERFACE-NAME}

Where,

  • IP-ADDRESS: Specify router IP address
  • INTERFACE-NAME: Specify interface name such as eth0

For example if your router IP address is 192.168.1.254 type the following command as the root user:
# route add default gw 192.168.1.254 eth0OR use hostname such as dsl-router:# route add default gw dsl-router eth0

Setting route using GUI tools/command under Linux

If you find above command hard to use, consider using GUI tools. If your are using Red Hat/CentOS/Fedora core Linux type following command:# redhat-config-networkOR If you are using other Linux distribution use command:# network-admin

See also

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 31 comments… add one }

  • John Olivares March 6, 2008, 8:30 pm

    Great site thanks

    • Veeru November 16, 2011, 7:37 am

      Good one! Very usefull info

  • Ken April 15, 2008, 11:57 pm

    Running BT3 on an eeePC, I’ve been finding that I have to run:

    # route add -net 0.0.0.0 dev ath0

    to get my wireless to connect to the internet.

  • m@m August 27, 2008, 7:08 am

    usefull commands..

    Thanks.
    m@m

  • Dan smooth operator October 1, 2008, 12:42 pm

    Short, distinct and very good!

  • Forum January 22, 2009, 2:15 pm

    It was really useful!!

  • velayutham February 3, 2009, 4:25 pm

    It was usefull at the urgent time

  • winifredO February 25, 2009, 11:24 am

    so inetresting and useful! thanks

  • robert April 13, 2009, 5:32 am

    Thanks for these hints.

  • NannY May 5, 2009, 7:15 am

    Thanks so much
    Very Helpful!!
    Cheers,

  • carlos guerrero May 14, 2009, 12:34 am

    hi very very thanks , for you posted i realy helpme very much!!!!

  • mc.god July 16, 2009, 8:22 pm

    Very useful hint as a fast reminder, thank you ^^

  • Al September 20, 2009, 7:29 pm

    great work fellows.good to go,Thank you for tips and tricks

  • admtsh December 30, 2009, 3:35 am

    Thank you!
    very nice examples!

  • Quek April 1, 2010, 5:03 am

    Thank you very much, is a good and effective guide.

  • sundaram August 6, 2010, 1:34 pm

    when i used the command, i got the following error:

    # route add default gw 10.102.237.71 eth4
    SIOCADDRT: No such process

    could you please guide me?

    • Chris Happel September 13, 2010, 2:48 pm

      I was getting that, too. Turns out I was putting in the wrong interface. Use the ‘route’ command without any parameters, and confirm that the 10.102.237.0 network is really attached to interface eth4. My problem now is that the server keeps ‘forgetting’ my default gateway, even though it’s in my /etc/network/interfaces file:

      auto eth0
      iface eth0 inet static
      address 10.10.10.230
      netmask 255.255.255.0
      gateway 10.10.10.254
      network 10.10.10.0
      broadcast 10.10.10.255

      What gives?

  • niks December 28, 2010, 5:29 am

    useful commands…..thnks a ton

  • Alessandro April 21, 2011, 3:27 pm

    great tutorial … very usefull… thanks…

  • wri7913 June 28, 2011, 1:11 am

    Works on Natty 11.04 on ASUS G73sw laptop. Thanks for script! Ubuntu Devs should have already noticed and fixed this issue. Shame on them.

  • stevo November 4, 2011, 8:36 am

    Cool stuff guys…precise and straight

  • Jose Tapia November 13, 2011, 4:05 am

    Very good tutorial thank you! you rocks buddy :D

  • Christian November 14, 2011, 11:15 am

    Me a gustado mucho, gracias.

  • Sri April 17, 2012, 7:59 am

    Thanks a lot, very useful…

    Saved be a lot of time and effort!!

  • Apu April 28, 2012, 8:15 am

    Hi All friends

    Im going to Configure a Linux Gateway server for my LAN. It will locate in between router and my LAN.

    I used 192.168.0.x private ip range for my LAN PCs. and im expecting to configure firewall, nat, proxy on that gateway server

    who can guide me to do that.

    Im new for linux and im interesting Linux

    thanks
    Apu

  • krishna August 21, 2012, 10:31 am

    hi ..
    i helped me a lot

  • Mighty October 15, 2013, 5:34 am

    What is the difference between you example using this command:
    # route add default gw 192.168.1.254 eth0

    And inserting the gateway in the file below?
    # vi /etc/sysconfig/network
    GATEWAY=192.168.1.254

  • bA37 December 17, 2013, 4:11 am

    helped me a lot, thanks a lot dude…:)

  • Kapil Awadhwal April 24, 2014, 11:50 am

    Thanks for the short & good explaination…

  • AIL September 10, 2014, 1:54 pm

    Thank you for the info. Worked like a charm on RHEL 5.8 x64 server.
    Question: are changes made with route command persistent? or do they revert on network restart or server restart?

  • Sudhi October 29, 2014, 9:45 am

    very useful commands thank you.

Leave a Comment