My objective in this section is to create three VMs on any of the four vmservers. I will create one server and two clients that can access that server. The server will contain:
The client VMs will contain:
I created my server and clients using
root@vmserver01:~# xen-create-image --hostname='desired-hostname-here' --dhcp --verbose
The VMs are the following:
The dhcp settings are as follows for the VMs (this includes my other VMs as well):
## ## Jawsh's VMs ## host pancake.projects.lan { hardware ethernet 00:16:3E:E3:96:8F; fixed-address pancake.projects.lan; } host arbiter.projects.lan { hardware ethernet 00:16:3E:23:8E:65; fixed-address arbiter.projects.lan; } host masterchief.projects.lan { hardware ethernet 00:16:3E:A3:B6:5A; fixed-address masterchief.projects.lan; } host cortana.projects.lan { hardware ethernet 00:16:3E:C9:42:89; fixed-address cortana.projects.lan; }
The DNS records are as follows (including my other VMs):
; jcavalu3 (50-59) 50 IN PTR pancake.projects.lan. 51 IN PTR vm-051.projects.lan. 52 IN PTR vm-052.projects.lan. 53 IN PTR vm-053.projects.lan. 54 IN PTR vm-054.projects.lan. 55 IN PTR vm-055.projects.lan. 56 IN PTR vm-056.projects.lan. 57 IN PTR arbiter.projects.lan. 58 IN PTR masterchief.projects.lan. 59 IN PTR cortana.projects.lan.
; jcavalu3 (50-59) ;Group Pancake pancake IN A 10.80.3.50 vm-051 IN A 10.80.3.51 vm-052 IN A 10.80.3.52 vm-053 IN A 10.80.3.53 vm-054 IN A 10.80.3.54 vm-055 IN A 10.80.3.55 vm-056 IN A 10.80.3.56 client-057 IN A 10.80.3.57 client-058 IN A 10.80.3.58 srv-059 IN A 10.80.3.59 arbiter IN CNAME client-057 masterchief IN CNAME client-058 cortana IN CNAME srv-059
Required packages for cortana (NFS server):
Required packages for masterchief and arbiter (clients):
After installing the nfs-kernel-server and nfs-common packages, /etc/exports is your best friend.
The /dev/exports file:
# /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: /srv masterchief(rw,sync,no_subtree_check,no_root_squash) arbiter(rw,sync,no_subtree_check,no_root_squash) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check,no_root_squash) #
The uncommented line contains the client mount settings.
fstab has been configured to mount cortana:/home to the client's /home directory on startup.
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=620 0 0 /dev/xvda1 none swap sw 0 0 /dev/xvda2 / ext3 noatime,nodiratime,errors=remount-ro 0 1 cortana:/home /home nfs rw,sync,hard,intr 0 0
I followed a tutorial online to set up the NIS server and clients.
Server configuration can be seen here. Client configuration can be seen here.
The NIS domain is on the cortana server (srv-059).
The first order of business is installing the nis package onto the server:
apt-get install nis
At the end of the installation, it will ask you to to choose the NIS “domainname” for the server, which I called cortana to keep the naming scheme for the project uniform. Next comes the file configuration:
To go along with the tutorial and keep things simple and readable, I will only list the important changes in each file (all changes indicated with change):
root@cortana:~# vi /etc/default/nis # line 6: set NISSERVER to master NISSERVER=**master** root@cortana:~# vi /etc/ypserv.securenets # This line gives access to everybody 0.0.0.0 0.0.0.0 root@cortana:~# vi /var/yp/Makefile # add shadow in front of passwd on line 119 ALL = passwd **shadow** group hosts rpc services netid protocols netgrp root@cortana:~# vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 cortana cortana # add the IP address for the NIS database **10.80.3.59 cortana** #update NIS database (press control-d when prompted) root@cortana:~# /usr/lib/yp/ypinit -m # start the NIS server root@cortana:~# /etc/init.d/nis start # When adding new users, you MUST UPDATE THE NIS DATABASE with the following method root@cortana:~# cd /var/yp root@cortana:~# make
Client configuration begins with the installation of the NIS package and asks for the NIS domain name, which will be cortana.
Next, the real configuration:
root@client:~# vi /etc/yp.conf # At the end of the file, add the domain name followed by the server in the following format: cortana cortana.projects.lan root@client:~# vi /etc/nsswitch.conf passwd: compat **nis** # added on line 7 group: compat **nis** # added shadow: compat **nis** # added hosts: files dns **nis** # added # Lastly, reboot the client.
With NFS and NIS configured correctly, you should now be able to log onto cortana from arbiter and masterchief as the users on cortana.