Domain Name Server

28
A A Presentation Presentation On On Domain Name Server Domain Name Server by: by: Vipul Vipul Vaid Vaid

description

Create your own domain name server in just few steps ....

Transcript of Domain Name Server

Page 1: Domain Name Server

AAPresentationPresentation

OnOn

““Domain Name ServerDomain Name Server””

by: by: Vipul VaidVipul Vaid

Page 2: Domain Name Server

History of DNS

Through the 1970s, the ARPAnet was a small, friendly community of a few hundred hosts. A single file, HOSTS.TXT, contained a name-to-address mapping for every host connected to the ARPAnet. The familiar Unix host table, /etc/hosts, was compiled from HOSTS.TXT (mostly by deleting fields Unix didn't use).

As the ARPAnet grew, however, this scheme became unworkable. The size of HOSTS.TXT grew in proportion to the growth in the number of ARPAnet hosts.

Problems with HOSTS.TXT

Consistency Name collision

Page 3: Domain Name Server

“The Domain Name System”

Page 4: Domain Name Server

What is DNS ?

The Domain Name System is a distributed database with hierarchal structure and serve the basis for name resolution process in TCP/IP network.

Domain Name System (DNS) converts the name of a Web site (www.vipul.com) to an IP address (65.115.71.34) and vice-versa.

This IP is the IP address of a Web site's server, not the Web site's name, and is used in routing traffic over the Internet.

Page 5: Domain Name Server

Key Components of DNS

Domain namespace

Zones

Nameservers

Resolver

Page 6: Domain Name Server

Domain namespace DNS namespace is the hierarchical structure of the

domain name tree. It is defined such that the names of all similar components must be similarly structured, but similarly identifiable. The full DNS name must point to a particular address.

host: mail

The mail is the host configured in the google.com domain. The fully qualified domain name (FQDN) of the host mail is mail.google.com. No two hosts can have the same FQDN.

Root '.'

educomgovorg

dtd

www mail

google

Page 7: Domain Name Server

salessupport training

microsoft

Zones

• All top-level domains, and many domains at the second and lower levels, are broken into zones.

• Zones: smaller, more manageable units by delegation.

Page 8: Domain Name Server

Name server

The programs that store information about the domain namespace are called nameservers. Nameservers generally have complete information about some part of the domain namespace, called a zone

Primary name server (Master) Secondary name server (Slave)

microsoft

salessupport training

Master

Slave

ResourceRecord

Page 9: Domain Name Server

Resolver Resolvers are the clients that access nameservers.

Programs running on a host that need information from the domain namespace use the resolver. The resolver handles:

Querying a nameserver. Interpreting responses (which may be resource

records or an error). Returning the information to the programs that

requested it. In BIND, the resolver is a set of library routines that is

linked to programs.

Ex. gethostbyname() in standard socket library inC programming language.

Page 10: Domain Name Server

What is DNS query

A query is a request for name resolution to a DNS server. There are two types of queries: recursive and iterative. Recursive

The queried nameserver is obliged to respond with the requested data or with an error.

Iterative In iterative resolution, a nameserver simply gives the best

answer it already knows back to the querier. No additional querying is required.

Page 11: Domain Name Server

query for1. www.yahoo.com?

client

www.yahoo.com

Root name server

Local DNS

.com DNS

yahoo.com DNS

2. w

ww.yah

oo.c

om?

3. A

sk.c

om

4. www.yahoo.com?

5. Ask yahoo.com

6. www.yahoo.com ?7. 65.10.2.2

8. 65.10.2.2

9. Client connect 65.10.2.2

How Iterativequery works

Page 12: Domain Name Server

client

Local DNS

Root Name server

.com

yahoo.com

2. w

ww.yah

oo.c

om?

3. www.yahoo.com?

4. ww

w.yahoo.com

?

1. Recursive query forwww.yahoo.com?

Host : www

5. 65.10.2.2

6. 65.10.2.2

7. 6

5.10

.2.2

8. 65.10.2.2

9. Client connect to 65.10.2.2

How Recursive Query Works

Host : mail

Page 13: Domain Name Server

Master Server Slave Server

1. SOA Request

2. SOA Response

3. AXFR / IXFR Request

DNS DNS4. Full / Partial zone file transfer

How Zone Transfer Works

Page 14: Domain Name Server

INTRANET

INTERNET

Forwarder

Local Name server

Client

vipul.com domain(not connected to internet directly)

google.com

yahoo.com

hotmail.com

1. www.google.com ?

2. ww

w.google.com

?

3. www.google.com ?

How Forwarder Works

4. 65.29.4.2

5. 65.29.4.2

6. 65.29.4.2

Some domain connected to internet

Page 15: Domain Name Server

Installation Packages

bind,bind-utils Daemons

/usr/sbin/named Scripts

/etc/init.d/named Ports

53/{tcp,udp} Configuration

/etc/named.conf ,/var/named/* Related

caching-nameserver, bind-chroot

Page 16: Domain Name Server

Configuring DNS

Main configuration file

/etc/named.conf It define access controls Defines listing interfaces List authoritative zones (collection of records) Other global configuration

Recursive query or not etc.

Page 17: Domain Name Server

/etc/named.conf

acl “mynetwork” { 192.168.0.0/24; };

options {

listen-on port 53 { 127.0.0.1 ; 192.168.0.254 ; };

directory "/var/named";

allow-query { mynetwork ; };

allow-recursion { none ; };

// allow-transfer { any; };

// forwarders { 0.0.0.0; };

recursion no;

};

Page 18: Domain Name Server

/etc/named.conf cont.

// zone declaration

zone “vipul.com” in { // forward zone

type master;

file “vipul.com.db”; };

zone “0.168.192.in-addr.arpa” in { // reverse zone

type master;

File “192.168.0.db”; };

zone “0.0.127.in-addr.arpa” in { // localhost zone

type master;

file “127.0.0.db”; };

Page 19: Domain Name Server

Resource Records

NOTE: A resource record (RR) is a standard DNS database structure containing information used to process DNS queries

Type MeaningMeaning ValueValue

SOA Start of Authority Parameter for this zone

A address 32 bit integer

MX Mail exchange Domain willing to accept mail

NS Name server Domain name

PTR pointer Alias of an IP address

HINFO Host description CPU and OS info

TXT text Uninterpreted ASCII text

Page 20: Domain Name Server

Forward zone $TTL 3D vipul.com. IN SOA ns.vipul.com. root.vipul.com ( 42; 3H; 15M; 1W; 1D; ) vipul.com. IN NS ns.vipul.com. vipul.com. IN MX mail.vipul.com.

localhost.vipul.com. IN A 127.0.0.1 ns.vipul.com IN A 192.168.0.254

n1.vipul.com IN A 192.168.0.1 n2.vipul.com IN A 192.168.0.2 www IN CNAME ns

carrie IN CNAME n1 Shrek IN CNAME n2 mail IN CNAME ns

Page 21: Domain Name Server

Reverse zone for 192.168.0.0/24

$TTL 3D 0.168.192.in addr.arrpa. IN SOA ns.vipul.com. root.vipul.com. ( 42 ; serial 3H ; slave refresh 15M ;slave retry 1W ;slave timeout 1D ; minimum cache TTL for negative answer)

0.168.192.in-addr.arpa. IN NS ns.vipul.com. 0.168.192.in-addr.arpa. IN MX mail.vipul.com. 254.0.168.192.in-addr.arpa IN PTR ns.vipul.com. 1.0.168.192.in-addr.arpa IN PTR n1.vipul.com. 2.0.168.192.in-addr.arpa IN PTR n2.vipul.com.

Page 22: Domain Name Server

Reverse zone for 127.0.0.0/8 $TTL 3D 0.0.127.in addr.arrpa. IN SOA ns.vipul.com. root.vipul.com. ( 42 ; serial 3H ; slave refresh 15M ;slave retry 1W ;slave timeout 1D ; minimum cache TTL for negative answer)

0.0.127.in-addr.arpa. IN NS ns.vipul.com. 0.0.127.in-addr.arpa. IN MX mail.vipul.com. 1.0.0.127.in-addr.arpa IN PTR localhost.

Page 23: Domain Name Server

Check for errors

named-checkconf

Command use to check /etc/named.conf for errors

named-checkzone

Command used to check zone database files

Page 24: Domain Name Server

Starting bind

All named related files should be accessible by named

chown root:named /var/named/vipul.com.db chown root:named /var/named/192.168.0.db chown root:named /var/named/127.0.0.db

Turn selinux off if not familiar: setenforce 0

To start named deamon

service named start , or /etc/init.d/named start

Page 25: Domain Name Server

Resolver Configuration

/etc/nsswitch

hosts: dns files /etc/resolv.conf

On Clients search vipul.com nameserver 192.168.0.254

On Server nameserver 127.0.0.1

Page 26: Domain Name Server

Resolver Client

gethostip

Queries using stub resolver. host and dig

Only query DNS (not /etc/hosts). more flexible and powerful then gethostip. host provides concise output by default. Dig provide verbose output by default.

nslookup

Standard DNS query tool. Interactive and non interactive mode.

Page 27: Domain Name Server

Conclusion

• DNS serve the basis for name resolution process on internet. DNS consists of the domain namespace, name servers that store resource records, and DNS resolvers.

• A domain is a branch of the DNS namespace beginning at its root node. All of the resource records in a domain are stored in zones on DNS servers. A zone is a contiguous portion of a DNS domain whose information is stored in a file on a DNS server.

• On the Internet, DNS consists of the root domain, top-level domains, and second-level domains. IANA manages the names and DNS servers of the root domain and the top-level domains. Individual organizations are responsible for managing the names in their second-level domains.

• DNS resolvers use either recursive or iterative queries

• Forward lookups provide an IP address based on an FQDN. Reverse lookups provide an FQDN based on an IP address.

• Zone transfers can transfer either the entire zone file (known as a full zone transfer) or just the records that have changed (known as an incremental zone transfer). DNS Notify is a standard mechanism by which a master name server notifies secondary name servers to check .

Page 28: Domain Name Server

Query?Query?Reach me at Reach me at [email protected]@gmail.com