RHCE Study Guide

This tutorial explains how to setup RHCSA / RHCE Practice LAB in detail including essential configurations such as hostname and IP configuration.

For this tutorial I assume that you have four virtual machines (or physical computers) connected as shown in following figure:-

RHCE LAB Setup

To learn how to create and setup virtual machines for RHCE lab please see the first part of this tutorial which explains this process in detail with screenshots. You can read first part of this article here

RHCE LAB Setup in VMware Workstation or in Virtual Box

To use these computers in RHCE LAB, we need to make some essential configurations such as hostname and IP address. In this tutorial we will understand these configurations in detail. Let’s start with host name IP address.

System/Virtual Machine Host Name IP Address Subnet Mask Default Gateway DNS Server
First (compulsory) server.example.com 192.168.1.1 255.255.255.0 (/24) 192.168.1.1 192.168.1.1
Second (optional) ipa.example.com 192.168.1.2 255.255.255.0 (/24) 192.168.1.1 192.168.1.1
Third (compulsory) client.example.com 192.168.1.100 255.255.255.0 (/24) 192.168.1.1 192.168.1.1
Fourth (optional) win.example.com 192.168.1.101 255.255.255.0 (/24) 192.168.1.1 s192.168.1.1

Hostname

Every computer in a LAN segment requires a unique hostname. Hostname can contain alphabets, numbers, dash, underscore and dot characters. Maximum 64 characters are allowed in hostname. Usually hostname reflects the functionality of system. Hostname is stored in /etc/hostname file.

Version Change

In earlier version of RHEL hostname was stored in /etc/sysconfig/network file.

We can read hostname directly from the file or we can use following commands to view it at command prompt

  • hostname
  • hostnamectl
  • uname –n

view hostname in linux

We can update hostname in two ways; either via command prompt or via directly editing in file. I will explain both methods. Since in our lab two virtual machines (second and third) are cloned from first virtual machine, they all have same hostname. We do not need to update the hostname on first virtual machine as it already has correct name.

Let’s update the hostname of second virtual machine from hostnamectl command. This command will update the hostname in /etc/hostname configuration file. New hostname will be applied on system at next boot. You can verify the change from hostname command which read hostname from configuration file.

hostnamectl command

Let’s update the hostname of third virtual machine from second method. Open /etc/hostname file and set the new hostname and save the file.

set hostname in linux

In our lab we have one more (optional) computer with window 7 installation. To update the hostname in Windows 7 follow the following steps:-

Click Start button and right click the Computer from open menu click Properties

update hostname name in windows system

Form Computer name sub section, update the computer name.

windows system update hostname

Restart the computers which hostname have been updated.

IP (Internet Protocol) Address

IP address is a 32 bit long software address. In IP network every computer needs this address to communicate with other computers. A computer can obtain this address statically or dynamically. In static method we have to configure it manually. In dynamic method it is leased from DHCP server. Static method is used for critical network resources such as server, printer etc. Dynamic method is used for workstations or terminals. To view the current IP configuration we can use ip addr show command.

Version Change

In earlier version of RHEL ifconfig command was used to view the current IP configuration. ifconfig command has been deprecated from RHEL7.

ip addr show command

As above figure shows NIC enol6777736 is configured with IP address 192.168.122.1/24. If you have worked with RHEL-6 or earlier versions, you may be a little bit surprise about the name used by NIC. A lot of things have changed in RHEL 7 including naming convention used by NIC. In earlier version NICs were named as eth (Ethernet), em (embedded) and wlan (wireless lan). NICs were numbered based on the order of detection during the system boot. For example first discovered Ethernet (eth) would be named and numbered as eth0. This naming scheme has scalability issue. For example a system which has multiple NICs and NICs are dynamically removed or added. In this situation this naming scheme will work not effectively.

Naming convention used for NIC in RHEL 7

From RHEL7 default naming convention for NICs is based on firmware, device, topology and device types. With new naming convention network card names always remain consist. In new naming convention :-

  • First two letters represents the type of NIC. For Ethernet interface it always begins with en, for WLAN interfaces it begins with wl, for loopback adapters it starts with lo and for WWAN it begins with ww.
  • Next letter represents the location of NIC. For onboard letter o is used, for hot plug slot letter a is used and for PCI slot letter p is used.
  • Remaining numeric numbers represents the index, port or ID number.

For example above figure illustrates the name used by NIC is eno16777734. In this name en stands for Ethernet device, o stands for onboard and 16777734 stands for unique index number. Combinedly eno16777736 stands for an onboard Ethernet device (with its unique index number).

NIC Configuration files

Every NIC has an associated configuration file which stores its relative parameters such IP address, protocol and configuration values. These configuration settings are automatically applied on NIC while it get activated. RHEL uses a central location for all (NIC) configuration files which is /etc/sysconfig/network-scripts directory.

network script directory

Configure IP Address

To configure IP address we have three options; nmtui text tool, nmcli command and nm-connection-editor graphic utility. We will understand all three options one by one. Let’s start with nmtui text tool.

While running this tool make sure you are logged in from root user as normal user account is not allowed to make change in configuration. Execute nmtui command from root account on first computer (named - server).

nmtui command

Select “Edit a connection” and press enter key.

nmtui edit connection

Select NIC from left pane on which you want to set the IP address and select Edit option from right pane and press Enter key.

nmtui edit option

Select Automatic from IPv4 configuration and press enter key

nmtui automatic option

Select Manual from available options

nmtui manual ip configuration option

Navigate to Show option and press Enter key

nmtui show option

Set the IP address / subnet mask, Gateway IP address and DNS Server IP address.

nmtui ip configuration

Select OK and press Enter key to accept the change

nmtui ok option

