Trying to understand the correct way to create a static route in CentOS, please assist
Create a file in /etc/syconfig/network-scripts/route-eth0
add add the following
192.168.20.0/24 via 192.168.20.253 dev eth0
I have always used this approach. I have found this to be the best approach.
FYI: Check -- https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html
RH style device dependent routes defined using
/etc/sysconfig/network-scripts/route-device files has caused lots of problems.
So real sysadmins use only
/etc/sysconfig/static-routes file without device dependency:
any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1
- When physical devices are bonded, you need to remember to chance route-device file too
- When you reorganize adapters in a virtual machine.
Naturally one should always use bridge devices, so one could avoid route-device file problems.
Also notice the syntax in
/etc/sysconfig/static-routes file, sniplet from
# Add non interface-specific static-routes. if [ -f /etc/sysconfig/static-routes ]; then if [ -x /sbin/route ]; then grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do /sbin/route add -$args done else net_log $"Legacy static-route support not available: /sbin/route not found" fi fi
There is an easier way to add routes...
This file -
/etc/init.d/network - is launched when the PC is booting, and it uses a file
/etc/sysconfig/static-routes to add static routes
You have to create it because it doesn't exist.
If you read carefully the file
/etc/init.d/network, it reads in this file each line to add routes, those line must begin by "any", and "route add -" is already known.
So in the file you are going to create >> /etc/sysconfig/static-routes, you have to write :
any net 10.0.0.0 netmask 255.255.255.0 gw 192.168.0.1 eth0
- where 10.0.0.0/24 is the network you want to reach (255.255.255.0 is the mask)
- where gw 192.168.0.1 is the gateway to reach (certainly the router)
- where eth0 is the interface where to use.
This is the best way for adding static routes, 1 file for everything (not X files for X interfaces)