Data Networking/Fall 2015/ZZTL

Group Members
Xiao TAN Bohan ZHONG Junjie LI Xiyu ZHAO

Motivations
The project aims to establish a network and provide relative functions for a company. The key concepts used in the project are highly related to our Data Networking class. While configuring those protocols, we met several problems and had deeper understanding of DHCP, DNS, VPS and Web server. We are more familiar with Ubuntu System, which is fast, secure and stylishly simple. Ubuntu System has a lot difference between Windows System. The ultimately solution basically solve the problems we might meet in engineering practice.

DHCP
Dynamic Host Configuration Protocol – a network service that enables host computers to be automatically assigned settings from a server as opposed to manually configuring each network host. DHCP Servers are very often used in enterprise networks to reduce configuration. All IP addresses of all computers are stored in a database that resides on a DHCP server machine.

DNS
Domain Name Service – is a service that maps IP addresses and fully qualified domain names to one another. DNS alleviates the need to remember IP addresses and make people easy to remember website names. Ubuntu ships with BIND9 (Berkley Internet Naming Daemon), which is the most widely deployed DNS server.

WEB SERVER
Web Server is a web pages requested by clients. Clients typically request and view Web Pages using Web Browser applications, like Firefox.

FIREWALL
Firewall is setup on web server for secure matters. If the fire wall is enabled, no one would have the accessibility to servers except some clients and some kinds of services specified by firewall rules. Firewall can divide, filter and forward the data coming in or going out the network.

BACKUP
Backup is a very useful way to protect and recover lost data. It will copy all data of daily works in current server and send it to another server in remote. As server is a busy machine as clients increases ad it is possible for the server to crashed by heavy work. Back up is necessary to protect both server and data it generated.

VPN
VPN- virtual private network (VPN) extend a private network that can run over the public network.

NIS
NIS-network information service(NIS) produces a network lookup service including the service of databases and process.

NFS
Network File System allows hosts to access a directory located on one networked computer in the same network. The computer be accessed by other computer is called the server and the computers or devices connecting to that server are called clients. When a client get enough, it becomes part of their own directory structure.

NTP
NTP-network time protocol(NTP) is a kind of protocol which is used to synchronize the clocks of computers to some time reference.

MAIL SERVER
A mail server is a server that handles and delivers e-mail over a network, usually over the Internet. A mail server can receive e-mails from client computers and deliver them to other mail servers. A mail server can also deliver e-mails to client computers.

DNS

 * 1) Assign a set of IP addresses that have to be used for this project.
 * 2) Create any 5 DNS records.
 * 3) Use IPv4 and IPv6 addresses in your implementation of records.
 * 4) Create reverse domains in in-addr.arpa and ipv6.arpa for the addresses.
 * 5) Configure a Master DNS server as well as a Slave DNS server, the Slave DNS should automatically update with Master DNS server.
 * 6) Test plan and implementation with examples.

DHCP

 * 1) Assigned a set of IP addresses that have to be used for this project.
 * 2) Use IPv4 and IPv6 addresses in your implementation of DHCP.
 * 3) Dynamic allocation of network addresses.
 * 4) The Client-Server Protocol.

Web Server & Firewall

 * 1) Use only command line tools and packages.
 * 2) Provide all the commands that you have used and also give a brief description in one line.
 * 3) Provide the changes you have made to the files/folders for configuring the webserver as well as the firewall.
 * 4) Create a basic page to be server by this web server.
 * 5) Make this page accessible to the clients in your network using a web browser.
 * 6) Make your server the most secured one in all possible ways.

Back Up

 * 1) Automate the process of backing up the data.
 * 2) The backup file should be zipped and sent to a different server.
 * 3) Describe briefly about how you backup automatically and also how file transfer is made.
 * 4) Mention which protocol you are using to complete this task.
 * 5) Provide the commands and configurations for sending the zipped file to a different location.

DHCP Server
IPv4 sudo apt-get install isc-dhcp-server /etc/dhcp3/dhcpd.conf sudo /etc/init.d/isc-dhcp-server restart Allocation ip address with specific MAC address IPv6 sudo apt-get install radvd
 * Install:
 * To Assign IP addresses dynamically, change the file:
 * Then save and exit the file, restart the dhcp-server.
 * Setting several fixed ip address.
 * Install:

DNS Server
IPv4 sudo apt-get install bind9 Map IP addresses to domain names.
 * Install DNS on local machine using Ubuntu & BIND9 package.
 * Edited Forward Zone File: To map domain names to IP address.
 * Used an existing zone file as a template to create the /etc/bind/db.www.wxl.com file.
 * Create 5 records for the base domain, wxl.com. Then restart BIND9.
 * Reverse Zone File:
 * Create the /etc/bind/db.192 file
 * After creating the reverse zone file then restart BIND9

IPv6 apt-get install radvd /etc/radvd.conf
 * Install radvd.
 * Edit the file:

Web Server
sudo apt-get install apache2 Choosing an ip address from ip pool Then restart
 * Install:
 * Setting sever name:
 * Then modify webpage.

Firewall
sudo apt-get install ufw sudo ufw default deny sudo ufw enable sudo ufw status sudu ufw disable
 * Install:
 * Configuration:
 * Checking firewall status.
 * Shut down the firewall.

Back up
MYSQL sudo apt-get install mysql-server Edited the /etc/mysql/my.cnf file change bind-addresss mysqldump –uroot –p1234 –h localhost –all databases > home/lijunjie/all.sql
 * Install:
 * Configuration:
 * Copy the files in Web Server.

Rsync with ssh sudo apt-get install openssh-server sudo ssh-keygen ssh-copy-id root@192.168.10.10
 * Install:
 * Exchange keys to authorize the client to visit the server:

Cron sudo apt-get install gnome-schedule Edit the file crontab crontab –e 12 00 * * * 	bash – x/home/lijunjie/backup.sh
 * Install:
 * Configuration:

Add-ons
VPN sudo apt-get install pptpd Edit the file /etc/pptpd.conf localip 192.168.10.10 remoteip 192.168.10.50-70 file /etc/sysctl.conf
 * Install:
 * Configuration:
 * Configuration:

NFS sudo apt-get install nfs-kernel-server Configuration: Edit file /etc/exports Install: sudo apt-get install nfs-common sudo mount web.pofei.com:/ubuntu /local/ubuntu
 * Install:
 * 1) NFS Server
 * 1) NFS client

Testing
To see if they can ping successfully. Use Command nslookup Type in domain name to see if it could get the IP address it mapped Type in IPv4 address to see if it could get the domain name it mapped Type in IPv6 address to see if it could get the domain name it mapped Using ‘ifconfig’ to see if the client (or server) gets the IP addresses (including IPv4 and IPv6). Open the web browser, type in localhost to see if it can access the website. Type the command MySQL –uroot –ppassword to login the MySQL Database. Type the command show databases; to see if it can get the table of database.
 * Test the network
 * Test DNS Server
 * Test DHCP Server
 * Test Web Server
 * Test MySQL

Future Prospects

 * Implementing more security functions to protect the network.
 * Setting mail server in the network for better connection.
 * Better to start earlier and realize more add-ons in the future.