DNS Server

43
DNS Server Untuk dapat saling berhubungan dalam sebuah jaringan komputer, setiap komputer harus memiliki ip address yang unik. Persoalan muncul ketika ada jutaan, bahkan ratusan juta komputer dengan ip address yang berbeda-beda, seperti yang terjadi di internet. Apalagi ip address tersebut menggunakan angka yang sulit dihafal manusia (apalagi sekarang ada IPv6 berbasis hexa). Oleh karena itu dibuatlah sebuah model pengalamatan yang menggunakan nama. User mengenal sebuah alamat berdasarkan nama (www.yahoo.com), lalu DNS Server merubah nama tersebut menjadi ip address yang berlaku umum. Version 1.0 linuxslides.blogspot.com

Transcript of DNS Server

Page 1: DNS Server

DNS Server

Untuk dapat saling berhubungan dalam sebuah jaringan komputer, setiap komputer harus memiliki ip address yang unik.

Persoalan muncul ketika ada jutaan, bahkan ratusan juta komputer dengan ip address yang berbeda-beda, seperti yang terjadi di internet. Apalagi ip address tersebut menggunakan angka yang sulit dihafal manusia (apalagi sekarang ada IPv6 berbasis hexa).

Oleh karena itu dibuatlah sebuah model pengalamatan yang menggunakan nama. User mengenal sebuah alamat berdasarkan nama (www.yahoo.com), lalu DNS Server merubah nama tersebut menjadi ip address yang berlaku umum.

Version 1.0 linuxslides.blogspot.com

Page 2: DNS Server

DNS Server vs /etc/hosts

Penamaan komputer dalam jaringan juga bisa meggunakan file /etc/hosts. Dengan format:<ip address> <hostname.domain> <hostname>

Hanya saja semua komputer yang terhubung dalam jaringan harus memiliki file /etc/hosts yang sama, agar dapat berkomunikasi dengan nama.

Jika di internet ada 100 juta komputer, maka setiap komputer yang terhubung internet harus menyimpan file /etc/hosts yang berisi 100 juta baris, agar bisa berkomunikasi dengan nama. Belum lagi tiap detik daftar /etc/hosts bisa berubah karena penambahan, pengurangan atau perubahan nama dan ip address.

Maka file /etc/hosts hanya bisa diterapkan pada jaringan LAN yang kecil dan tidak sering terjadi perubahan nama dan ip address. Untuk internet solusinya adalah DNS Server.

Version 1.0 linuxslides.blogspot.com

Page 3: DNS Server

Cara Kerja DNS Server

internet

DNS Server

Client akses www.yahoo.com

Tanya/query:berapa ip

www.yahoo.com?

ip www.yahoo.comadalah 66.77.88.99akses 66.77.88.99

Client akan bertanya pada DNSServer yang ditentukan pada file/etc/resolv.conf:nameserver x.x.x.x

Version 1.0 linuxslides.blogspot.com

Page 4: DNS Server

FQDN

FQDN (Full Qualified Domain Name) adalah model baku penamaan yang digunakan oleh DNS Server.

FQDN terdiri dari hostname dan domain. Domain itu sendiri bertingkat-tingkat. Setiap tingkat/level domain ada DNS Server yang bertanggung jawab.

Contoh: Ada alamat www.yahoo.com, yang mana hostname dan domain-nya? Ada berapa domain-nya?

Version 1.0 linuxslides.blogspot.com

Page 5: DNS Server

www.yahoo.com .

hostname

root level domain

top level domain

2nd level domain

Domain dan hostname

Masing-masing level domain memiliki DNS Server sendiri.Tugasnya adalah menentukan ip address dari sub domainatau hostname yang ada di bawahnya LANGSUNG.

Version 1.0 linuxslides.blogspot.com

Page 6: DNS Server

idau com

(root).

org net ...

yahoogoogle ...

wwwmail ...

DNS root menentukan ip addressdari DNS id, org, net, com, dkk...

DNS com menentukan ip addressdari DNS google, yahoo, dkk...

DNS yahoo menentukan ip addressdari HOSTNAME/MESIN www, mail, dkk...

Version 1.0 linuxslides.blogspot.com

Page 7: DNS Server

idau com

(root).

org net ...

yahoogoogle ...

wwwmail ...

Tanya kepada DNS root: Berapa ip www.yahoo.com?

Client

Dijawab oleh DNS root: Tanyakan kepada dns com

Version 1.0 linuxslides.blogspot.com

Page 8: DNS Server

idau com

(root).

org net ...

yahoogoogle ...

wwwmail ...

