Learn networking basics in the Linux server. What is the network route, how to check routes, how to define static and default routes in the Linux system?
Network routes on Linux servers are the paths or gateways packets should follow to reach their destinations. Routes can be configured on interface level and system level. The default route is also known as default gateway is the IP where the packet should discover their path if the current network or interface (from which packet originated on the server) does not know the path for destination IP. This article is about discussing network routes in Linux. It will cover how to define the network route for the network interface, where and how to define the default route or default gateway in Linux etc.
How to check current routes on system?
Current routes on system can be viewed using below commands.
# ip route default via 172.31.0.1 dev eth0 172.31.0.0/20 dev eth0 proto kernel scope link src 172.31.4.137
# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default ip-172-31-0-1.a 0.0.0.0 UG 0 0 0 eth0 172.31.0.0 * 255.255.240.0 U 0 0 0 eth0
# routel target gateway source proto scope dev tbl default 172.31.0.1 eth0 172.31.0.0/ 20 172.31.4.137 kernel link eth0 127.0.0.0 broadcast 127.0.0.1 kernel link lo local 127.0.0.0/ 8 local 127.0.0.1 kernel host lo local ----- output clipped -----
You can observe 172.31.0.1 is defined as default gateway on above system.
How to configure static route in Linux?
In RHEL: You need to edit below parameters in the config file
GATEWAY=10.10.0.1 NETMASK=255.0.0.0 IPADDR=10.10.0.22
- gateway is the default gateway for this interface
- the netmask is a subnet mask value
- ipaddr is the IP address of this interface
Caution : Do not change gateways on live production system.
In Debian: You can put your route in the file
/etc/network/interfaces under the intended interface.
auto eth0 iface eth0 inet static address 10.10.0.22 netmask 255.0.0.0 up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
In all Linux systems you can use
ip route command to define the static route. Command syntax is :
# ip route ip-address via dest-address
ip-address is IP of host or interface and
dest-address is next HOP address i.e. route IP
How to configure default gateway in Linux?
In RHEL: Define default gateway IP against GATEWAY parameter in
/etc/sysconfig/network file and then restart network service.
In Debian: Define default gateway IP against gateway parameter in /etc/network/interfaces file and then restart network service.
Or you can try these commands on any Linux (ex gateway as 10.10.0.1).
# ip route add default via 10.10.0.1 # route add default gw 10.10.0.1
Once set verify the default gateway with commands shown at the beginning of this article.