Data Networking/Fall 2017/PaDhAAi

Project ObjectiveEdit

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 membersEdit

Palak Sharma

Dhanisha Phadate

Ashwath Shunti

Andrews Tito


Domain Name System (DNS)Edit

Behaviour of ProtocolEdit

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.

SignallingEdit

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 ConfigurationEdit

PRIMARY DNS ::: MASTER DNSEdit

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

 
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 : 192.168.34.16

 
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 : 192.168.34.16


 
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 34.168.192.in-addr.arpa /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

SECONDARY DNS ::: SLAVE DNSEdit

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


TEST CASES :

Forward Mapping (IPv4) :


Forward Mapping (IPv6) :



REVERSE MAPPING (IPv4 ) :



REVERSE MAPPING (IPv6) :