Tanya kepada DNS com: Berapa ip www.yahoo.com?

Client

Dijawab oleh DNS com: Tanyakan kepada dns yahoo

Version 1.0 linuxslides.blogspot.com

Page 9: DNS Server

idau com

(root).

org net ...

yahoogoogle ...

wwwmail ...

Tanya kepada DNS yahoo: Berapa ip www.yahoo.com?

Client

Dijawab oleh DNS yahoo: ip hostname/mesin www adalah66.77.88.99

Version 1.0 linuxslides.blogspot.com

Page 10: DNS Server

idau com

(root).

org net ...

yahoogoogle ...

wwwmail ...

Client akses www.yahoo.comdengan ip 66.77.88.99

Client

Version 1.0 linuxslides.blogspot.com

Page 11: DNS Server

idau com

(root).

org net

ac co

...

...

ui ugm ...

hukum teknik ...

www

yahoogoogle ...

wwwmail ...

Demikian pula dengan domain-domain yang lainnya...

Version 1.0 linuxslides.blogspot.com

Page 12: DNS Server

arpaid com

(root).

org net

in-addr

...

...

201 202 ...

130 131 ...

ReversedDNS Server

223 224 ...

11

Jika DNS Server bertugas merubah (resolv) dari nama menjadi ip address, maka reversed DNS (rDNS) bertugas sebaliknya; merubah dari ip address menjadi nama

Sebagai contoh ip address 202.131.224.11, bentuk rDNS-nya menjadi: 224.131.202.in-addr.arpa.11 sebagai Host ID yang akan didefinisikan nama yang mewakilinya.

10 ...

Kegunaan rDNS antara lain adalah untuk troubleshooting, system logging dan monitoring. Version 1.0 linuxslides.blogspot.com

Page 13: DNS Server

idau com

(root).

org net ...

yahoogoogle ...

wwwmail ...

Cache only DNS Server adalah DNS yang tidak mengelola domain, tugasnya hanya bertanya/melakukan query ke root, untuk kemudiandisimpan dan diberikan kepada client yang memerlukannya.

Cache OnlyDNS Server

DNS Server dapat menyimpan ip address hasil query ke dalam cache-nya, sehingga kalau ada client lain yang mengajukan pertanyaan yang sama, DNS Server akan mengambil dari cache-nya. Cache DNS ini memiliki umur yang didefinisikan dalam parameter TTL (time to live)

Version 1.0 linuxslides.blogspot.com

Page 14: DNS Server

Primary & Secondary DNS

CARA KERJA: Secondary DNS akan mengontak primary DNS secara berkala X menit/jam sekali, yang ditentukan dalam parameter refresh.

PrimaryDNS

SecondaryDNS

Check & synchronizing

Update

Secondary DNS berfungsi sebagai cadangan/backup, ketika primary DNS

down.

Jika ada perubahan konfigurasi pada primary, yang ditandai dengan perubahan parameter serial, maka secondary DNS akan meng-update-nya.

Jika secondary DNS gagal mengkontak primary, maka ia akan mencoba kembali X menit/jam kemudian, sesuai dengan parameter retry.

Jika gagal terus maka secondary DNS akan menyatakan kadaluwarsa setelah X hari/jam/menit sesuai dengan parameter expiry. Version 1.0 linuxslides.blogspot.com

Page 15: DNS Server

Setting DNS Server

1. Instalasi (bind9)

2. Konfigurasia) Mendefinisikan domain yang kita kelola

b) Mendefinisikan domain di atas kita

c) Mendefinisikan semua subdomain atau hostname di bawah kita

3. Aktivasi

Version 1.0 linuxslides.blogspot.com

Page 16: DNS Server

Instalasi bind9 Debian

$ sudo apt-get install bind9

Untuk instalasi jalankan perintah berikut:

Dengan menginstall bind9, tanpa di-setting DNS-nya, komputer kitasecara default telah berfungsi sebagai Cache Only DNS server yang dapat melakukan query ke DNS root.

Ketika koneksi internet, komputer kita tidak perlu bertanya kepada DNS Server luar (ISP), tapi cukup bertanya kepada diri sendiri, denganmendefinisikan ip kita sendiri di /etc/resolv.conf:

$ sudo vim /etc/resolv.confnameserver x.x.x.x

Version 1.0 linuxslides.blogspot.com

Page 17: DNS Server

File-file konfigurasi bind9

1. Mendefinisikan domain yang kita kelola (/etc/bind/named.conf.local)

2. Mendefinisikan domain di atas kita (/etc/bind/named.conf.options)

