OPS235 Lab 8 - CentOS7
Contents
- 1 LAB PREPARATION
- 2 INVESTIGATION 1: INSTALL AND CONFIGURE A DHCP SERVER
- 2.1 Part 1: Installation of a DHCP
- 2.2 Part 2: What configuration options and directives need to be set in dhcpd.conf?
- 2.3 Part 3: How do I configure dhcpd settings to be applied to all subnets?
- 2.4 Part 4: How do I configure dhcpd to provide IP configuration to my virtual network?
- 2.5 Part 5: How do I test my dhcpd service on my virtual network?
- 3 INVESTIGATION 2: OBTAINING LEASE & LEASE PERMANENT IP ADDRESS INFORMATION
- 4 LAB 8 SIGN-OFF (SHOW INSTRUCTOR)
- 5 Preparing for Quizzes
LAB PREPARATION
Overview
In this lab, you will learn how to setup, and run a DHCP server on your centos3 machine, and then test-out the DHCP server by setting up your other VMs to receive an IP addresses from the DHCP server.
Main Objectives
- To install, configure, and test ISC's DHCP Server.
- To obtain log information from DHCP server including lease address information.
- To lease the same IP address every-time from VM boot-up (instead of having DHCP server randomly assign IP address).
Minimum Required Materials
My Toolkit (CLI Reference)
Each Link below displays online manpages for each command (via http://linuxmanpages.com):
Networking Utilities: | Additional Utilities: | Configuration Files: |
INVESTIGATION 1: INSTALL AND CONFIGURE A DHCP SERVER
This lab will demonstrate setting up a DHCP server. The term DHCP stands for Dynamic Host Configuration Protocol. DHCP allows computers (eg. workstations, notebooks, smart-phones) to be automatically configured so that they can communicate over a network. This automatic configuration has gained popularity over the years, especially as the need for detecting and configuring portable computer devices increases.
DHCP configuration allows for various setups including: Dynamic, Automatic, and Static allocation.
The term DORA best describes how DHCP Works:
Discovery: | The client broadcasts a message (IP lease request) on a sub-network to detect available DHCP servers |
Offer: | The DHCP server receives the request from the client, reserves an IP ADDRESS for the client and sends a DHCPOFFER |
Request: | The DHCP server broadcasts a message request for acceptance, but also notifies other DHCP server |
Acknowledgement: | The client sends a message of acceptance to the server. In turn, the client receives from the server a packet of information containing the lease duration and other configuration information |
Part 1: Installation of a DHCP
- Perform this section in your centos3 VM.
- It is advisable to perform a yum update on your host and all three of your VM's.
- It is also advisable that you properly backed up your VMs from lab7.
The version of DHCP server that comes with CentOS is maintained and distributed by the Internet Software Consortium (http://www.isc.org). The source package that you can download from ISC includes not only the DHCP server, but also a DHCP client and a DHCP relay agent. CentOS separates it into two RPM packages: the DHCP client package and the DHCP server package. The DHCP client package is installed by default by the workstation installation. - To check that you have
dhclient
installed, enter the command:-
rpm -q dhclient
-
- If the package is not installed, you will get the message "package dhclient is not installed", otherwise, you will get the version information of the rpm package. Install the
dhclient
package if it was not installed. - Check to see if the dhcp server package is installed. If not - install it.
- Enter the command to list all the files installed from the DHCP server package.
- What file appears to be a sample configuration file?
- Copy the sample
dhcpd.conf
file to the/etc/dhcp
directory making sure it is named/etc/dhcp/dhcpd.conf
Answer Part 1 observations / questions in your lab log book.
Part 2: What configuration options and directives need to be set in dhcpd.conf?
- Study the man pages of
dhcpd
,dhcpd.conf
,dhcp-options
, anddhcpd.leases
and make notes in your log book. In particular, look up the meaning and possible value(s), if any, for the following configuration options:
-
broadcast-address
-
default-lease-time
-
max-lease-time
(How is this different fromdefault-lease-time
?) -
domain-name
-
domain-name-servers
-
fixed-address
-
group
-
hardware
-
host
-
host-name
-
range
-
routers
-
subnet
-
subnet-mask
-
- Study the sample
dhcpd.conf
file to see examples of how these options are used.
Answer Part 2 observations / questions in your lab log book.
Part 3: How do I configure dhcpd settings to be applied to all subnets?
- Edit
/etc/dhcp/dhcpd.conf
and examine the top section of the file. - Make the following changes to the global settings:
-
domain-name
should be set to ops235.org -
domain-name-servers
should be set to 192.168.235.1 -
default-lease-time
should be set to 20 minutes -
max-lease-time
should be set to 1 hour
-
- Save and exit your editing session.
Answer Part 3 observations / questions in your lab log book.
Part 4: How do I configure dhcpd to provide IP configuration to my virtual network?
- Edit
/etc/dhcp/dhcpd.conf
for a second time, and add a new subnet delcaration for your virtual network - The network address is 192.168.235.0/255.255.255.0 and the range of host addresses should be from 51 to 60
- Also add a default gateway for the virtual network of 192.168.235.1
- Save your editing session, and exit the text editor.
- Open another terminal window (ssh into centos3 from the centos host as user root) and issue the following command:
-
tail -f /var/log/messages
-
- This will show you the last 10 lines of
/var/log/messages
continue to display new lines as they are added to the log. - In your original terminal prompt attempt to start the
dhcpd
service. - You should see new lines being added to the messages file.
- If the
dhcpd
service fails to start any error messages will be logged in the messages file. Read the errors and attempt to fix your configuration file. - If the
dhcpd
service starts successfully you should see success messages in the log. - If your
dhcpd
service starts successfully, try to generate errors by editing the configuration file and introduce an error by removing a semicolon or closing curly bracket. - Restart your
dhcpd
service and observe the error messages generated. This is good practice to learn how to trouble-shoot and solve dhcpd errors. - Make certain that you have corrected those errors, and that your dhcpd service works properly.
Answer Part 4 observations / questions in your lab log book.
Part 5: How do I test my dhcpd service on my virtual network?
- On a centos3 terminal window make sure that the command
tail -f /var/log/messages
is running. - On your centos2 VM, change the configuration of eth0 (or your interface name) to receive dynamic address configuration.
- Save your changes and restart the
NetworkManager
service. - Observe the messages that get logged. You should see output similar to the following:
Mar 24 13:28:24 centos3 dhcpd: DHCPDISCOVER from 52:54:00:61:00:e7 via eth2 Mar 24 13:28:25 centos3 dhcpd: DHCPOFFER on 192.168.235.51 to 52:54:00:61:00:e7 via eth2 Mar 24 13:28:25 centos3 dhcpd: DHCPREQUEST for 192.168.235.51 (192.168.235.13) from 52:54:00:61:00:e7 via eth2 Mar 24 13:28:25 centos3 dhcpd: DHCPACK on 192.168.235.51 to 52:54:00:61:00:e7 via eth2
- On centos2, confirm the IP address assignment using
ifconfig
Answer Part 5 observations / questions in your lab log book.
INVESTIGATION 2: OBTAINING LEASE & LEASE PERMANENT IP ADDRESS INFORMATION
Part 1: Where does the dhcp server store a record of leased addresses?
- If your centos3 DHCP server successfully issued the proper IP address configuration values to centos2, check the file called
/var/lib/dhcpd/dhcpd.leases
- You should see contents similar to:
lease 192.168.235.51 { starts 3 2010/03/24 17:28:25; ends 3 2010/03/24 17:48:25; cltt 3 2010/03/24 17:28:25; binding state active; next binding state free; hardware ethernet 52:54:00:61:00:e7; }
- On the client centos2 check the contents of the
/var/lib/dhclient
directory. The files in this directory is where the dhclient stores its record of leases.
Answer Part 1 observations / questions in your lab log book.
Part 2: How can I lease the same address every time?
- Make certain that you are located in your centos3 virtual machine.
- Create a host declaration for centos2. Make sure you record the correct
hardware ethernet
setting that corresponds to the MAC address of the interface in centos2. - Give it the fixed-address 192.168.235.12
- Start your service and test the address assignment by releasing your current address on centos2 and then requesting a new address. Use the following commands on centos2:
-
ifdown eth1
-
ifup eth1
-
- Confirm that you received the fixed address you were supposed to.
Answer Part 2 observations / questions in your lab log book.
LAB 8 SIGN-OFF (SHOW INSTRUCTOR)
Arrange proof of the following on the screen:
- DHCP server log file showing a lease occuring
- DHCP server configuration file showing subnet and host declaration
- DHCP server lease file
- DHCP client lease file
Preparing for Quizzes
- What protocol and port does dhcp use?
- What file is used to configure dhcpd?
- Can a dhcp server also be a dhcp client?
- What is the difference between max-lease-time and default-lease-time?
- What unit of measurement does default-lease-time require?
- What dhcp option is used for configuring a default gateway?
- What is the parameter range in the DHCP server configuration file used for?
- What is the purpose of a dhcp relay agent?
- Why might a dhcp relay agent be required?