OPS335 NIS Lab

From CDOT Wiki
Revision as of 05:09, 12 July 2016 by Peter.callaghan (talk | contribs) (Removing the section that demonstrated how NIS could fix an issue encountered in NFS since that service is no longer covered.)
Jump to: navigation, search

FILE SERVER RESOURCES

Online References:


NIS (Network Information Services)

  • An NIS server is used to synchronize system files and other information between machines in an NIS domain.
  • In this lab you will set a Fedora VM as both an NFS and NIS server. You will then use your other VM's to serve as your NFS and NIS clients.
Important.png
Prerequisites
Before you begin make sure all your machines are up to date (dnf update).

Ensure both host and VM's have firewalls set up according to prior labs and all labs have been completed.

Ensure that your NFS server is running on VM2 and exporting the '/home' directory.

PART A: Setting up your NIS Server

  • Install the NIS server and client onto your VM 2.
 yum install ypserv ypbind
  • Add the following line to the bottom of the file /etc/sysconfig/network
 NISDOMAIN="<learn-id>.org"
 YPSERV_ARGS="-p 783"
  • This should be enough to set the domain name, however there is currently a bug in systemd that prevents this from working properly on its own.
    • You will also need to start and enable the fedora-domainname service.
  • Edit the file /etc/yp.conf and set up your domain:
 domain <learn-id>.org server 127.0.0.1
  • Create the file /var/yp/securenets:
 host 127.0.0.1
 255.255.255.0   192.168.x.0
  • Enable and start the NIS (ypserv) service.
systemctl start ypserv.service
systemctl enable ypserv.service
  • Backup the configuration file for NIS databases
 cp /var/yp/Makefile /var/yp/Makefile.orig
  • Verify that your servers (NFS, ypserv) are running correctly with the following command:
 rpcinfo -p
  • At this step you should edit your firewalls to allow RPC and NIS traffic through your firewall (Hint: check the output of rpcinfo -p or iptables traffic on the "lo" interface)
  • The machine will essentially be communicating with its own NIS server when using the Makefile
  • Now change to directory /var/yp and run this command to build the information databases
 make
  • Enable and start the NIS binding (ypbind) service.
systemctl start ypbind.service
  • Use the following command to verify your NIS server is working - you should see your learnid password record.
 ypcat passwd
  • Add a new user named nis-user, with password "ops335".
  • Add the same user on vm3, but give them a different password.
  • Run 'ypcat passwd' again.
  • In order for the new user to show up you will need to recreate the map files- change directory to /var/yp and run the "make" command again.
  • Log out of VM2, but leave it running

Part B: Client Configuration

  • Log into both vm2 and vm3 as nis-user. Note how they require different passwords on different machines.
  • Log out, and log back in as root (or use your normal user and su) to continue.
  • Install ypbind on your vm3.
  • You may wish to follow the logs on vm3. In addition to your normal log in, ssh from the host to vm3 and get a continuous feed from the logs with:
tail -f /var/log/messages
  • Edit /etc/yp.conf adding the following line:
domain <learnid>.org server 192.168.x.3
  • Add the following line to the bottom of the file /etc/sysconfig/network
 NISDOMAIN="<learn-id>.org"
  • Start the ypbind server with the command.
systemctl start ypbind.service
  • Looking at your logs ensure that ypbind is registered with rpcbind, if it is unable your firewall may need to be adjusted.
  • Now when you run the following command:
ypcat passwd
  • You should be able to see the users from the server.
  • If you added a mismatched user, you must update the map files on the server by running make again.
  • Edit the /etc/nsswitch.conf file (on VM3 only) and change the following lines so they appear as below:
passwd:     nis files
shadow:     nis files
group:      nis files
  • Save and exit the file.
  • Ensure ypbind will start at boot and restart the vm.
  • Log into vm3 as nis-user. You should now be able to use the password stored on vm2.

Part C: Adding the other VM's

  • When you have successfully made this change on vm3, repeat these steps so that vm1 will also use NIS for user identification from files located on vm2.
    • Warning: When configuring the location of the NIS server to bind to, use the ip address instead of the hostname. When the machine is booting, you have no guarantee that named starts before ypbind.

Completing the Lab

You have now created an NIS server for your network and caused your other virtual machines to use it as a central repository for user information.

Depending on your professor you will either be asked to submit the lab in class, or online. Follow the appropriate set of instructions below.

Online Submission

Follow the instructions for lab 7 on moodle.

In Class Submission

Arrange evidence (command output) for each of these items on your screen, then ask your instructor to review them and sign off on the lab's completion:

To be completed by an instructor who uses in class submission.

EXPLORATION QUESTIONS

  1. What is the purpose of the rpcinfo command?
  2. Explain the purpose of the make command in the lab - what does it do?
  3. Explain the purpose of the /var/yp/securenets file.
  4. What is the function of the portmapper service?
  5. What ports did you need to open on your firewall?