Select Quit and press Enter key

nmtui quit option

When we exit from nmtui utility, it automatically updates the associated configuration files. For instance in above example we have assigned IP configuration to NIC eno16777736. In this case nmtui will update the /etc/sysconfig/network-scripts/ifcfg-eno16777736 file. An interface restart is required to apply the new configuration. We can use ifdown-[NIC] and ifup-[NIC] commands to restart the interface.

interface restart

So far we have assigned IP address to our first computer. Now we will assign IP address to second computer (named - ipa). This time we will use graphical utility nm-connection-editor. Login from root account and open terminal. In terminal execute nm-connection-editor command.

From opened window select appropriate NIC and click Edit option

nm-connection-editor

Switch to IPv4 Settings and select Manual option from Method drop down menu. Click Add button and configure IP addresses in respective fields and click Save button and Close button at main screen.

nm-conection-editor set ip

Restart the interface and verify the new IP configuration.

restart interface

So far we have assigned IP addresses in two computers now it’s time to configure the third system (named - client). This time we will use nmcli command to assign the IP addresses. Login from root account and assign IP addresses as illustrate in following figure.

nmcli command

nmcli con show:- This command will list the available connections with their associated devices.

As above figure shows connection eno16777736 is associated with Ethernet device eno16777736. We have to modify this connection in order to update the IP configuration.

nmcli con mod eno16777736 ipv4.addresses 192.168.1.100/24 :- This command will update (modify) the connection with new IP address and subnet mask.

nmcli con mod eno16777736 ipv4.gateway 192.168.1.1 :- This command will update (modify) the connection with new default gateway IP address.

nmcli con mod eno16777736 ipv4.dns 192.168.1.1 :- This command will update (modify) the connection with new DNS Server IP address.

As we know new IP configuration applies on start-up. Next two commands will restart the interface.

ifdown eno16777736 :- This command will shut down the interface.

ifup eno16777736 :- This command will bring up the device back.

Key points
  • nm-connection-editor is available only in X-Window system. It provides less but sufficient features for end users to manage the network connections. Network administrators rarely use this tool to manage the network connections.
  • Usually nmcli command and nmtui tool are used to manage the network connection.
  • nmcli command is provided by NetworkManager software package.
  • nmtui tool is provided by NetworkManager-tui software package.
  • Both packages are installed and enabled by default unless you manually remove or deactivate them.
  • Among these options, nmcli command is the most powerful.
  • nmcli command is little bit hard to learn but works in every condition.
  • In exam you can use nmtui text tool instead of nmcli command.
  • For real life system administration its worth to learn nmcli command as it is available in most situations such as rescue mode, remote connection, terminal etc.

I will explain nmcli command with its options and arguments in detail with example in a separate tutorial.

Finally let’s update the IP configuration in windows system. Open Network and sharing center and click Change adapter settings

change adapter setting

Right click the “Local Area connection” and click Properties

local area connection properties

Select “Internet Protocol Version 4 (TCP/IPv4)” and click Properties

tcp ip properties

Set the IP address, subnet mask, default gateway and DNS Server IP address and click OK twice to save and close the configuration.

set ip configuation

Computers access each other through the IP address. So from computer’s prospective we are all set to go. But from human’s point of view we need one more setting. We need to map IP address with hostname so it can be accessed from hostname as well.

Mapping hostname with IP address

In a mid or large size network this process is done by DNS Server. In our LAB we will configure DNS Server in our first system (named - sever). DNS Server adds its own complexity in network. Due to this administrators prefer to skip this in small size or internal network. In absence of DNS Server host tables are used to map the hostname with IP address. Host table is stored in /etc/hosts file. This table maps IP addresses with hostnames of all computers on the local network.

Once host table is updated we can access any computer from network with its hostname instead of IP address. Usually host table have three columns. First column contains the IP address, second column contains the official hostname and third column contains alias. If host have multiple aliases, they can be added in subsequently columns. Since all computers have entry for all computers in their host table, host table becomes identical on all computers.

Host table for our LAB will be following:-

1921.168.1.1  server.example.com server
192.168.1.1 ipa.example.com ipa
192.168.1.100 client.example.com client
192.168.1.101 win.example.com win

Updating host table in RHEL is relatively easy. Open /etc/hosts file for editing

vi /etc/hosts

default file may have entries for localhost which is the default hostname on RHEL system.

default entry in hosts file

Remove the default entries and insert new entries as mentioned earlier and save the file.

hosts file entry

That’s all, our first computer is ready to access other computers from name. Repeat same process on remaining two RHEL systems (ipa and client).

On windows system process will be different. Windows stores hosts file in windows\system32\drivers\etc\ directory.

hosts file location in windows system

Just like Linux we need administrator privilege to edit this file. Open Notepad with administrator privilege.

notepad run as administrator

Based on UAC setting windows may ask you to confirm the action. If asks, click yes.

uac permission

Open hosts file in notepad

open hosts file in notepad

Make entries for all LAB systems and save the file.

updated hosts file

By default windows 7 has firewall turn on, which need to be properly configured before we can access it from network. Since we are preparing this LAB for RHCE and windows system will only be used to test services configured on Linux system, we can safely turn off the firewall.

Access Windows Firewall option from Control Panel

windows firewall option

Turn off the firewall and save the setting.

turn off firewall in windows

That’s all setting we need. Now all LAB systems should be able to communicate with each other’s. Let’s test our configuration.

Testing the RHCE LAB Setup

We can use ping command to test the connectivity between computers. Ping all computers from server system. If ping command is getting reply from all computers then we have successfully setup the LAB for RHCE practice.

rhce lab test

That’s all for this article. In next articles we will use this LAB to practice the RHCE exam topics.