Difference between revisions of "OPS235 Lab 8"
Ahadalioglu (talk | contribs) m (→Part 2: Configuring DHCP server to Continually Lease Same IP Address) |
|||
(42 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
= LAB PREPARATION = | = LAB PREPARATION = | ||
+ | <div style="page-break-before:always"></div> | ||
+ | {{Admon/caution|DO NOT START THIS LAB BEFORE SUCCESSFULLY SUBMITTING LABS 1-7|'''This lab will change some system values that make previous lab checks fail. For best results, confirm with your professor before proceeding.'''}} | ||
===Overview=== | ===Overview=== | ||
Line 41: | Line 43: | ||
[http://linux.die.net/man/8/dhcpd dhcpd]<br> | [http://linux.die.net/man/8/dhcpd dhcpd]<br> | ||
[http://man7.org/linux/man-pages/man8/ifconfig.8.html ifconfig]<br><br> | [http://man7.org/linux/man-pages/man8/ifconfig.8.html ifconfig]<br><br> | ||
+ | Managing Services<br> | ||
+ | [http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=systemctl systemctl]<br><br> | ||
Additional Utilities<br> | Additional Utilities<br> | ||
[http://man7.org/linux/man-pages/man1/tail.1.html tail]<br> | [http://man7.org/linux/man-pages/man1/tail.1.html tail]<br> | ||
Line 50: | Line 54: | ||
[http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-server.html Configuring a DHCP Server ] | [http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-server.html Configuring a DHCP Server ] | ||
|} | |} | ||
− | |||
=INVESTIGATION 1: INSTALL AND CONFIGURE A DHCP SERVER= | =INVESTIGATION 1: INSTALL AND CONFIGURE A DHCP SERVER= | ||
Line 66: | Line 69: | ||
|- valign="top" | |- valign="top" | ||
|width="8%" | <u>'''O'''</u>ffer: | |width="8%" | <u>'''O'''</u>ffer: | ||
− | |width="40%" |The DHCP server receives the request from the client, '''reserves an IP ADDRESS''' for the client and sends a '''DHCPOFFER'''. | + | |width="40%" |The DHCP server receives the request from the client, '''reserves an IP ADDRESS''' for the client and sends a '''DHCPOFFER''' to the client. |
|- valign="top" | |- valign="top" | ||
|width="8%" | <u>'''R'''</u>equest: | |width="8%" | <u>'''R'''</u>equest: | ||
− | |width="40%" | | + | |width="40%" |After receiving a '''DHCPOFFER''', the DHCP client broadcasts a message '''request for acceptance''' ('''DHCPREQUEST''') to all DHCP servers and, in doing so, the DHCP client notifies all DHCP servers which DHCP server this DHCP client is requesting acceptance from. |
|- valign="top" | |- valign="top" | ||
|width="8%" | <u>'''A'''</u>cknowledgement: | |width="8%" | <u>'''A'''</u>cknowledgement: | ||
− | |width="40%" |The | + | |width="40%" |The DHCP server identified in the '''DHCPREQUEST''' sends a '''message of acceptance to the client''' and the client then receives from that DHCP server a '''packet of information''' containing the lease duration and other configuration information. |
|} | |} | ||
Line 84: | Line 87: | ||
:'''Perform the following steps:''' | :'''Perform the following steps:''' | ||
− | # | + | # Launch your c7host machine and your centos3 VM. |
− | # To check that you have <b> | + | # Switch to your '''centos3''' VM.<br><br>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.<br><br> |
− | #:: <b><code><span style="color:#3366CC;font-size:1.2em;">rpm - | + | # To check that you have <b>dhcp</b> installed, enter the command: |
− | # If | + | #::<b><code><span style="color:#3366CC;font-size:1.2em;">rpm -qa dhcp</span></code></b> |
− | + | # If there are no files displayed, then issue the following command to install the dhcp server package: <b><code><span style="color:#3366CC;font-size:1.2em;">yum install dhcp</span></code></b> | |
− | # | + | # Again, enter the command to list all the files installed from the DHCP server package by issuing the command: <b><code><span style="color:#3366CC;font-size:1.2em;">rpm -qla dhcp</span></code></b> |
− | # | + | # Which file appears to be a sample (example) '''configuration file for dhcpd.conf'''? |
# Copy the '''dhcpd.conf.example''' file to the '''/etc/dhcp''' directory making sure it is named: '''/etc/dhcp/dhcpd.conf''' | # Copy the '''dhcpd.conf.example''' file to the '''/etc/dhcp''' directory making sure it is named: '''/etc/dhcp/dhcpd.conf''' | ||
Line 101: | Line 104: | ||
# Remain in your '''centos3''' VM for this section. | # Remain in your '''centos3''' VM for this section. | ||
− | # Click on the following link to access the online manual page for the following DHCP items to gain an understanding: <ul><li>[http://linux.die.net/man/8/dhcpd dhcpd]</li><li>[https://www.freebsd.org/cgi/man.cgi?query=dhcpd.conf&sektion=5&apropos=0&manpath=FreeBSD+9.0-RELEASE+and+Ports dhcpd.conf]</li><li>[http://linux.die.net/man/5/dhcp-options dhcpd-options]</li><li>[http://linux.die.net/man/5/dhcpd.leases dhcpd.leases] | + | # Click on the following link to access the online manual page for the following DHCP items to gain an understanding: <ul><li>[http://linux.die.net/man/8/dhcpd dhcpd]</li><li>[https://www.freebsd.org/cgi/man.cgi?query=dhcpd.conf&sektion=5&apropos=0&manpath=FreeBSD+9.0-RELEASE+and+Ports dhcpd.conf]</li><li>[http://linux.die.net/man/5/dhcp-options dhcpd-options]</li><li>[http://linux.die.net/man/5/dhcpd.leases dhcpd.leases]</li></ul> |
# Study the sample '''dhcpd.conf''' file to see examples of how these options are used. | # Study the sample '''dhcpd.conf''' file to see examples of how these options are used. | ||
− | # | + | # Review the contents of '''/etc/dhcp/dhcpd.conf''' file (see the picture) and examine the top section of the file. |
− | # | + | # Be advised: "'''option''' definitions common to all supported networks". Change the existing global options with the <u>newer values</u> shown below, if the '''dhcpd.conf''' file is empty, add them manually:<br><br>'''option domain-name''' '''"ops235.org";'''<br>'''option domain-name-servers''' '''192.168.235.1;'''<br>'''default-lease-time''' '''1200;'''<br>'''max-lease-time''' '''3600;'''<br><br>'''Note:''' Any values for time are stated in seconds.<br><br> |
# View your editing sessions for typos (check for missing semicolons), then save and exit your editing session.<br><br> | # View your editing sessions for typos (check for missing semicolons), then save and exit your editing session.<br><br> | ||
Line 115: | Line 118: | ||
|} | |} | ||
+ | |||
=== Part 3: Configuring DHCP Server for Static IP Addresses=== | === Part 3: Configuring DHCP Server for Static IP Addresses=== | ||
Line 124: | Line 128: | ||
# Now, add a new subnet delcaration for your virtual network:<br><br>The network address is: '''192.168.235.0/255.255.255.0'''<br>range of host addresses should be from: '''51 to 60'''<br>default gateway (routers) for the virtual network is: '''192.168.235.1'''<br><br> | # Now, add a new subnet delcaration for your virtual network:<br><br>The network address is: '''192.168.235.0/255.255.255.0'''<br>range of host addresses should be from: '''51 to 60'''<br>default gateway (routers) for the virtual network is: '''192.168.235.1'''<br><br> | ||
# Save your editing session, and exit the text editor. | # Save your editing session, and exit the text editor. | ||
− | <ol><li value="6">Open another terminal window (ssh into centos3 from | + | <ol><li value="6">Open another terminal window ('''Tip: ssh''' into your '''centos3''' VM from your '''c7host''' as '''root''') and issue the following command:<br><b><code><span style="color:#3366CC;font-size:1.2em;">tail -f /var/log/messages</span></code></b><br><br>(This will show you the last lines of '''/var/log/messages''' continue to display new lines as they are added to the log for confirmation and troubleshooting.)<br><br></li> |
− | <li>In your | + | <li>In your '''centos3''' terminal, attempt to start the '''dhcpd''' service.</li> |
<li>You should see new lines being added to the messages file.</li> | <li>You should see new lines being added to the messages file.</li> | ||
</ol> | </ol> | ||
Line 141: | Line 145: | ||
<li>Restart your '''dhcpd''' service and observe the error messages generated. This is good practice to learn how to trouble-shoot and solve dhcpd errors.</li> | <li>Restart your '''dhcpd''' service and observe the error messages generated. This is good practice to learn how to trouble-shoot and solve dhcpd errors.</li> | ||
<li>Make certain that you have corrected those errors, and that your dhcpd service works properly. | <li>Make certain that you have corrected those errors, and that your dhcpd service works properly. | ||
− | <li>Once the dhcpd service has is running, use the '''systemctl''' command to see if the dhcpd service is enabled. If it is not enabled, use the ''' | + | <li>Once the dhcpd service has is running, use the '''systemctl''' command to see if the dhcpd service is enabled (Hint: use a pipeline command using '''grep''' to detect the pattern: '''enabled'''). If it is not enabled, use the '''systemctl''' command to enable the dhcpd service so it started automatically upon boot-up.</li> |
</ol> | </ol> | ||
Line 156: | Line 160: | ||
:'''Perform the following steps:''' | :'''Perform the following steps:''' | ||
− | # Use your ''' | + | # Use your '''centos1''' and '''centos3''' VMs for this section. |
# On your '''centos3''' terminal window (via ssh from your c7hsot machine) make sure that the command<br><b>tail -f /var/log/messages</b> is running. | # On your '''centos3''' terminal window (via ssh from your c7hsot machine) make sure that the command<br><b>tail -f /var/log/messages</b> is running. | ||
− | # On your ''' | + | # On your '''centos1''' VM, Graphically change the configuration of '''eth0''' (or your interface name) to receive dynamic address configuration (i.e. via graphical application, for IVP4 tab, change ''Address'' from '''Manual''' to '''DHCP''', and '''Apply''' settings)<br>([http://zenit.senecac.on.ca/wiki/index.php/OPS235_Lab_6_-_CentOS7#Part_2:_Configuring_VM_Network_Setup_Graphically_.28system-config-network.29 Refer to Lab6, Investigation1, Part2]).<br><br>Note: if you are configuring via command line, make certain to restart the network for centos1. |
− | # Logout and restart your ''' | + | # Logout and restart your '''centos1''' VM. |
− | # Observe the messages that get logged from the tail -f command as your | + | # Observe the messages that get logged from the tail -f command as your centos1 VM starts. You should see output similar to the following:<br><br> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;">Jun 27 22:09:49 centos3 dhcpd: DHCPDISCOVER from 52:54:00:7c:85:13 via eth0</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;">Jun 27 22:09:50 centos3 dhcpd: DHCPOFFER on 192.168.235.51 to 52:54:00:7c:85:13 (centos1) via eth0</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;">Jun 27 22:09:50 centos3 dhcpd: DHCPREQUEST for 192.168.235.51 (192.168.235.13) from 52:54:00:7c:85:13 (centos1) via eth0</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;">Jun 27 22:09:50 centos3 dhcpd: DHCPACK on 192.168.235.51 to 52:54:00:7c:85:13 (centos1) via eth0<br><br></span> |
<ol> | <ol> | ||
− | <li value="6">On ''' | + | <li value="6">On your '''centos1''' VM, open a terminal, andconfirm the IP address assignment using <b><code><span style="color:#3366CC;font-size:1.2em;">ifconfig eth0</span></code></b></li> |
<li>Has the IP Address changed? If so, how has the IP Address been assigned according to the '''dhcpd.conf''' file settings?</li> | <li>Has the IP Address changed? If so, how has the IP Address been assigned according to the '''dhcpd.conf''' file settings?</li> | ||
</ol> | </ol> | ||
'''Answer INVESTIGATION 1 observations / questions in your lab log book.''' | '''Answer INVESTIGATION 1 observations / questions in your lab log book.''' | ||
− | |||
=INVESTIGATION 2: OBTAINING LEASE & LEASE PERMANENT IP ADDRESS INFORMATION= | =INVESTIGATION 2: OBTAINING LEASE & LEASE PERMANENT IP ADDRESS INFORMATION= | ||
Line 187: | Line 190: | ||
:'''Perform the following steps:''' | :'''Perform the following steps:''' | ||
− | # Remain in your ''' | + | # Remain in your '''centos1''' and '''centos3''' VMs for this section. |
− | # If your '''centos3''' DHCP server successfully issued the proper IP address configuration values to ''' | + | # If your '''centos3''' DHCP server successfully issued the proper IP address configuration values to '''centos1''', check the file called:<br>'''/var/lib/dhcpd/dhcpd.leases''' in your <u>'''centos3''' VM</u>. You should get the similar contents:<br> |
::<span style="font-family:courier;"> lease 192.168.235.51 {</span> | ::<span style="font-family:courier;"> lease 192.168.235.51 {</span> | ||
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;"> starts 1 2016/06/28 01:07:00;</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;"> ends 1 2016/06/28 01:27:00;</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;"> cltt 1 2016/06/28 01:07:00;</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;"> binding state active;</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;"> next binding state free;</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;"> rewind binding state free;</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;"> hardware ethernet 52:54:00:ba:75:a8;</span> |
− | ::<span style="font-family:courier;"> | + | ::<span style="font-family:courier;">}</span> |
+ | <ol><li value="3">On the client '''centos1''' check the contents of the <b>/var/lib/dhclient</b> directory. The files in this directory is where the dhclient stores its record of leases.<br><br> '''NOTE:''' If there are no files, then in a shell as '''root''' in your '''centos1''' VM issue the command: <b><code><span style="color:#3366CC;font-size:1.2em;">dhclient eth0</span></code></b><br>Then check to see if there is file containing lease information in that directory. You should get the similar contents:<br></li></ol> | ||
+ | ::<span style="font-family:courier;"> lease {</span> | ||
+ | ::<span style="font-family:courier;"> interface "eth0";</span> | ||
+ | ::<span style="font-family:courier;"> fixed-address 192.168.235.52;</span> | ||
+ | ::<span style="font-family:courier;"> option subnet-mask 255.255.255.0;</span> | ||
+ | ::<span style="font-family:courier;"> option routers 192.168.235.1;</span> | ||
+ | ::<span style="font-family:courier;"> option dhcp-lease-time 1200;</span> | ||
+ | ::<span style="font-family:courier;"> option dhcp-message-type 5;</span> | ||
+ | ::<span style="font-family:courier;"> option domain-name-servers 192.168.235.1;</span> | ||
+ | ::<span style="font-family:courier;"> option dhcp-server-identifier 192.168.235.13;</span> | ||
+ | ::<span style="font-family:courier;"> option domain-name "ops235.org";</span> | ||
+ | ::<span style="font-family:courier;"> renew 2 2016/06/28 02:23:06;</span> | ||
+ | ::<span style="font-family:courier;"> rebind 2 2016/06/28 02:31:52;</span> | ||
+ | ::<span style="font-family:courier;"> expire 2 2016/06/28 02:34:22;</span> | ||
::<span style="font-family:courier;"> }</span> | ::<span style="font-family:courier;"> }</span> | ||
− | + | ||
− | |||
'''Answer Part 1 observations / questions in your lab log book.''' | '''Answer Part 1 observations / questions in your lab log book.''' | ||
Line 216: | Line 232: | ||
:'''Perform the following steps:''' | :'''Perform the following steps:''' | ||
− | # Remain in your ''' | + | # Remain in your '''centos1''' and '''cento3''' VMs for this section. |
# Make certain that you are located in your '''centos3''' virtual machine. | # Make certain that you are located in your '''centos3''' virtual machine. | ||
− | # Create a host declaration for ''' | + | # Edit the dchpd.conf file and make the following changes:<ul><li> Create a <u>'''host'''</u> declaration with the name: '''centos1'''<br>(tip: search for the key-word '''"host"''' in the text editor to see an example, if it is empty, do a little research on the Internet).</li><li>Set the '''hardware ethernet''' option for the MAC address of the eth0 on your '''centos1''' VM.</li><li>Set the '''fixed-address''' option to the ip address: '''192.168.235.42'''</li></ul><br>'''Note:''' When supplying fixed-address it is important that the address assigned is exclusive of any ranges that have been declared. Otherwise it may be possible for 2 different hosts to receive the same address.<br><br> |
− | + | <ol><li value="4">Restart the dhcpd service and test the address assignment by releasing your current address on '''centos1''' and then requesting a new address. Use the following commands on '''centos1''':</li> | |
− | <ol><li value=" | ||
</ol> | </ol> | ||
− | ::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifdown | + | ::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifdown eth0</span></code></b> |
− | ::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifup | + | ::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifup eth0</span></code></b> |
− | <ol><li value=" | + | <ol><li value="5">Confirm that you received the fixed address you were supposed to.</li> |
</ol> | </ol> | ||
Line 231: | Line 246: | ||
= LAB 8 SIGN-OFF (SHOW INSTRUCTOR) = | = LAB 8 SIGN-OFF (SHOW INSTRUCTOR) = | ||
+ | ===Exclusively for Summer 2020 term, submissions are accepted only online!=== | ||
+ | Follow the submission instructions for lab 8 on Blackboard. | ||
{{Admon/important|Time for a new backup!|If you have successfully completed this lab, make a new backup of your virtual machines as well as your host machine.}} | {{Admon/important|Time for a new backup!|If you have successfully completed this lab, make a new backup of your virtual machines as well as your host machine.}} | ||
:'''Perform the Following Steps:''' | :'''Perform the Following Steps:''' | ||
− | # | + | # Make certain ALL of your '''centos1''' and '''centos3''' VMs are running. |
− | #Arrange proof of the following on the screen:<br><blockquote><span style="color:green;font-size:1.5em;">✓</span> ''' | + | # Switch to your '''c7host''' VM and '''su -''' into root. |
+ | # Change to the '''/root/bin''' directory. | ||
+ | # Issue the Linux command: <b><code><span style="color:#3366CC;font-size:1.2em;">wget https://ict.senecacollege.ca/~ops235/labs/lab8-check.bash</span></code></b> | ||
+ | # Give the '''lab8-check.bash''' file execute permissions (for the file owner). | ||
+ | # Run the shell script and if any warnings, make fixes and re-run shell script until you receive "congratulations" message.<br><br> | ||
+ | #Arrange proof of the following on the screen:<br><blockquote><span style="color:green;font-size:1.5em;">✓</span> '''centos1''' VM:<blockquote><ul><li>'''ifconfig eth0''' shows IP address '''192.168.235.42'''</li><li>DHCP client lease file</li></ul></blockquote><span style="color:green;font-size:1.5em;">✓</span> '''centos3''' VM:<blockquote><ul><li>DHCP server log file showing a lease occuring</li><li>DHCP server configuration file showing subnet and host declaration</li><li>DHCP server lease file</li></ul></blockquote><span style="color:green;font-size:1.5em;">✓</span> '''Lab8''' log-book filled out. | ||
= Practice For Quizzes, Tests, Midterm & Final Exam = | = Practice For Quizzes, Tests, Midterm & Final Exam = | ||
Line 251: | Line 273: | ||
[[Category:OPS235]] | [[Category:OPS235]] | ||
+ | [[Category:OPS235 Labs]] | ||
+ | [[Category:CentOS 7]] | ||
+ | [[Category:SSD2]] | ||
+ | [[Category:Digital Classroom]] |
Latest revision as of 10:46, 4 August 2020
Contents
LAB PREPARATION
Overview
There are different ways in which computers can be networked together. Some computer networks (such as computer labs) configure their workstations for static IP addresses for security and to provide other interesting features such as WOL (Wake Up on Lan) which allows a signal from a computer system to remotely start all or specified workstations within the lab.
Hot-spots (such as cafes or airport lounges) offer the ability for users to connect to the Internet (via DHCP) from their mobile devices (notebooks, netbooks, tablets, or smart phones). Finally, there are hybrid solutions that may offer both fixed IP address (computer workstations) and allow for wireless connections (via DHCP) to a mobile devices (like at your Seneca computer labs).
In lab6, you learned to connect your VMs to a VPN using a fixed IP Address. In this final lab, you will learn to set-up a DHCP server to automatically assign IP Addresses upon connection requests.
Main Objectives
- To install, configure, and test Internet Systems Consortium's (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 |
Linux Command Reference | |||
Networking Utilities dhcpd |
Configuration Files dhcpd.conf |
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 discover available DHCP servers. | ||
Offer: | The DHCP server receives the request from the client, reserves an IP ADDRESS for the client and sends a DHCPOFFER to the client. | ||
Request: | After receiving a DHCPOFFER, the DHCP client broadcasts a message request for acceptance (DHCPREQUEST) to all DHCP servers and, in doing so, the DHCP client notifies all DHCP servers which DHCP server this DHCP client is requesting acceptance from. | ||
Acknowledgement: | The DHCP server identified in the DHCPREQUEST sends a message of acceptance to the client and the client then receives from that DHCP server a packet of information containing the lease duration and other configuration information. |
Part 1: Installation of a DHCP
- Perform the following steps:
- Launch your c7host machine and your centos3 VM.
- Switch to your centos3 VM.
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 dhcp installed, enter the command:
rpm -qa dhcp
- If there are no files displayed, then issue the following command to install the dhcp server package:
yum install dhcp
- Again, enter the command to list all the files installed from the DHCP server package by issuing the command:
rpm -qla dhcp
- Which file appears to be a sample (example) configuration file for dhcpd.conf?
- Copy the dhcpd.conf.example file to the /etc/dhcp directory making sure it is named: /etc/dhcp/dhcpd.conf
Part 2: Configuring the DHCP Server
- Perform the following steps:
- Remain in your centos3 VM for this section.
- Click on the following link to access the online manual page for the following DHCP items to gain an understanding:
- Study the sample dhcpd.conf file to see examples of how these options are used.
- Review the contents of /etc/dhcp/dhcpd.conf file (see the picture) and examine the top section of the file.
- Be advised: "option definitions common to all supported networks". Change the existing global options with the newer values shown below, if the dhcpd.conf file is empty, add them manually:
option domain-name "ops235.org";
option domain-name-servers 192.168.235.1;
default-lease-time 1200;
max-lease-time 3600;
Note: Any values for time are stated in seconds. - View your editing sessions for typos (check for missing semicolons), then save and exit your editing session.
Part 3: Configuring DHCP Server for Static IP Addresses
- Perform the following steps:
- Remain in your centos3 VM for this section.
- Edit /etc/dhcp/dhcpd.conf for a second time.
- View this file for existing subnet declarations. Note the syntax and the directive for range and the option for routers (gateway).
- Now, add a new subnet delcaration for your virtual network:
The network address is: 192.168.235.0/255.255.255.0
range of host addresses should be from: 51 to 60
default gateway (routers) for the virtual network is: 192.168.235.1 - Save your editing session, and exit the text editor.
- Open another terminal window (Tip: ssh into your centos3 VM from your c7host as root) and issue the following command:
tail -f /var/log/messages
(This will show you the last lines of /var/log/messages continue to display new lines as they are added to the log for confirmation and troubleshooting.) - In your centos3 terminal, 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.
- Once the dhcpd service has is running, use the systemctl command to see if the dhcpd service is enabled (Hint: use a pipeline command using grep to detect the pattern: enabled). If it is not enabled, use the systemctl command to enable the dhcpd service so it started automatically upon boot-up.
Part 4: How do I test my dhcpd service on my virtual network?
- Perform the following steps:
- Use your centos1 and centos3 VMs for this section.
- On your centos3 terminal window (via ssh from your c7hsot machine) make sure that the command
tail -f /var/log/messages is running. - On your centos1 VM, Graphically change the configuration of eth0 (or your interface name) to receive dynamic address configuration (i.e. via graphical application, for IVP4 tab, change Address from Manual to DHCP, and Apply settings)
(Refer to Lab6, Investigation1, Part2).
Note: if you are configuring via command line, make certain to restart the network for centos1. - Logout and restart your centos1 VM.
- Observe the messages that get logged from the tail -f command as your centos1 VM starts. You should see output similar to the following:
- Jun 27 22:09:49 centos3 dhcpd: DHCPDISCOVER from 52:54:00:7c:85:13 via eth0
- Jun 27 22:09:50 centos3 dhcpd: DHCPOFFER on 192.168.235.51 to 52:54:00:7c:85:13 (centos1) via eth0
- Jun 27 22:09:50 centos3 dhcpd: DHCPREQUEST for 192.168.235.51 (192.168.235.13) from 52:54:00:7c:85:13 (centos1) via eth0
- Jun 27 22:09:50 centos3 dhcpd: DHCPACK on 192.168.235.51 to 52:54:00:7c:85:13 (centos1) via eth0
- On your centos1 VM, open a terminal, andconfirm the IP address assignment using
ifconfig eth0
- Has the IP Address changed? If so, how has the IP Address been assigned according to the dhcpd.conf file settings?
Answer INVESTIGATION 1 observations / questions in your lab log book.
INVESTIGATION 2: OBTAINING LEASE & LEASE PERMANENT IP ADDRESS INFORMATION
Part 1: Obtaining Leased Address Infomation
- Perform the following steps:
- Remain in your centos1 and centos3 VMs for this section.
- If your centos3 DHCP server successfully issued the proper IP address configuration values to centos1, check the file called:
/var/lib/dhcpd/dhcpd.leases in your centos3 VM. You should get the similar contents:
- lease 192.168.235.51 {
- starts 1 2016/06/28 01:07:00;
- ends 1 2016/06/28 01:27:00;
- cltt 1 2016/06/28 01:07:00;
- binding state active;
- next binding state free;
- rewind binding state free;
- hardware ethernet 52:54:00:ba:75:a8;
- }
- On the client centos1 check the contents of the /var/lib/dhclient directory. The files in this directory is where the dhclient stores its record of leases.
NOTE: If there are no files, then in a shell as root in your centos1 VM issue the command:dhclient eth0
Then check to see if there is file containing lease information in that directory. You should get the similar contents:
- lease {
- interface "eth0";
- fixed-address 192.168.235.52;
- option subnet-mask 255.255.255.0;
- option routers 192.168.235.1;
- option dhcp-lease-time 1200;
- option dhcp-message-type 5;
- option domain-name-servers 192.168.235.1;
- option dhcp-server-identifier 192.168.235.13;
- option domain-name "ops235.org";
- renew 2 2016/06/28 02:23:06;
- rebind 2 2016/06/28 02:31:52;
- expire 2 2016/06/28 02:34:22;
- }
Answer Part 1 observations / questions in your lab log book.
Part 2: Configuring DHCP server to Continually Lease Same IP Address
- Perform the following steps:
- Remain in your centos1 and cento3 VMs for this section.
- Make certain that you are located in your centos3 virtual machine.
- Edit the dchpd.conf file and make the following changes:
- Create a host declaration with the name: centos1
(tip: search for the key-word "host" in the text editor to see an example, if it is empty, do a little research on the Internet). - Set the hardware ethernet option for the MAC address of the eth0 on your centos1 VM.
- Set the fixed-address option to the ip address: 192.168.235.42
Note: When supplying fixed-address it is important that the address assigned is exclusive of any ranges that have been declared. Otherwise it may be possible for 2 different hosts to receive the same address. - Create a host declaration with the name: centos1
- Restart the dhcpd service and test the address assignment by releasing your current address on centos1 and then requesting a new address. Use the following commands on centos1:
-
ifdown eth0
-
ifup eth0
-
- Confirm that you received the fixed address you were supposed to.
Answer INVESTIGATION 2 observations / questions in your lab log book.
LAB 8 SIGN-OFF (SHOW INSTRUCTOR)
Exclusively for Summer 2020 term, submissions are accepted only online!
Follow the submission instructions for lab 8 on Blackboard.
- Perform the Following Steps:
- Make certain ALL of your centos1 and centos3 VMs are running.
- Switch to your c7host VM and su - into root.
- Change to the /root/bin directory.
- Issue the Linux command:
wget https://ict.senecacollege.ca/~ops235/labs/lab8-check.bash
- Give the lab8-check.bash file execute permissions (for the file owner).
- Run the shell script and if any warnings, make fixes and re-run shell script until you receive "congratulations" message.
- Arrange proof of the following on the screen:
✓ centos1 VM:
✓ centos3 VM:- ifconfig eth0 shows IP address 192.168.235.42
- DHCP client lease file
✓ Lab8 log-book filled out.- DHCP server log file showing a lease occuring
- DHCP server configuration file showing subnet and host declaration
- DHCP server lease file
Practice For Quizzes, Tests, Midterm & Final Exam
- 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?