Linux and Unix tutorials for new and seasoned sysadmin.
Linux route Add Command Examples
You can use any one of the following tool to add, display, delete Linux kernel routing table:
(a) route command : show / manipulate the IP routing table on Linux.
(b) ip command : show / manipulate routing, devices, policy routing and tunnels on Linux.
Display your current routing table
Open the Terminal or login to server using ssh/console. Type the following command to display routing table:
OR
Sample outputs:
# route
OR
# route -n
Sample outputs:
# ip route show
OR
# ip route list
Sample outputs:
Linux add a default route using route command
Route all traffic via 192.168.1.254 gateway connected via eth0 network interface:
# route add default gw 192.168.1.254 eth0
Linux add a default gateway (route) using ip command
Route all traffic via 192.168.1.254 gateway connected via eth0 network interface:
# ip route add 192.168.1.0/24 dev eth0
Verify newly added route ip in the Linux kernel routing table
To verify new routing table, enter:
OR
# ip route list
OR
# route -n
Verify new route
Use the ping command to verify connectivity to your router or external network:
# ping your-router-ip-here
# ping your-ISPs-Gateway-ip-here
# ping 192.168.1.254
# ping www.cyberciti.biz
How do I make routing changes persistent across reboots?
To make route entry persistent in the Linux kernel routing table, you need to modify config file as per your Linux distributions.
RHEL/CentOS/Fedora/Scientific Linux persistent routing configuration
Edit /etc/sysconfig/network and set default gateway IP address:
Sample outputs:
# vi /etc/sysconfig/network
Sample outputs:
GATEWAY=192.168.1.254
You can add additional static route for eth0 by editing /etc/sysconfig/network-scripts/route-eth0 file as follows:
10.0.0.0/8 via 10.10.29.65
The above config sets static routing for network 10.0.0.0/8 via 10.9.38.65 router.
Debian / Ubuntu Linux persistence static routing configuration
Edit /etc/network/interfaces file, enter:
Append the following in eth0 section:
# vi /etc/network/interfaces
Append the following in eth0 section:
up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254 down route del -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254
Save and close the file.
Generic method to add persistent static routing on Linux
The following method works with almost all Linux distributions.
Edit /etc/rc.d/rc.local or /etc/rc.local, enter
Append the following line:
# vi /etc/rc.local
Append the following line:
/sbin/ip route add 192.168.1.0/24 dev eth0
Save and close the file.
Recommended readings
- Configure Static Routes In Debian or Red Hat Enterprise Linux
- Man pages: route(8), ip(8), ping(8), netstat(8)
/etc/sysconfig/networking/devices/route-ethX
/etc/sysconfig/networking/profiles/default/route-ethX
Momo.
Sandheep
add the route command in linux
Alternate is by ip command
# ip route add 10.10.2.2/24 ethx
after that configure gateway,netmask and ip in route-ethx file located in /etc/sysconfig/network-scripts dir.
The resources that will be accessed are in the range 192.168.1.16 – 192.168.1.30
#route add 192.168.0.1 gw 10.0.0.1
“where 192.168.0.1 is destination host, gw commad to specify gateway and 10.0.0.1 is the gateway to destination host. (Test on Feroda 11)”
/sbin/route add -net 192.168.11.0 netmask 255.255.255.0 gw 10.0.0.1
/sbin/route
bash: route: command not found
[root@plnotxsmsc01 rc.d]#
Linux plnotxsmsc01 2.6.18-128.el5xen #1 SMP Wed Dec 17 12:01:40 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
[root@plnotxsmsc01 rc.d]#
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
SIOCADDRT: Invalid argument
[root@zmocmp1 sbin]#
I want to do ping6 to another linux machine..I added inet6 address in both the linux machine in the main LAN interface..bt ping6 is not wrking. “Destination Unreachable is coming”. So,For that when i tried to add route to ipv6 thorough a gateway,using the command ” /sbin/route -A inet6 add 2000::/64 gw 2000:db8:0:bbbb::1 ” is is telling invalid command..pls help me with this and how can i rectify it.
create a file vi /etc/sysconfig/network-scripts/route-eth0
NETMASK0=
GATEWAY0=
NETMASK1=
GATEWAY1=
NETMASK2=
GATEWAY2=