# Data Networking/Fall 2014/Neville RJ Fernandez & Group

Template:Infobox TELE 5330

## Linux Project to implement DNS,DHCP,Web Server, Firewall and Backup

In this webpage we describe our Linux project based on implementations of concepts such as DNS,DHCP,Web Server, Firewalls and Backup.

## The Project Team

1) Can Gao 2) Zhongyuan Zhang

## Why did we work on Linux??

Linux is an Open Source & free operating system used widely in the IT & Telecommunications Industry. Our aim is to learn basic networking concepts on the linux platform and implement it successfully. By doing so we can hope to learn and get a hands-on experience in configuring our network on a Linux based platform.

## Introduction

In this linux project,our group has tried to implement certain networking concepts such as DNS,DHCP,Web Server,Backup Web Server & a Firewall. The flavour of Linux that we have used is Ubuntu 14.04.1.

## Background

1) Domain Name System (DNS) DNS (Domain Name system) is a service that translates hostnames to IP addresses. It can make users access to internet more convenient. The DNS is a distributed database implemented in a hierarchy of DNS servers, and an application-layer protocol that allows hosts to query the distributed database. The DNS protocol runs over UDP and uses port 53.
2) Dynamic Host Configuration Protocol (DHCP) The Dynamic Host Configuration Protocol (DHCP) is a standardized network protocol used on IP networks for dynamically distributing network configuration parameters, such as IP addresses for interfaces and services. With DHCP, computers request IP addresses and networking parameters automatically from a DHCP server, reducing the need for a network administrator or a user to configure these settings manually.
The three types by which DHCP allocates IP addresses to the hosts
* Static allocation
Manual IP addresses are allocated for only those hosts who have their MAC addresses listed in the IP translation tables on the router.
* Dynamic allocation
Allocation occurs from a pool of IP addresses dynamically for a certain lease period.
* Automatic allocation
The same IP is assigned to the client when it comes on the network.
3) Web Server A web server is an information technology that processes requests via HTTP, the basic network protocol used to distribute information on the World Wide Web. The term can refer either to the entire computer system, an appliance, or specifically to the software that accepts and supervises the HTTP requests. The main function of the Web server is to provide on-line information browsing service.
4) Backup Web Server As there is a possibility that the server may crash because of some reasons. So systematically create a backup of every day’s work will avoid the risk that the no data will loss.
5) Firewall Firewall is a network security system that monitors and controls the incoming and outgoing network traffic based on predetermined security rules. A firewall typically establishes a barrier between a trusted, secure internal network and another outside network.

## Project requirements

* Linux Based OS (We have used Ubuntu 14.04.1)
* Bind9 server to configure DNS.
* Isc-dhcp-server and radvd to configure DHCP.
* Apache2 to configure our web server.
* RSync package for web backup server.
* SSH package.

## Configuration Steps
### DHCP Server

* For IPv4
1. Install DHCP Server
2. Set the static Ip address of the DHCP server
3. Configure the DHCP server
4. Modify the ip address for etc0
5. Restart the dhcp server
* For IPv6
1. Install the radvd to configure the parameters
2. Modify the file /etc/radvd.conf
3. Modify the file /etc/sysctl.conf
4. Restart the radvd
* For other server

### DNS server

* For IPv4
1. Install Bind9
2. Configure static IP address getting from DHCP server for the DNS server
5. Configure zones in the named.conf.local file
// For Forward zone
Configure the other 4 dns server, www.gaoyuan1.com, www.gaoyuan2.com, www.gaoyuan3.com, www.gaoyuan4.com
// For Reverse zone for ipv4 addresses
// For Reverse zone for ipv6 addresses
6. Configure the forward lookup table
Configure other 4 dns server in the same method
7. Configure the reverse lookup table for ipv4 and ipv6 addresses
8. Edit the file resolv.conf
9. Restart the Bind9 server

### Web server

1. Install Apache webserver
2. We install the server and client of mysql.
3. Install php5
4. Restart apache2
5. Modify the home page

### Firewall

1. Active ufw firewall
2. Start the service using the command
3. Enable the SSH service
4. Open the port
5. Enter a rule
6. See the firewall status

### Backup Server

1. Install SSH
2. Generating RSA keys
3. Copy the RSA public key to other host over SSH
4. Install rsync using following command
5. Use Rsync to copy the public key to virtual server
6. Use crontab for ssh commands to run periodically every 10 minutes

## Test Plan
### DNS Server

1. Test master DNS server
2. Test slave DNS server