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
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 26 comments… read them below or add one }
Great site thanks
Good one! Very usefull info
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.
usefull commands..
Thanks.
m@m
Short, distinct and very good!
It was really useful!!
It was usefull at the urgent time
so inetresting and useful! thanks
Thanks for these hints.
Thanks so much
Very Helpful!!
Cheers,
hi very very thanks , for you posted i realy helpme very much!!!!
Very useful hint as a fast reminder, thank you ^^
great work fellows.good to go,Thank you for tips and tricks
Thank you!
very nice examples!
Thank you very much, is a good and effective guide.
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?
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?
useful commands…..thnks a ton
great tutorial … very usefull… thanks…
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.
Cool stuff guys…precise and straight
Very good tutorial thank you! you rocks buddy :D
Me a gustado mucho, gracias.
Thanks a lot, very useful…
Saved be a lot of time and effort!!
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
hi ..
i helped me a lot