Changes

Jump to: navigation, search

OPS235 Lab 8

2,246 bytes added, 10 September
no edit summary
= LAB PREPARATION =
<div style="page-break-before:always"></div>
{{Admon/caution|DO NOT START THIS LAB BEFORE GETTING LABS 1-7 CHECKED OFF|'''This lab will change some system values that make previous lab checks fail. For best results, have your professor check off Labs 1-7 before proceeding.'''}}
===Overview===
[[Image:dhcp-pic.png|thumb|right|350px|'''Hot-spots''' offer the ability for users to connect to the Internet via their mobile devices. '''Hybrid solutions''' combine DHCP and fixed IP Address. ]]
|}
There are various 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.
<u>Main Objectives</u>
* 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).
[http://linux.die.net/man/8/dhcpd dhcpd]<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>
[http://man7.org/linux/man-pages/man1/tail.1.html tail]<br>
[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=
|- valign="top"
|width="8%" | <u>'''D'''</u>iscovery:
|width="40%" |The client broadcasts a '''message''' (IP lease request) on a sub-network to '''discover''' available DHCP servers.
|colspan="2" rowspan="4"|[[Image:dora.png|thumb|right|400px|The term '''DORA''' best describes how '''DHCP''' works. ]]
|- valign="top"
|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'''to the client.
|- valign="top"
|width="8%" | <u>'''R'''</u>equest:
|width="40%" |The After receiving a '''DHCPOFFER''', the DHCP server client broadcasts a message '''request for acceptance''' ('''DHCPREQUEST''') to all DHCP servers and, in doing so, but also the DHCP client notifies other all DHCP servers which DHCP serverthis DHCP client is requesting acceptance from.
|- valign="top"
|width="8%" | <u>'''A'''</u>cknowledgement:
|width="40%" |The client DHCP server identified in the '''DHCPREQUEST''' sends a '''message of acceptance to the serverclient'''. In turn, and the client then receives from the 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:'''
# Perform this section in Launch your c7host machine and your centos3 VM.# 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>
# To check that you have <b>dhclient</b> installed, enter the command:
#:: <b><code><span style="color:#3366CC;font-size:1.2em;">rpm -q dhclientqla dhcp</span></code></b># If the package is not installedthere are no files displayed, you will get the message ''"package dhclient is not installed"'', otherwise, you will get the version information of the rpm package. Install the <b>dhclient</b> package if it was not installed.# Issue 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># Enter 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># What 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: <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]<br><br></li></ul>
# Study the sample '''dhcpd.conf''' file to see examples of how these options are used.
# Edit '''/etc/dhcp/dhcpd.conf''' and examine the top section of the file.
# Look for Below the commentlabeled: '''"option definitions common to all supported networks"'''# Below that comment change . Change the existing global options to reflect with the <u>newer values </u> shown below:<br><br><br>'''option domain-name''' '''"ops235.org";'''<br>'''option domain-name-servers''' '''192.168.235.1;'''<br><br>'''default-lease-time''' '''1200;'''<br>'''max-lease-time''' '''3600;'''<br><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>
|}
 
=== Part 3: Configuring DHCP Server for Static IP Addresses===
:'''Perform the following steps:'''
# Remain in your '''centos3''' VM for this section.
# 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.
<ol><li value="6">Open another terminal window ('''Tip: ssh ''' into your '''centos3 ''' VM from the centos host your '''c7host''' as user '''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 logfor confirmation and troubleshooting.)<br><br></li><li>In your original '''centos3''' terminal prompt , attempt to start the '''dhcpd''' service.</li>
<li>You should see new lines being added to the messages file.</li>
</ol>
<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>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 '''chkconfigsystemctl''' command to enable the dhcpd service so it started automatically upon boot-up.</li>
</ol>
=== Part 4: How do I test my dhcpd service on my virtual network?===
:'''Perform the following steps:'''
# Use your '''centos2centos1''' 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 '''centos2centos1''' 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 centos2centos1.# Logout and restart your '''centos2centos1''' VM.# Observe the messages that get logged from the tail -f command as your centos2 centos1 VM starts. You should see output similar to the following:<br><br>::<span style="font-family:courier;">Mar 24 13Jun 27 22:2809:24 49 centos3 dhcpd: DHCPDISCOVER from 52:54:00:617c:0085:e7 13 via eth2eth0</span>::<span style="font-family:courier;">Mar 24 13Jun 27 22:2809:25 50 centos3 dhcpd: DHCPOFFER on 192.168.235.51 to 52:54:00:617c:0085:e7 13 (centos1) via eth2eth0</span>::<span style="font-family:courier;">Mar 24 13Jun 27 22:2809:25 50 centos3 dhcpd: DHCPREQUEST for 192.168.235.51 (192.168.235.13) from 52:54:00:617c:0085:e7 13 (centos1) via eth2eth0</span>::<span style="font-family:courier;">Mar 24 13Jun 27 22:2809:25 50 centos3 dhcpd: DHCPACK on 192.168.235.51 to 52:54:00:617c:0085:e7 13 (centos1) via eth2eth0<br><br></span>
<ol>
<li value="6">On your '''centos2centos1'''VM, confirm open a terminal, andconfirm the IP address assignment using <b><code><span style="color:#3366CC;font-size:1.2em;">ifconfigeth0</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>
</ol>
'''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 '''centos2centos1''' and '''centos3''' VMs for this section.# If your '''centos3''' DHCP server successfully issued the proper IP address configuration values to '''centos2centos1''', check the file called:<br>'''/var/lib/dhcpd/dhcpd.leases''' in your <u>'''centos3''' VM</u>. You should get the similar contents:<br><br>
::<span style="font-family:courier;"> lease 192.168.235.51 {</span>
::<span style="font-family:courier;"> &nbsp; &nbsp;starts 5 20151 2016/0706/10 1728 01:5707:3400;</span>::<span style="font-family:courier;"> &nbsp; &nbsp;ends 5 20151 2016/0706/10 1828 01:1727:3400;</span>::<span style="font-family:courier;"> &nbsp; &nbsp;cltt 5 20151 2016/0706/10 1728 01:5707:3400;</span>::<span style="font-family:courier;"> &nbsp; &nbsp;binding state active;</span>::<span style="font-family:courier;"> &nbsp; &nbsp;next binding state free;</span>::<span style="font-family:courier;"> &nbsp; &nbsp;rewind binding state free;</span>::<span style="font-family:courier;"> &nbsp; &nbsp;hardware ethernet 52:54:00:0eba:7d75:a4a8;</span>::<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-hostname family:courier;">&nbsp; &nbsp;interface "eth0";</span>::<span style="centos2font-family:courier;">&nbsp; &nbsp;fixed-address 192.168.235.52;</span>::<span style="font-family:courier;">&nbsp; &nbsp;option subnet-mask 255.255.255.0;</span>::<span style="font-family:courier;">&nbsp; &nbsp;option routers 192.168.235.1;</span>::<span style="font-family:courier;">&nbsp; &nbsp;option dhcp-lease-time 1200;</span>::<span style="font-family:courier;">&nbsp; &nbsp;option dhcp-message-type 5;</span>::<span style="font-family:courier;">&nbsp; &nbsp;option domain-name-servers 192.168.235.1;</span>::<span style="font-family:courier;">&nbsp; &nbsp;option dhcp-server-identifier 192.168.235.13;</span>::<span style="font-family:courier;">&nbsp; &nbsp;option domain-name "ops235.org";</span>::<span style="font-family:courier;">&nbsp; &nbsp;renew 2 2016/06/28 02:23:06;</span>::<span style="font-family:courier;">&nbsp; &nbsp;rebind 2 2016/06/28 02:31:52;</span>::<span style="font-family:courier;">&nbsp; &nbsp;expire 2 2016/06/28 02:34:22;</span>
::<span style="font-family:courier;"> }</span>
<ol><li value="3">On the client '''centos2''' 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 centos2 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.<br><br></li></ol>
'''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 '''centos2centos1''' 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:<ul><li> Create a <u>'''host '''</u> declaration with the name: '''centos1'''<br>(tip: search for the key-word '''centos2"host"'''in the text editor to see an example). Make sure you record the correct <code/li><li>Set the '''hardware ethernet</code> setting that corresponds to ''' option for the MAC address of the interface in eth0 on your '''centos2centos1'''VM.# Give it </li><li>Set the '''fixed-address ''' option to the ip address: '''192.168.235.42'''<br/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="54">Start your Restart the dhcpd service and test the address assignment by releasing your current address on '''centos2centos1''' and then requesting a new address. Use the following commands on '''centos2centos1''':</li>
</ol>
::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifdown eth1eth0</span></code></b>::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifup eth1eth0</span></code></b><ol><li value="65">Confirm that you received the fixed address you were supposed to.</li>
</ol>
{{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:'''
# Make certain ALL of your '''centos1''' and '''centos3''' VMs are running.# Switch to your '''centos2c7host''' VMand '''su -''' into root.# Change to the '''/root/bin''' directory.# Issue the Linux command: <b><code><span style="color:#3366CC;font-size:1.2em;">wget httphttps://matrixict.senecac.onsenecacollege.ca/~murray.saulops235/ops235lab8/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;">&#x2713;</span> '''centos2centos1''' VM:<blockquote><ul><li>'''ifconfig eth0''' shows IP address '''192.168.235.42'''</li><li>DHCP client lease file</li><li>Output from running the '''lab8-check.bash''' script with all OK messages</li></ul></blockquote><span style="color:green;font-size:1.5em;">&#x2713;</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;">&#x2713;</span> '''Lab8''' log-book filled out.
= Practice For Quizzes, Tests, Midterm &amp; Final Exam =
[[Category:OPS235]]
[[Category:OPS235 Labs]]
[[Category:CentOS 7]]
[[Category:SSD2]]

Navigation menu