# Data Networking/Spring 2015/PABR
## Project Team Members

* Preetam Patil
* Apurva Sharma
* Bhaskar Balasubramanyam
* Renjith Prasad

## Overview of the project

Project is to build a DNS Server, DHCP server and a WEB server hosting a web page using Linux. DHCP server will provide IP address to all the devices connected in its network. DNS server will resolve the IP address of the given domain name so that the client computer could start its communication. Web Server will host a HTML page. We have also implement security by adding firewalls at webserver in order to make the system secure and reliable

## Requirement of the Project

We need to have a Linux based OS. We need to install bind9 for DNS server ,apache2 for webserver and ISC-DHCP-SERVER for DHCP server.

## Step-by-Step Procedure to implement the project
##### Domain Name Server (DNS):

* Implementation of DNS server.
Commands used for Implementation of DNS server
Step 1: For this project the BIND9 DNS server is used. Below command is used to Setting up a Bind DNS server on Ubuntu
Step 2: Make changes in named.conf.options and named.conf.local files for the configuration of DNS server:
Configuration in named.conf.options file:
Step 3: Create the forward lookup zone and for the reverse lookup zone in named.conf.local file
Configuration in named.conf.local file:
Step 4: Create a Forward lookup zone file: db.DNlinux.com. The forward lookup zone is created in directory /etc/bind/
Configuration in forward lookup zone file db.DNlinux.com:
Step 5: Create a reverse lookup zone file: db.192. The reverse lookup zone is created in directory /etc/bind/
Configuration in reverse lookup zone file db.192:

##### Dynamic Host Configuration Protocol (DHCP):

Commands used for implementation of DHCP:
Step 1: Install the isc-dhcp-server package
Step 2: Edit the Configuration file to configure the DHCP server with information for the Scope, Superscope, Address Pool, Exclusion Range, Reservation and lease.
Step 3: Configure the interfaces file to include the interface (eth0) along with the ip address, gateway, dns-nameservers.
Step 4: Add the interface (eth0) to the isc-dhcp-server file
Step 5: Start the dhcp service
Step 6: – You can check the leased addresses in the /var/lib/dhcp/dhcp-leases file

##### Web Server

Step 1: Commands used for implementation of Web server:
Step 2: Editing the Webpage

##### Firewall

Firewall is configured using iptables , which is easy to use, and it used iptables for storing its rules. The commands used for configuring and setting rules are: Initially, the firewall is configured so as to accept all connections. For that

## Future Implementation

1) Increasing the security of the DNS server by providing Digital certificate and access authentications.
2) Increasing the cache rate of the DNS server by implementing the concept of piggybacking.
3) Increase the security at web servers by implementing SSL service.
4) Implementation of the backup server for DHCP. Whenever the primary DHCP server fails we can use the secondary backup server.
5) Implementation of proxy server in order reduce the network traffic and RTT time to load the page.
6) Implementation of IPV6 protocol. IPV6 allows to send larger datagram as compared to IPV4.