Command examples interface
Command examples
The syntax is pretty simple:ip route add {NETWORK/MASK} via {GATEWAYIP}
ip route add {NETWORK/MASK} dev {DEVICE}
ip route add default {NETWORK/MASK} dev {DEVICE}
ip route add default {NETWORK/MASK} via {GATEWAYIP}
Add a static route on Linux
You must login as root user with the help of su command or sudo command:$ su -
OR$ sudo -i
Once become a root user, setup a temporary route using the ip command:# ip route add 172.10.1.0/24 via 10.0.0.100 dev eth0
Verify it:# ip r
Here is another example where I am setting up route for my VPN gateway:# ip link set dev tun0 up mtu 1500
# ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
# ip route add 139.59.2.125/32 via 192.168.2.254
# ip route add 0.0.0.0/1 via 10.8.0.1
# ip route add 128.0.0.0/1 via 10.8.0.1
Again view route with the ip command:# ip r
Warning: Do not stop networking service over ssh session.
How to add a permanent static route using ip command on Linux
Edit config file such as /etc/sysconfig/network-scripts/route-eth0 on a CentOS/RHEL/Fedora Linux for interface eth0 using a text editor such as nano command or vim command:# vim /etc/sysconfig/network-scripts/route-eth0
Append the following text:172.10.1.0/24 via 10.0.0.100 dev eth0
Save and exit (close) the file in a vim text editor. Finally, restart your network service on a CentOS/RHEL/Fedora Linux so they take effect:# systemctl restart network.service
# ping 172.10.1.10
# ip r
For more info see:
- How to configure a static IP address on CentOS 7 / RHEL 7
- Red Hat Enterprise Linux Static Routing Configuration For v 4.x/5.x/6.x/7.x
A note about ip command and persistence static routing on a Debian/Ubuntu
Edit your /etc/network/interfaces file for say eth0:# vi /etc/network/interfaces
Update it as follows:
auto eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.254 ## static ip config START ## up /sbin/ip route add 172.10.1.0/24 via 10.8.0.1 dev eth0 down /sbin/ip route delete 172.10.1.0/24 via 10.8.0.1 dev eth0 ## static ip config END ##
Restart networking service when using a Debian or Ubuntu Linux# systemctl restart networking