Difference between revisions of "OPS335 Assignment 1 - 2016-1"

From CDOT Wiki
Jump to: navigation, search
(Clone "ns2" VM from "Cloning Source" & Perform Setup Tasks)
 
(24 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
* If your professor is '''Andrew Smith''': 22 February, 2016
 
* If your professor is '''Andrew Smith''': 22 February, 2016
* If your professor is '''Murray Saul''': 26 February, 2016 (in class)
+
* If your professor is '''Murray Saul''': 8 March, 2016 (in class)
  
 
= Your tasks =
 
= Your tasks =
Line 14: Line 14:
 
Create a new virtual network on your Host Machine.
 
Create a new virtual network on your Host Machine.
  
* Assign the newly-created virtual network the name: '''asg1net''', and set '''forwarding to any physical device'''.
+
* Assign a newly-created virtual network the name: '''asg1net''', and set '''forwarding to any physical device'''<br>(refer to [http://zenit.senecac.on.ca/wiki/index.php/OPS335_Installation_Lab#INVESTIGATION_2:_VIRTUAL_MACHINE_INSTALLATION lab setup]. You can have have 2 different network names: "asg1net"  and "ops335" without causing any problems).
 
* Addresses in this network will start with '''10.161''' followed by the '''last two digits of your student number''' (just as your main virtual network). The subnet mask must be '''255.255.255.0'''
 
* Addresses in this network will start with '''10.161''' followed by the '''last two digits of your student number''' (just as your main virtual network). The subnet mask must be '''255.255.255.0'''
 
* There must '''<u>NOT</u>''' be a DHCP server running for this network!
 
* There must '''<u>NOT</u>''' be a DHCP server running for this network!
 
* All the machines for this assignment will be connected to your newly-created virtual network called: '''asg1net'''
 
* All the machines for this assignment will be connected to your newly-created virtual network called: '''asg1net'''
  
== source ==
+
== Create a "Cloning Source" VM (asg1net Virtual Network) ==
  
 
Create a virtual machine that you will use as a template (i.e. a '''cloning source'''). It should have a command-line interface only. Configure it to be a good cloning source, making certain it has all the following elements prior to cloning:
 
Create a virtual machine that you will use as a template (i.e. a '''cloning source'''). It should have a command-line interface only. Configure it to be a good cloning source, making certain it has all the following elements prior to cloning:
  
# Don't make the virtual drive too big - you'll need space for it and clones you make from it. 2GB should be enough for anything you do in this assignment.
+
# Don't make the virtual drive too big: you will need space for it as well as space for the clones you from your cloning source<br>(2GB should be enough for any cloning source and clone VM that you create for this assignment).
# Log in and run some commands you expect to be there, and make sure they're installed (minimum commands needed: host, dig, netstat, links).
+
# Make certain that you can login to your cloning source. The minimum commands required are: '''host''', '''dig''', '''netstat''', '''links'''.
# Don't install software here that you'll only need in one of the cloned VMs. E.g. if you're going to install apache in a clone - install it there, not in the source - since you don't want apache installed everywhere.
+
# Do not install software on your cloning source: you are expected to install other software on your "cloned" VMs instead. For example, if you are required to install bind in a clone, install it in the clone as opposed to the "cloning source".
# Configure your network with a static configuration. See the table below for IP address and hostname.
+
# Configure your network with a static configuration. Refer to the table below for IP address and hostname.
# Make sure you have iptables services enabled running instead of Firewalld. The default rules should suffice.
+
# Make certain that you have '''iptables''' services enabled and running instead of ''Firewalld''. The default rules should suffice.
# If you created a user when you installed the machine - delete that user. You'll only have root left.
+
# If you have created a regular user when you installed the machine, delete that regular user (you are to use only the root account).
# Set up an SSH server on this machine. Make sure root is only allowed to log in using key authentication. Other users should still be able to log in with a username/password.
+
# Set up an SSH server on this "cloning source". Make sure that the root account is only permitted to log in using key authentication. If user users are required to be created later, they should be permitted to log in with a their username and password.
# Generate a new key pair on your host (don't delete the existing one), called id_rsa_asg1
+
# Generate a new key pair on your Host Machine (don't delete the existing one), called: '''id_rsa_asg1'''
# Make sure you can log in from your regular user on the host to root on the virtual machine using specifically that key.
+
# Make sure you can log in from your regular user on your Host Machine to root on the "cloning source" virtual machine using specifically that key.
# Do not place the private key on the VM.
+
# Do not place that newly-generated private key on the "cloning source" VM.
  
== ns1 ==
+
== Clone "ns1" VM from "Cloning Source" &amp; Perform Setup Tasks==
  
Clone the souce to create a machine that will be your master DNS server on this network. See the table below for address and hostname.
+
Perform the following steps for this section:
  
Your DNS server must have all the records for the zone ops335a1.org listed in that table, including records for machines that don't exist yet. It's important to understand that DNS records live independently from the machines they are pointing to.
+
#Create a clone called: '''ns1''' from the "cloning source" that will act as your '''master DNS server''' on the '''asg1net''' network. Refer to the table below for address and hostname.
 +
#Make certain that your DNS server must has all the records for the zone called: '''ops335a1.org''' listed in that table, including records for machines that do not exist as of yet. It is important to understand that DNS records live independently from the machines that they are "pointing" to.
 +
#A default setup for a master DNS server should be sufficient, but make certain that the address of your '''admin contact''' is: '''yoursenecaid@ops335a1.org''', and that slave DNS servers will check for updated records from this master every 30 minutes.
  
A default setup for a master DNS server is mostly enough, but make sure the address of your admin contact is yoursenecaid@ops335a1.org, and that slave DNS servers will check for updated records from this master every 30 minutes.
+
== Clone "ns2" VM from "Cloning Source" &amp; Perform Setup Tasks ==
  
== ns2 ==
+
Perform the following steps for this section:
  
Clone the souce to create a machine that will be your slave DNS server on this network. See the table below for address and hostname.
+
#Create a clone called '''ns2''' from the cloning source that will act as your '''slave DNS server''' on the '''asg1net''' network. Refer to the table below for address and hostname.
 +
#The '''ns2''' machine will serve the same records as '''ns1'''.
  
ns2 will serve the same records as ns1.
+
== Reference Materials: List of Machines / DNS Records ==
 
 
== List of Machines / DNS Records ==
 
  
 
All the machines in the table need DNS records, but only the ones in bold need to be existing machines for this assignment.
 
All the machines in the table need DNS records, but only the ones in bold need to be existing machines for this assignment.
Line 65: Line 66:
 
| www.ops335a1.org || 10.161.X.5 || Web server
 
| www.ops335a1.org || 10.161.X.5 || Web server
 
|-
 
|-
| source.ops335a1.org|| 10.161.X.254 || Disk image to clone from when creating new machines.
+
| '''source.ops335a1.org''' || 10.161.X.254 || Disk image to clone from when creating new machines.
 
|}
 
|}
  
== Test Plan ==
+
== Create a Test Plan ==
  
Write a test plan with at least 5 test cases to verify that you've completed the assignment according to specifications.It doesn't need to be exhaustive but the test cases you pick should represent successful completion of the majority of the requirements.
+
Perform the following steps:
  
The document you submit in PDF format needs to look professional even though we're not using a dedicated testing platform. Hopefully you can start with the test plan you created for the lab.
+
#Create a test plan (Libre Office, MS Word, etc) with '''at least 5 test cases''' to verify that you've completed the assignment according to specifications. A good starting point would be to view the test plan that you used in the second DNS lab.<br>'''NOTE:''' These test plans that you create are not required to be exhaustive, but they should successfully demonstrate the completion of this assignment's requirements.<br><br>
 +
#The document that you are required to submit should be exported into the PDF format. You are required to submit only the PDF document (along with required screenshots - refer to "Assignment Submission" section).
 +
#This document is required to appear professional (although you are not using a "dedicated" testing platform like in industry).
  
= Submit =
+
= Assignment Submission =
  
Submit the following in Blackboard or Moodle (whatever your professor uses):
+
Submit the following in Blackboard, Moodle, or whatever your professor specifies in class or "class announements" (For Murray Saul, also send these in an e-mail (subject line: OPS335 assignment1) with the following attachments):
  
# Screenshots (of the entire screen, not just the VM console) that show you have accomplished the required tasks. This includes configuration files, service statuses, and basic tests of functionality.
+
# '''Screenshots''' to demonstrate you have accomplished the required tasks for this assignment.<br>This includes: '''configuration files''', '''service statuses''', and '''basic tests of functionality'''.''' NOTE: You MUST take screenshoots of the ENTIRE screen as opposed to only the VM console'''.
# The test plan.
+
# Your '''test plan''' in '''PDF''' format.
  
Also you need to show your assignment to the professor in a lab period, just as a lab but please prepare everything so you can immediately show that all required parts are working.
+
*Demonstrate working assignment to your instructor in class:
 +
**Also you need to show your assignment to the professor in a lab period (like you would for any lab for "sign-off"). This requires you to prepare everything ahead of time so that you can quickly demonstrate to your instructor that all required parts of your assignment are working.

Latest revision as of 23:13, 9 March 2016

OPS335 Assignment 1

Weight: 10% of the overall grade

Due Date:

  • If your professor is Andrew Smith: 22 February, 2016
  • If your professor is Murray Saul: 8 March, 2016 (in class)

Your tasks

Virtual Network

Create a new virtual network on your Host Machine.

  • Assign a newly-created virtual network the name: asg1net, and set forwarding to any physical device
    (refer to lab setup. You can have have 2 different network names: "asg1net" and "ops335" without causing any problems).
  • Addresses in this network will start with 10.161 followed by the last two digits of your student number (just as your main virtual network). The subnet mask must be 255.255.255.0
  • There must NOT be a DHCP server running for this network!
  • All the machines for this assignment will be connected to your newly-created virtual network called: asg1net

Create a "Cloning Source" VM (asg1net Virtual Network)

Create a virtual machine that you will use as a template (i.e. a cloning source). It should have a command-line interface only. Configure it to be a good cloning source, making certain it has all the following elements prior to cloning:

  1. Don't make the virtual drive too big: you will need space for it as well as space for the clones you from your cloning source
    (2GB should be enough for any cloning source and clone VM that you create for this assignment).
  2. Make certain that you can login to your cloning source. The minimum commands required are: host, dig, netstat, links.
  3. Do not install software on your cloning source: you are expected to install other software on your "cloned" VMs instead. For example, if you are required to install bind in a clone, install it in the clone as opposed to the "cloning source".
  4. Configure your network with a static configuration. Refer to the table below for IP address and hostname.
  5. Make certain that you have iptables services enabled and running instead of Firewalld. The default rules should suffice.
  6. If you have created a regular user when you installed the machine, delete that regular user (you are to use only the root account).
  7. Set up an SSH server on this "cloning source". Make sure that the root account is only permitted to log in using key authentication. If user users are required to be created later, they should be permitted to log in with a their username and password.
  8. Generate a new key pair on your Host Machine (don't delete the existing one), called: id_rsa_asg1
  9. Make sure you can log in from your regular user on your Host Machine to root on the "cloning source" virtual machine using specifically that key.
  10. Do not place that newly-generated private key on the "cloning source" VM.

Clone "ns1" VM from "Cloning Source" & Perform Setup Tasks

Perform the following steps for this section:

  1. Create a clone called: ns1 from the "cloning source" that will act as your master DNS server on the asg1net network. Refer to the table below for address and hostname.
  2. Make certain that your DNS server must has all the records for the zone called: ops335a1.org listed in that table, including records for machines that do not exist as of yet. It is important to understand that DNS records live independently from the machines that they are "pointing" to.
  3. A default setup for a master DNS server should be sufficient, but make certain that the address of your admin contact is: yoursenecaid@ops335a1.org, and that slave DNS servers will check for updated records from this master every 30 minutes.

Clone "ns2" VM from "Cloning Source" & Perform Setup Tasks

Perform the following steps for this section:

  1. Create a clone called ns2 from the cloning source that will act as your slave DNS server on the asg1net network. Refer to the table below for address and hostname.
  2. The ns2 machine will serve the same records as ns1.

Reference Materials: List of Machines / DNS Records

All the machines in the table need DNS records, but only the ones in bold need to be existing machines for this assignment.

Name Address Purpose
host.ops335a1.org 10.161.X.1 Your host machine
ns1.ops335a1.org 10.161.X.2 Master name server
ns2.ops335a1.org 10.161.X.3 Slave name server
file.ops335a1.org 10.161.X.4 File server
www.ops335a1.org 10.161.X.5 Web server
source.ops335a1.org 10.161.X.254 Disk image to clone from when creating new machines.

Create a Test Plan

Perform the following steps:

  1. Create a test plan (Libre Office, MS Word, etc) with at least 5 test cases to verify that you've completed the assignment according to specifications. A good starting point would be to view the test plan that you used in the second DNS lab.
    NOTE: These test plans that you create are not required to be exhaustive, but they should successfully demonstrate the completion of this assignment's requirements.

  2. The document that you are required to submit should be exported into the PDF format. You are required to submit only the PDF document (along with required screenshots - refer to "Assignment Submission" section).
  3. This document is required to appear professional (although you are not using a "dedicated" testing platform like in industry).

Assignment Submission

Submit the following in Blackboard, Moodle, or whatever your professor specifies in class or "class announements" (For Murray Saul, also send these in an e-mail (subject line: OPS335 assignment1) with the following attachments):

  1. Screenshots to demonstrate you have accomplished the required tasks for this assignment.
    This includes: configuration files, service statuses, and basic tests of functionality. NOTE: You MUST take screenshoots of the ENTIRE screen as opposed to only the VM console.
  2. Your test plan in PDF format.
  • Demonstrate working assignment to your instructor in class:
    • Also you need to show your assignment to the professor in a lab period (like you would for any lab for "sign-off"). This requires you to prepare everything ahead of time so that you can quickly demonstrate to your instructor that all required parts of your assignment are working.