3. Mendefinisikan semua subdomain atau hostname di bawah kita (/etc/bind/zones/*)

4. Client mendefinisikan DNS Server (/etc/resolv.conf)

Version 1.0 linuxslides.blogspot.com

Page 18: DNS Server

1. Mendefinisikan domain kita

$ sudo vim /etc/bind/named.conf.local

zone "llc.com" {type master;file "/etc/bind/zones/llc.com.db";

};

zone "2.168.192.in-addr.arpa" {type master;file "/etc/bind/zones/2.168.192.db";

};

“llc.com” adalah domain yang dikelola

“master” -> primary dns

“llc.com.db” file berisiip-ip hostname/domain di bawah kita

“in.addr” adalah domain reversed DNS

“master” -> primary dns

“2.168.192.db” file berisinama-nama hostname/ domain di bawah kita

Version 1.0 linuxslides.blogspot.com

Page 19: DNS Server

2. Mendefinisikan domain di atas kita

$ sudo vim /etc/bind/named.conf.options

options {

forwarders { 192.168.2.15; }; ...

... };

Tambahkan keyword forwardersdan definisikan ip address dari DNS Server di atas kita

Version 1.0 linuxslides.blogspot.com

Page 20: DNS Server

3. Mendefinisikan hostname di bawah kita

$ sudo mkdir /etc/bind/zones

$ sudo vim /etc/bind/zones/llc.com.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1dns1 IN A 192.168.2.5@ IN A 192.168.2.5www IN CNAME dns1

Version 1.0 linuxslides.blogspot.com

Page 21: DNS Server

3. Mendefinisikan hostname di bawah kita

$ sudo mkdir /etc/bind/zones

$ sudo vim /etc/bind/zones/llc.com.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1dns1 IN A 192.168.2.5@ IN A 192.168.2.5www IN CNAME dns1

domain yang dikelola

internet

start of authority

FQDN dari DNS Server

kita

root sebagai admin

name server

address@ = llc.com.

dns1 = dns1.llc.com.

www = www.llc.com.

canonical name (nama lain/alias)

Parameter-parameter hubungan primary dan secondary dns.TTL adalah umur cache

Version 1.0 linuxslides.blogspot.com

Page 22: DNS Server

3. Mendefinisikan domain di bawah kita

$ sudo vim /etc/bind/zones/llc.com.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1dns1 IN A 192.168.2.5@ IN A 192.168.2.5www IN CNAME dns1

redhat.llc.com. IN NS dns1.redhat.llc.com.dns1.redhat.llc.com. IN A 192.168.2.10

sub domain yang adadi bawah kita

Version 1.0 linuxslides.blogspot.com

Page 23: DNS Server

3. Mendefinisikan domain di bawah kita (reversed DNS)

$ sudo vim /etc/bind/zones/2.168.192.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns15 IN PTR dns1.llc.com.

5 adalah host IDdari ip address

DNS Server192.168.2.5

pointer FQDN dari DNS Serverkita

Version 1.0 linuxslides.blogspot.com

Page 24: DNS Server

4. Mendefinisikan DNS Server

$ sudo vim /etc/resolv.conf

nameserver 192.168.2.5

Version 1.0 linuxslides.blogspot.com

Page 25: DNS Server

5. DNS Server dan /etc/hosts

Kita bisa mengatur metode perubahan dari nama ke ip address, antara /etc/hosts atau DNS Server. Jika /etc/hosts pada urutan pertama, maka proses perubahan nama ke ip akan dilakukan oleh mekanisme /etc/hosts, jika tidak ditemukan baru oleh DNS Server.

Version 1.0 linuxslides.blogspot.com

Page 26: DNS Server

5. DNS Server dan /etc/hosts

$ sudo vim /etc/host.conf

order hosts,bindmulti on

Kita bisa mengatur metode perubahan dari nama ke ip address, antara /etc/hosts atau DNS Server. Jika /etc/hosts pada urutan pertama, maka proses perubahan nama ke ip akan dilakukan oleh mekanisme /etc/hosts, jika tidak ditemukan baru oleh DNS Server.

order menunjukkan urutannya, apakah hosts atau dns yang lebih dulu digunakan. multi on menunjukkan perubahan dari nama ke ip address menggunakan acuan hosts dan dns sekaligus. Lebih jauh silahkan lihat “man host.conf”.

Version 1.0 linuxslides.blogspot.com

Page 27: DNS Server

Aktivasi Daemon DNS

$ sudo /etc/init.d/bind9 restart

Untuk aktivasi DNS jalankan perintah berikut:

Setelah itu coba test ping ke diri sendiri dengan nama:

$ ping www.llc.com

Version 1.0 linuxslides.blogspot.com

Page 28: DNS Server

unix windows

com

freebsd linux

Lab: Buat DNS Server di bawah ini:

suseredhat

Catatan: Masing-masing memiliki hostname standar www dan dns1 pada ip address yang sama.

Version 1.0 linuxslides.blogspot.com

Page 29: DNS Server

DNS Server cheat sheet

$ sudo vim /etc/bind/named.conf.local

zone "llc.com" { type master; file "/etc/bind/zones/llc.com.db";};

zone "2.168.192.in-addr.arpa" { type master; file "/etc/bind/zones/2.168.192.db";};

$ sudo vim /etc/bind/named.conf.options

options {

forwarders { 192.168.2.15; };};

$ sudo vim /etc/bind/zones/llc.com.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1dns1 IN A 192.168.2.5@ IN A 192.168.2.5www IN CNAME dns1

redhat.llc.com. IN NS dns1.redhat.llc.com.dns1.redhat.llc.com. IN A 192.168.2.10

$ sudo vim /etc/bind/zones/2.168.192.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns15 IN PTR dns1.llc.com.

$ sudo vim /etc/resolv.conf

nameserver 192.168.2.5

1 Menentukan domain yang dikelola

2 Menentukan domain di atas kita

5 Menentukan DNS Server

3 Menentukan ip-ip hostname & sub domain kita

4 Menentukan nama-nama dari ip kita (reversed dns)

Version 1.0 linuxslides.blogspot.com

Page 30: DNS Server

Primary & Secondary DNS

CARA KERJA: Secondary DNS akan mengontak primary DNS secara berkala X menit/jam sekali, yang ditentukan dalam parameter refresh.

PrimaryDNS

SecondaryDNS

Check & synchronizing

Update

Secondary DNS berfungsi sebagai cadangan/backup, ketika primary DNS

down.

Jika ada perubahan konfigurasi pada primary, yang ditandai dengan perubahan parameter serial, maka secondary DNS akan meng-update-nya.

Jika secondary DNS gagal mengkontak primary, maka ia akan mencoba kembali X menit/jam kemudian, sesuai dengan parameter retry.

Jika gagal terus maka secondary DNS akan menyatakan kadaluwarsa setelah X hari/jam/menit sesuai dengan parameter expiry. Version 1.0 linuxslides.blogspot.com

Page 31: DNS Server

Setting Secondary DNS

1. Primary DNS mendefinisikan secondary DNS (/etc/bind/zones/*)

2. Menentukan domain secondary DNS (/etc/bind/named.conf.local)

3. Mengenalkan secondary DNS kepada domain-domain terkait (/etc/bind/zones/named.conf.options)

Version 1.0 linuxslides.blogspot.com

Page 32: DNS Server

1. Primary mendefinisikan secondary (settting dilakukan pada primary)

$ sudo vim /etc/bind/zones/llc.com.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1@ IN NS dns2dns1 IN A 192.168.2.5dns2 IN A 192.168.2.6@ IN A 192.168.2.5www IN CNAME dns1

Tambahkan dua baris berikut

Version 1.0 linuxslides.blogspot.com

Page 33: DNS Server

$ sudo vim /etc/bind/zones/2.168.192.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1@ IN NS dns25 IN PTR dns1.llc.com.6 IN PTR dns2.llc.com.

1. Primary mendefinisikan secondary (settting dilakukan pada primary)

Tambahkan dua baris berikut

Version 1.0 linuxslides.blogspot.com

Page 34: DNS Server

2. Menentukan domain secondary DNS (settting dilakukan pada secondary)

$ sudo vim /etc/bind/named.conf.local

zone "llc.com" {type slave;masters {

192.168.2.5;};file "llc.com.db";

};

zone "2.168.192.in-addr.arpa" {type slave;masters {

192.168.2.5;};file "2.168.192.db";

};

“llc.com” adalah domain yang dikelola

“slave” -> secondary dns

“llc.com.db” file akan otomatis dicopy dari primary

“in.addr” adalah domain reversed DNS

“slave” -> secondary dns

“2.168.192.db” file akan otomatis dicopy dari primary

Version 1.0 linuxslides.blogspot.com

Page 35: DNS Server

3. Mengenalkan secondary DNS kepada domain-domain terkait (setting dilakukan di semua sub domain llc.com)

$ sudo vim /etc/bind/named.conf.options

options {

forwarders { 192.168.2.5;

192.168.2.6; }; ...

... };

Tambahkan ip addresssecondary

dns2.llc.com

Version 1.0 linuxslides.blogspot.com

Page 36: DNS Server

Lab: Secondary DNS

Buatlah secondary DNS dari domain com. Bukti secondary DNS berhasil adalah jika primary DNS com dimatikan (service stop atau kabel dicabut), semua sub domain di bawahnya masih bisa berhubungan dengan baik.

Version 1.0 linuxslides.blogspot.com

Page 37: DNS Server

Secondary DNS Server cheat sheet

$ sudo vim /etc/bind/zones/llc.com.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1@ IN NS dns2dns1 IN A 192.168.2.5dns2 IN A 192.168.2.6@ IN A 192.168.2.5www IN CNAME dns1

$ sudo vim /etc/bind/zones/2.168.192.db

llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1@ IN NS dns25 IN PTR dns1.llc.com.6 IN PTR dns2.llc.com.

1 Mendefinisikan secondary di primary

2 Mendefinisikan secondary di primary (reversed dns)

$ sudo vim /etc/bind/named.conf.local

zone "llc.com" {type slave;masters {

192.168.2.5;};file "llc.com.db";

};

zone "2.168.192.in-addr.arpa" {type slave;masters {

192.168.2.5;};file "2.168.192.db";

};

$ sudo vim /etc/bind/named.conf.options

options {

forwarders { 192.168.2.5;

192.168.2.6; };};

3 Menentukan domain di secondary

4 Menentukan forwarders secondary

Version 1.0 linuxslides.blogspot.com

Page 38: DNS Server

Virtual Domain

Normalnya satu DNS Server hanya mengelola satu domain saja. Misalnya dns1.llc.com hanya mengelola domain llc.com saja.

Namun satu DNS Server juga bisa mengelola lebih dari satu domain. Misalnya dns1.llc.com disamping mengelola domain llc.com, juga mengelola domain sinau.com

Teknik ini disebut dengan virtual domain, yang menjadi dasar untuk membuat virtual web/hosting yang sering dipakai oleh shared web hosting.

Version 1.0 linuxslides.blogspot.com

Page 39: DNS Server

Setting Virtual Domain

1. Menentukan virtual domain (/etc/bind/named.conf.local)

2. Menentukan ipaddress hostname (/etc/bind/zones/*)

Version 1.0 linuxslides.blogspot.com

Page 40: DNS Server

1. Menentukan Virtual Domain

$ sudo vim /etc/bind/named.conf.local

zone "llc.com" {type master;file "/etc/bind/zones/llc.com.db";

};

zone "sinau.com" {type master;file "/etc/bind/zones/sinau.com.db";

};

Tambahkan domainvirtual baru

Version 1.0 linuxslides.blogspot.com

Page 41: DNS Server

2. Menentukan ip address hostname

$ cd /etc/bind/zones

$ sudo cp llc.com.db sinau.com.db

$ sudo vim /etc/bind/zones/sinau.com.db

sinau.com. IN SOA dns1.sinau.com. root.dns1.sinau.com. ( 001 ; serial 1H ; refresh 15M ; retry 1W ; expiry 1H ; ttl)@ IN NS dns1dns1 IN A 192.168.2.5@ IN A 192.168.2.5www IN CNAME dns1

Ubah domain danip address sinau.com

Version 1.0 linuxslides.blogspot.com

Page 42: DNS Server

unix windows

com

freebsd linux

Lab: Buat DNS Virtual Domain:

suseredhat

Catatan: Masing-masing memiliki hostname standar www dan dns1 pada ip address yang sama. Semua virtual domain harus bisa di-ping.

batman.com

spiderman.com hulk.com

ironman.com

Version 1.0 linuxslides.blogspot.com

Page 43: DNS Server

DNS Interrogation

$ dig www.google.com

DNS interrogation adalah teknik untuk mencari informasi ip addressdari dns, www, mail, dan lain-lain, dengan bertanya/query langsungke DNS server melalui command line tools:

Untuk mengetahui mail server/exchange dari domain tertentu:

$ dig google.com mx

Untuk query kepada DNS Server tertentu, misalnya 203.130.206.250:

$ dig @203.130.206.250 google.com mx

Untuk query reversed DNS:

$ dig -x 216.239.32.10

Untuk menyingkat tampilan informasi:

$ dig -x 216.239.32.10 +shortBisa juga menggunakan utilitas nslookup:

$ nslookup www.google.com

QUIZ:Ada berapa mail server

dari ugm.ac.id?Berapa ip address-nya?

Version 1.0 linuxslides.blogspot.com