So I don’t usually use a RHEL based machine, but recently was tasked with deploying one on our network.
After the normal install process, which I decided to do text based via adding the following to the boot statement for the default installer option (push “e” when it appears):

linux text

I decided to setup networking later, after the machine was fully installed. On ubuntu/debian based systems, /etc/network/interfaces defines the configuration for interfaces on the system. The equivalent to this on RHEL based systems is /etc/sysconfig/network-scripts/ifcfg-<int> where <int> is the interface name i.e. eth0

For my needs, I needed to do a static assignment including search paths and dns servers. After using this helpful rhel guide and doing some digging, I figured it out. Here is my final config for eth0!

DEVICE="eth0"
BOOTPROTO="none"
HWADDR="00:51:56:B8:B1:B8"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="82a66a94-b522-4ca2-9666-57bb4456256d"
IPADDR="10.0.11.8"
NETWORK="10.0.10.0"
NETMASK="255.255.254.0"
GATEWAY="10.0.10.1"
BROADCAST="10.0.11.255"
DNS1="10.3.0.12"
DNS2="10.3.1.14"
PEERDNS="yes"
DOMAIN="herpderp.com lolcakes.com nowaydude.com"

So this will properly bring up the interface at boot, apply the necessary ip address and netmask, set the gateway for the system, and throw the dns and search paths in /etc/resolv.conf :)

For DHCP, this would be even simpler:

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:51:56:B8:B1:B8"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="82a66a94-b522-4ca2-9666-57bb4456256d"

Note, that most of those fields existed already i.e. UUID, TYPE, etc..

Mario Loria is a builder of diverse infrastructure with modern workloads on both bare-metal and cloud platforms. He's traversed roles in system administration, network engineering, and DevOps. You can learn more about him here.