1,576
edits
Changes
no edit summary
{{Admon/caution|THIS IS AN OLD VERSION OF THE LAB|'''This is an archived version. Do not use this in your OPS235 course.'''}}
= LAB PREPARATION =
==Overview==
{| width="40%" align="right" cellpadding="10"
|- valign="top"
|
[[Image:ip.png|thumb|right|150px|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'''.]]
|
[[Image:wifi.png|thumb|right|125px|'''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 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 how to setup, and run set-up a '''DHCP server on your centos3 machine, and then test-out the DHCP server by setting up your other VMs ''' to receive an automatically assign IP addresses from the DHCP serverAddresses upon connection requests.
<u>Main Objectives</u>
==Minimum Required Materials==
{|cellpadding="15" width="40%"#INVESTIGATION_3:_SECURING_THE_SSH_CONNECTION
|- valign="top"
|
*[http://man7.org/linux/man-pages/man1/tail.1.html tail]
*[http://linux.die.net/man/8/chkconfig chkconfig]
|
*[https://www.freebsd.org/cgi/man.cgi?query=dhcpd.conf&sektion=5&apropos=0&manpath=FreeBSD+9.0-RELEASE+and+Ports dhcpd.conf]
[[Image:dora.png|thumb|right|400px|The term '''DORA''' best describes how '''DHCP''' works. ]]
This lab will demonstrate setting up a DHCP server. The term '''DHCP ''' stands for x'''Dynamic Host Configuration Protocol'''. PurposeDHCP 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.<br><br>
The term '''DORA''' best describes how DHCP Works:
<br><br>{|cellpadding="152" width="4060%"
|- valign="top"
|width="8%" | <u>'''D'''</u>iscovery:
|width="90%" |The client broadcasts a '''message''' (IP lease request) on a sub-network to '''discover''' available DHCP servers
|- valign="top"
|width="8%" | <u>'''O'''</u>ffer:
|width="90%" |The DHCP server receives the request from the client, '''reserves an IP ADDRESS''' for the client and sends a '''DHCPOFFER'''
|- valign="top"
|width="8%" | <u>'''R'''</u>equest:
|width="9%" |The DHCP server broadcasts a message '''request for acceptance''', but also notifies other DHCP server
|- valign="top"
|width="8%" | <u>'''A'''</u>cknowledgement:
|width="90%" |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
|}
<br><br>
== Part 1: Installation of a DHCP==
{| width="40%" align="right" cellpadding="10"
|- valign="top"
|{{Admon/note|VM Backups and Yum Updates|Before proceeding with this lab make certain that you have backed-up from lab7, and then perform a '''yum update''' on all machines (including your VMs)|}}
|}
# Perform this section in 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 dhclient</span></code></b>
# 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 <b>dhclient</b> package if it was not installed.
# 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 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 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'''
[[Image:dhcp-config.png|thumb|right|width="10%" 500px| <u>The '''dhcpd.config''' file allows the Linux system administrator to customize the DCHP server. Generally in this file are '''global settings''' (options that apply throughout entire network) and '''subnet declarations''' (options that apply only to that subnet). Whenever changes are made to this file, the '''ODCHP service needs to be restarted'''to allow new settings to take effect.</ubr>ffer<br>'''NOTE:Any errors in this file (such as typos or missing semi-colons) can cause the DHCP server not to restart!''' ]]
== Part 3: Configuring DHCP Server for Static IP Addresses==
{|width="40%" align="right"
|- valign="top"
|width="10%" | <u>'''A'''<{{Admon/u>cknowledgement: important |width="50%" Recall Secure SSH Connection Method from Lab7 |The client sends a message of acceptance to Do not forget that you made ssh more secure in the serverprevious lab. In turnTherefore, you will need to use the client receives from the server a packet of information containing the lease duration and other configuration informationsame command in lab7 to securely connect to your VM.}}
|}
# Perform this section Remain in your '''centos3''' VMfor this section.# It is advisable to perform Edit '''/etc/dhcp/dhcpd.conf''' for a yum update on your host second time.# View this file for existing subnet declarations. Note the syntax and the directive for '''range''' and all three of your VMthe option for '''routers'''s(gateway).# It is also advisable that you properly backed up Now, add a new subnet delcaration for your VMs from lab7.virtual network:<br><br>The version of DHCP server that comes with CentOS network address is maintained and distributed by the Internet Software Consortium (http:'''192.168.235.0//www255.isc255.org)255. The source package that you can download 0'''<br>range of host addresses should be from ISC includes not only : '''51 to 60'''<br>default gateway (routers) for the DHCP server, but also a DHCP client and a DHCP relay agentvirtual network is: '''192. CentOS separates it into two RPM packages: the DHCP client package and the DHCP server package168. The DHCP client package is installed by default by the workstation installation235.1'''<br><br># To check that you have Save your editing session, and exit the text editor.<codeol>dhclient</codeli value="6"> installed, enter Open another terminal window (ssh into centos3 from the centos host as user root) and issue the following command:#:: <codebr>rpm -q dhclient</codeb><olcode><li valuespan style="2color:#3366CC;font-size:1.2em;"> 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 tail -f /var/log/messages<code/span>dhclient</code> package if it was not installed.</lib><br><libr>Check (This will show you the last lines of '''/var/log/messages''' continue to display new lines as they are added to see if the dhcp server package is installed. If not - install itlog.)</libr><libr>Enter the command to list all the files installed from the DHCP server package.</li><li>What file appears In your original terminal prompt attempt to be a sample configuration file?start the '''dhcpd''' service.</li><li>Copy You should see new lines being added to the sample <code>dhcpd.conf</code> messages file to the <code>/etc/dhcp</code> directory making sure it is named <code>/etc/dhcp/dhcpd.conf</code></li>
</ol>
{|width="40%" align="right"
|}# Study the man pages of <codeol>dhcpd</code>, <codeli value="9">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.conf</codeli>, <code>dhcp-options</code>, and <codeli>If the '''dhcpd.leases</code> and make notes ''' service starts successfully you should see success messages in your the log book. In particular, look up the meaning and possible value(s), if any, for the following configuration options:::* <code>broadcast-address</codeli>::* <codeli>default-lease-timeIf 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.</codeli>::* <codeli>max-lease-time</code> (How Restart your '''dhcpd''' service and observe the error messages generated. This is this different from <code>defaultgood practice to learn how to trouble-lease-timeshoot and solve dhcpd errors.</codeli>?)::* <code>domain-name</code>::* <code>domain-name-servers</code>::* <code>fixed-address</code>::* <code>group</code>::* <code>hardware</code>::* <code>host</code>::* <code>host-name</code>::* <code>range</code>::* <code>routers</code>::* <code>subnet</codeli>Make certain that you have corrected those errors, and that your dhcpd service works properly.::* <code>subnet-mask</code><ol><li value="2"> Study Once the dhcpd service has is running, use the '''systemctl''' command to see if the sample <code>dhcpdservice is enabled.conf</code> file If it is not enabled, use the '''chkconfig''' command to see examples of how these options are usedenable the dhcpd service so it started automatically upon boot-up.</li>
</ol>
|- valign== Part 4: How do I configure dhcpd to provide IP configuration to my virtual network?=={{Admon/note | Use your centos3 VM | Complete the following steps on your centos3 VM.}}"top"
</ol>
'''Answer Part 4 observations / questions in your lab log book.'''
== Part 5INVESTIGATION 2: How do I test my dhcpd service on my virtual network?=OBTAINING LEASE & LEASE PERMANENT IP ADDRESS INFORMATION=
|{{Admon/note | Purpose of dhcpd.leases File | dhcpd records address leases in this file. If the service is restarted it reads in the file to know which addresses are currently leased and for how long.}}
</ol>
'''Answer Part 1 observations / questions in your lab log book.'''
== Part 2: How can I lease the same address every time? Configuring DHCP server to Continually Lease Same IP Address=={|width="40%" align="right"
|{{Admon/note | Reserving IP Addresses with DHCP | Even though DHCP gives out IP address dynamically, it also has the ability to reserve an IP address for a certain computer. In this sense it's almost as if the client computer has a static IP even though it uses DHCP to get it. This is useful if you want to be able to put entries in your /etc/hosts file and not have to worry about the entry becoming invalid over time. In Linux we refer to this as supplying a fixed address to a host. Microsoft calls it a reservation.}}
|}# Remain in your '''centos2''' and '''cento3''' VMs for this section.# Make certain that you are located in your '''centos3 ''' virtual machine.# Create a host declaration for '''centos2'''. Make sure you record the correct <code>hardware ethernet</code> setting that corresponds to the MAC address of the interface in '''centos2'''.# Give it the fixed-address '''192.168.235.12{{Admon/tip | Avoiding IP Address Conflicts | 42'''<br><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="35">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''':</li>
</ol>
::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifdown eth1</span></code></b>::: <b><code><span style="color:#3366CC;font-size:1.2em;">ifup eth1</span></code></b><ol><li value="46">Confirm that you received the fixed address you were supposed to.</li>
</ol>
'''Answer Part 2 observations / questions in your lab log book.'''
= LAB 8 SIGN-OFF (SHOW INSTRUCTOR) =
{{Admon/important|Time for a new backup, INCLUDING YOUR VIRTUAL HARD DRIVE!|If you have successfully completed this lab, make a new backup of your virtual machines. Remember to also make a backup of the new second virtual disk drive on <br><br>''centos3'' Virtual hard-- drives created lab5 are image files and may have data changed as a result of performing this lab. Therefore, you now have two virtual disks on need to be backed up this hard disk image as well!''centos3'', and therefore two image files, and therefore will need two backup files.}} '''Arrange proof of the following on the screen:''' * <ol><li><span style="color:green;font-size:1.5em;">✓</span> '''centos2''' VM:<blockquote><ul><li>'''ifconfig eth0''' shows IP address '''192.168.235.42'''</li><li>DHCP client lease file</li></ul></blockquote><li><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* DHCP client lease file</li></ul></blockquote></li><li><span style="color:green;font-size:1.5em;">✓</span> '''Lab8''' log-book filled out.</li></ol>
= Preparing for = Practice For Quizzes , Tests, Midterm & Final Exam ==
# What protocol and port does dhcp use?