Data Networking/Fall 2017/PaDhAAi

From Wikiversity
Jump to navigation Jump to search

Project Objective

[edit | edit source]

The objective of this project is to design a dynamic, secure internetwork for a startup company using Linux environment using Ubuntu 16.04. We have designed and implemented Domain Name Server (DNS) using BIND, Dynamic Host Configuration Protocol (DHCP) using isc-dhcp-server, WebServer and Firewall. We have also implemented Backup System which will make the system robust.

Project Team members

[edit | edit source]

Palak Sharma

Dhanisha Phadate

Ashwath Shunti

Andrews Tito

Domain Name System (DNS)

[edit | edit source]

Behaviour of Protocol

[edit | edit source]

DNS is a distributed database which will provide the response that translates hostname to IP address like a directory service. One of the key elements of DNS is DNS servers which maps the domain name to the corresponding IP address. All DNS messages and responses are sent within UDP on port 53. There are 5 types of DNS records – A, NS, CNAME, MX, AND PTR.


[edit | edit source]

A host is identified by two ways, hostname and IP address and DNS is employed to translate a hostname to IP address. Other application layer protocols also employ DNS which also provide other functions like host aliasing, mail server, aliasing and load redistribution. An application will invoke client-side DNS which sends a query to the local DNS server to obtain IP address. The local DNS server then forwards the query message root DNS. The Root DNS replies to local DNS with IP address of TLD servers. The local DNS will then send message query to TLD servers. The TLD servers respond to local DNS with IP address of authoritative DNS which contain the mapping of hostname to IP address. Finally, local DNS server sends a query to authoritative DNS server which response with IP address of the desired mapping of a hostname.

DNS Configuration

[edit | edit source]


[edit | edit source]

1.STATIC IP (IPv4 and IPv6) is assigned to the DNS server using : sudo nano “/etc/network/interfaces”.

Static IP assigned

2.Rebooting the network interfaces to check if the IP address are assigned to the virtual machine: sudo /etc/init.d/networking restart

Desired IP assigned

3.Installing the bind9 library using : sudo apt-get install bind9

4.Configuring the options file : sudo nano /etc/bind/named.conf.options

a.Adding the IP addresses of all the trusted client

Trusted Devices

b.Allowing the recursion of queries from trusted devices mentioned above , and added the IP address of the Master DNS server, to listen-on.

Listen on Master

c.Adding the forwarders


5.Configuring the local host file : sudo nano /etc/bind/named.conf.local

a.Adding the forward query mapping , also allowing the request to be transferred to the Slave DNS server having IP address :

Hostname to IP Mapping (Forwarding)

b.Adding reverse query mapping for IPv4 and IPv6,also allowing the request to be transferred to the Slave DNS server having IP address :

IP to Hostname Mapping (Reversing)

Reverse Mapping (IPv6)

6.Creating a Forward Zone Database :

sudo mkdir /etc/bind/zones

cd /etc/bind/zones

sudo cp ../db.local ./db.padhaai.iot

sudo nano /etc/bind/zones/db.padhaai.iot

a.Including the name servers

NS records

b.Including the IPv4 address mapping

IPv4 records

c.Including the IPv6 address mapping

IPv6 records

7.Creating a reverse zone database :

sudo cp ../db.127 ./db.192.168.34

sudo nano /etc/bind/zones/db.192.168.34

a.Inverse IPv4 mapping

b.Inverse IPv6 mapping

IPv6 Inverse records

8.Applying Checks :

sudo named-checkconf : to check if the bind library is installed properly , If the configuration files have no syntax errors, you will return to your shell prompt and see no error messages.

sudo named-checkzone db.padhaai.iot /etc/bind/zones/db.padhaai.iot: to check the forward zone configuration file

sudo named-checkzone /etc/bind/zones/db.192.168: to check the reverse zone configuration file

9.Restarting the BIND service : sudo service bind9 restart

PRIMARY DNS is configured, moving towards secondary DNS


[edit | edit source]

1. For the Slave Server repeat steps 1 to 5 a. Static IP to Slave DNS server: sudo nano “/etc/network/interfaces”

Static IP assignment

b. Configuring the options file : sudo nano /etc/bind/named.conf.options

c. Configuring the local host file : sudo nano /etc/bind/named.conf.local

DNS CLIENT Configuring DNS client: sudo vi /etc/resolvconf/resolv.conf.d/head


Forward Mapping (IPv4) :

Forward Mapping (IPv6) :