Skip to main content
2 of 3
Updated for RHEL 8
Christopher
  • 16.4k
  • 7
  • 56
  • 66

Take a look at /etc/rc.d/rc.local. The file states, "Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure that this script will be executed during boot." So...

chmod +x /etc/rc.d/rc.local 

Then place your commands above the last line, touch /var/lock/subsys/local.

There is better way using relevant configuration files. Rules and routes can be specified using corresponding file names. All the relevant configuration files are given below. (The device names may differ.)

/etc/iproute2/rt_tables /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/route-eth0 /etc/sysconfig/network-scripts/route-eth1 /etc/sysconfig/network-scripts/rule-eth0 /etc/sysconfig/network-scripts/rule-eth1 

To create a named routing table, use /etc/iproute2/rt_tables. I added 128 mynet.

# # reserved values # 255 local 254 main 253 default 0 unspec # # local # 128 mynet 

The EL 7.x /etc/sysconfig/network file. The default route is GATEWAY.

NETWORKING=yes HOSTNAME=hostname.sld.tld GATEWAY=10.10.10.1 

THE EL 7.x /etc/sysconfig/network-scripts/ifcfg-eth0 file, without "HWADDR" and "UUID". This configures a static IP address for eth0 without using NetworkManager.

DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTOCOL=none IPADDR=10.10.10.140 NETMASK=255.255.255.0 NETWORK=10.10.10.0 BROADCAST=10.10.10.255 

THE EL 7.x /etc/sysconfig/network-scripts/ifcfg-eth1 file, without "HWADDR" and "UUID". This configures a static IP address for eth1 without using NetworkManager.

DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTOCOL=none IPADDR=192.168.100.140 NETMASK=255.255.255.0 NETWORK=192.168.100.0 BROADCAST=192.168.100.255 

The EL 7.x /etc/sysconfig/network-scripts/route-eth1 file. The default route was already specified in /etc/sysconfig/network.

192.168.100.0/24 dev eth1 table mynet default via 192.168.100.1 dev eth1 table mynet 

The EL 7.x /etc/sysconfig/network-scripts/rule-eth1 file:

from 192.168.100.0/24 lookup mynet 

Update for RHEL8

This method described above works with RHEL 6 & RHEL 7 as well as the derivatives, but for RHEL 8 and derivatives, one must first install network-scripts to use the method described above.

dnf install network-scripts 

The installation produces a warning that network-scripts will be removed in one of the next major releases of RHEL and that NetworkManager provides ifup/ifdown scripts as well.

Christopher
  • 16.4k
  • 7
  • 56
  • 66