The legacy routes configuration on RH-like was ugly and error prone. You had to compile files like the following:
# route-eth0 ADDRESS0=10.10.10.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.0.253 ADDRESS1=172.16.1.0 NETMASK1=255.255.255.0 GATEWAY1=192.168.0.254
You had to preserve enumeration and evaluate netmasks. This was probably due to the usage of route script, which synopsis is
route add -net $ADDRESS0 netmask $NETMASK0 gw $GATEWAY0
The “new” iproute2 suite allows a new format of route files, compatible with the route dumping.
#route-eth0 10.10.10.0/24 via 192.168.0.253 dev eth0 172.16.1.0/26 via 192.168.0.254 dev eth0
At this point it’s easy to create our route-ethX files starting from the #ip route; output.
#ip route list scope global | grep -- eth0 | grep -v 'default' > route-eth0
In this case we filtered out two kind of entries:
* the default gateway, that could be managed via DHCP or other means like /etc/sysconfig/network:GATEWAY
* non global scope routes, like the ones set by #ip; when assigning addresses.
Check
#man ip |less +/rt_scope
Eg.
#ip -4 -o a list eth2; # show the ip 8: eth2 inet 192.168.0.40/26 brd 192.168.0.63 scope global eth2 #ip route | grep eth2 # show all eth2-related routes 192.168.0.0/26 dev eth2 proto kernel scope link src 192.168.0.40 #scope link! 10.0.10.0/24 via 192.168.0.1 dev eth2