Data Networking/Fall 2013/Group17

The Folks
Lin Zhu

Xiao Yu

David Martin

Motivation
We all want to learn something about network, such as DNS, DHCP, HTTP and so on.

Understanding the Protocol
DNS

A DNS server can give client IP address when client has the domain name, and give domain name when it has IP address.

DHCP

A DHCP server can assign IP address (both ipv4 and ipv6) to clients.

Web

A web server can let client access the web page in the web server.

Back-up

Back-up service can back-up all the configure files to one server.

VPN

VPN server can allow client log into a Virtual Private Network.

NFS

NFS can create a shared directory between server and client

NIS

NIS server can manage all the users. Client can log in the users which exist in NIS server.

The Requirements
1.DNS

2.DHCP

3.Web server & Firewall

4.Back-up

5.VPN

6.NIS

7.NFS

8.DNS slaves

Progress
Friday, November 22 By Lin Zhu

DNS server can basically work now. It has been tested.

Web server can basically work too, and it has been tested, but not firewall yet.

Working on DHCP right now,it is almost done, but not be tested yet.

All the details will be update by Monday, November 25. By Lin Zhu.

Sunday, November 24 By Lin Zhu.

DHCP server can work on both ipv4 and ipv6 now, and it has been tested on Dual Boot. Firewall works, and it has been tested.

Back-up server works, and it has been tested.

All basic requirement has been realized.

Monday, November 25 By Lin Zhu

VPN has been done, and tested successfully.

NIS has been done, and tested successfully.

NFS has been done, and tested successfully.

I'm trying to think about other add-ons.

Thursday, November 28 By Lin Zhu

DNS master and slave has been done, and tested successfully.

All the basic requirement and add-ons has been tested again, and they all work normally.

I'm trying to finish the report and prepare for the demo.

Steps to perform the setup / installation
All the details are in our report(Command part)

4.1	DNS commands

4.1.1 Install bind9

Sudo apt-get install bind9

4.1.2 Add zones

Nano /etc/bind/named.conf.local

4.1.3 Set up zone and reverse zones Open the file of db.group17.com: nano /etc/bind/db.group17.com

4.1.4 Restart bind server

sudo /etc/inti.d/bind9 restart

4.2	DHCP commands

4.2.1 Install DHCP server

sudo apt-get install dhcp3-server

4.2.2 nano /etc/default/isc-dhcp-server

4.2.3 nano /etc/dhcp/dhcpd.conf

4.2.4 sudo /etc/init.d/isc-dhcp-server start

4.2.5 sudo apt-get install radvd

4.2.6 nano /etc/radvd.conf

4.2.7 nano /etc/sysctl.conf

4.2.8 sudo /etc/init.d/radvd start

4.3	Web Server & Firewall

4.3.1 apt-get install mysql-server mysql-client

New password for the MySQL "root" user: <-- yourrootsqlpassword

Repeat password for the MySQL "root" user: <-- yourrootsqlpassword

4.3.2 apt-get install apache2

4.3.3 apt-get install php5 libapache2-mod-php5

4.3.4 /etc/init.d/apache2 restart

4.3.5 apt-cache search php5

4.3.6 apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

4.3.7 /etc/init.d/apache2 restart

4.3.8 Firewall

sudo apt-get install ufw

ufw enable

ufw allow 80

4.4	Back up

4.4.1 nano /home/xiao/back-up.sh

Add below:

rm /var/www.zip

zip -r /var/www.zip /var/www

rsync -zvr /var/www.zip root@192.168.4.114:/home/www_$(date +%Y%m%d-	%H%M%).zip

4.4.2 crontab -e

*/1 * * * * sh /home/xiao/back-up.sh

4.4.3. chmod +x back-up.sh

4.4.4 Set up ssh server on both sides

sudo apt-get install openssh-server

sudo /etc/init.d/ssh resart

4.4.5 Change public key

At server:

ssh-keygen -t rsa

scp id_rsa_pub root@192.168.4.114:/root/.ssh/authorized_keys

At client:

ssh-keygen -t rsa

scp id_rsa_pub root@192.168.4.1:/root/.ssh/authorized_keys

4.5 Add-ons 1: DNS slaves

In the slaves server:

nano /etc/bind/named.conf.options

4.6 Add-ons 2: VPN sudo apt-get install pptpd

sudo nano /etc/pptpd.conf

Add below:

localip 192.168.4.1

remoteip 12.10.102.2-10

sudo nano /etc/ppp/chap-secrets

Add below:

zhu.lin pptpd zhu.lin *

sudo /etc/init.d/pptpd restart

4.7 Add-ons 3: NFS In server:

sudo apt-get install nfs-kernel-server

mkdir /home/xiao/nfstest

nano /etc/exports

Add below:

/home/xiao/nfstest *(rw,sync,all_squash,anonuid=1000,anongid=1000) sudo /etc/init.d/nfs-kernel-server restart In client:

sudo apt-get install nfs-common

sudo mount 192.168.4.1:/home/xiao/nfstest /home/lin/shared

4.8 Add-ons 4: NIS In server:

sudo apt-get install nis portmap

NIS domain:

zhu.lin

nano /etc/default/nis

Change below:

NISSERVER=master

nano /etc/yp.conf

Add below:

domain zhu.lin server xiao-ThinkPad-T420

sudo /usr/lib/yp/ypinit –m In client:

sudo apt-get install nis portmap

nano /etc/yp.conf

Add below:

ypserver 192.168.4.1

nano /etc/passwd

Add below:

+::::::

nano /etc/group

Add below:

+:::

nano /etc/shadow

Add below:

+::::::::

Testing
Test plan

Connect together and test one by one.

All the details are in our report(Testing part)

There are lots of screenshot that I cannot upload here, they all in our report, please check it!

Future Prospects
Expansion

DNS is the way forward. Without it companies, online shops, banks, governments and home users will continue be susceptible by threats the original DNS.

FIS is a new technology in 2010. In that year, the professor said that FIS will instead the old things.

Growth

We learned DHCP, VPN, DNS, backup, firewall, NFS and NIS how to work in this project.

All of these above are useful in our life. Even some of these have not been learn in the class, our group had a good job in last 2 weeks.

We learned DHCP and DNS in Fridays class which called TSMG 5330. We learned NIS and NFS by ourselves.

We learned the important of the firewall. Actually, security is the most important things in our life.

Improvements

Backup is the best way for people who work for computer programmer. In my opinion, backup is the way to survive the things what you want to save and which do not exist. In our project we luckily to use it once. A good behavior for us is use back up in our project.