Data Networking/Fall 2014/Pan dns

Linux Project to implement DNS,DHCP,Web Server & Firewall
Hey folks,In this webpage we have described our Linux project based on implementations of concepts such as DNS,DHCP,Web Server & Firewalls

The Project Team
1) Abhinay Patil 2) Priyanka Gandhi 3) Nikita Kundu 4) Neville RJ Fernandez

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

The Basic Protocols & understanding them
 1) Domain Name System (DNS)  Domain Name System(DNS) is a naming system for hosts connected to the internet or a private network.DNS maps domain names to IP addresses and vice-versa. When a website;say for e.g. "www.google.com" is entered,the browser has to find out the IP address of the web server. So a query is sent to the local DNS servers and a corresponding IP address is returned back. So now we can successfully access the website with the help of our web browser. The different types of DNS server records are A,AAAA,PTR,CNAME,MX,etc. We will use a Bind9 DNS server with caching. An advantage of caching would be that whenever we make a cached request,the amount of time required to fetch and display the page requested,if it was already requested previously or stored in the cache is reduced significantly by thousands of milliseconds.

 2) Dynamic Host Configuration Protocol (DHCP)  In modern day networking,IP addresses to the hosts can be configured dynamically instead of a manual process by using Dynamic Host Configuration Protocol (DHCP) RFC 2131. DHCP allows a host to get an IP address automatically. A host may be assigned a temporary IP address each time it connects to the network. It is often referred to as a Plug-and-Play protocol. DHCP is a client and server based protocol. The way it works is that a host which arrives at the network will find a DHCP server. This interaction is called DHCP server discovery. Then the DHCP server offers an IP address to the host for a leased time. This is called DHCP server offer. Then the newly arriving client will choose the server offer if it wishes to by sending a DHCP request message. Finally the DHCP server responds to this request by replying with a DHCP ACK message. Port numbers used for DHCP server and client are 67 & 68 respectively.

The three types by which DHCP allocates IP addresses to the hosts Manual IP addresses are allocated for only those hosts who have their MAC addresses listed in the IP translation tables on the router.
 * Static allocation

Allocation occurs from a pool of IP addresses dynamically for a certain lease period.
 * Dynamic allocation

The same IP is assigned to the client when it comes on the network.
 * Automatic allocation

 3) Web Server  A web server is a computer system that is used for processing requests via HTTP. A web server is used to host a website. It also can be used to handle gaming,email,FTP and other such applications. It involves the HTTP and HTTPS protocols to listen on ports. Port numbers used are 80 for HTTP and 443 for HTTPS. To avoid overloading we can use a firewall or web caching techniques.

 4) Backup Web Server  A very wise decision would be to backup the existing web server in case any failure occurs. So we have synced our data with another server which keeps a track of contents in the directory.So it does dynamic updating by copying only those files which have been modified. For this purpose we will use Remote Sync (RSync) which is available in Ubuntu.

 5) Firewall  A firewall is a system used for preventing unauthorised access to or from a network. It could either be a hardware or a software. It will filter all incoming/outgoing packets based on how the firewall has been designed. Common techniques used are packet filtering,application gateways,circuit-level gateways and proxy servers. Most firewalls use more than one of these techniques in combination. A firewall is usually considered a first line of defense. Encryption on data can be used to achieve further security.

Project requirements

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