Anda di halaman 1dari 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

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

Cara Kerja DNS Server


DNS Server

Tanya/query: berapa ip www.yahoo.com?

internet
akses 66.77.88.99 ip www.yahoo.com adalah 66.77.88.99 Client akan bertanya pada DNS Server yang ditentukan pada file /etc/resolv.conf: nameserver x.x.x.x
Version 1.0 linuxslides.blogspot.com

Client akses www.yahoo.com

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

Domain dan hostname


www.yahoo.com .
root level domain top level domain 2nd level domain hostname Masing-masing level domain memiliki DNS Server sendiri. Tugasnya adalah menentukan ip address dari sub domain atau hostname yang ada di bawahnya LANGSUNG.
Version 1.0 linuxslides.blogspot.com

(root) .

au

id

org

net google

com yahoo

... ...

DNS root menentukan ip address dari DNS id, org, net, com, dkk... DNS com menentukan ip address dari DNS google, yahoo, dkk...

mail

www

...

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

Version 1.0 linuxslides.blogspot.com

(root) .

au
Client

id

org

net google

com yahoo

... ...

Tanya kepada DNS root: Berapa ip www.yahoo.com? Dijawab oleh DNS root: Tanyakan kepada dns com

mail

www

...

Version 1.0 linuxslides.blogspot.com

(root) .

au
Client

id

org

net google

com yahoo

... ...

Tanya kepada DNS com: Berapa ip www.yahoo.com? Dijawab oleh DNS com: Tanyakan kepada dns yahoo

mail

www

...

Version 1.0 linuxslides.blogspot.com

(root) .

au
Client

id

org

net google

com yahoo

... ...

Tanya kepada DNS yahoo: Berapa ip www.yahoo.com? Dijawab oleh DNS yahoo: ip hostname/mesin www adalah 66.77.88.99

mail

www

...

Version 1.0 linuxslides.blogspot.com

(root) .

au
Client

id

org

net google

com yahoo

... ...

Client akses www.yahoo.com dengan ip 66.77.88.99

mail

www

...

Version 1.0 linuxslides.blogspot.com

(root) .

au

id

org

net google

com yahoo

... ...

ac ui ugm

co ...

...

mail hukum teknik www ...

www

...

Demikian pula dengan domaindomain yang lainnya...


Version 1.0 linuxslides.blogspot.com

Reversed DNS Server


id arpa

(root) .

org

net

com

...

in-addr 201 130 223 10 202 131 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. Kegunaan rDNS antara lain adalah untuk troubleshooting, system logging dan monitoring. Version 1.0 linuxslides.blogspot.com

Cache Only DNS Server


au id

(root) .

org

net google

com yahoo

... ...

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

mail

www

...

DNS Server dapat menyimpan ip address hasil query ke dalam cachenya, 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

Primary & Secondary DNS


Check & synchronizing

Primary DNS

Secondary DNS berfungsi sebagai cadangan/backup, ketika primary DNS down.


Update

Secondary DNS

CARA KERJA: Secondary DNS akan mengontak primary DNS secara berkala X menit/jam sekali, yang ditentukan dalam parameter refresh. 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

Setting DNS Server


1. Instalasi (bind9) 2. Konfigurasi
a) 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

Instalasi bind9 Debian


Untuk instalasi jalankan perintah berikut:

$ sudo apt-get install bind9


Dengan menginstall bind9, tanpa di-setting DNS-nya, komputer kita secara 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, dengan mendefinisikan ip kita sendiri di /etc/resolv.conf: $ sudo vim /etc/resolv.conf nameserver x.x.x.x

Version 1.0 linuxslides.blogspot.com

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/*) (/etc/resolv.conf)

4. Client mendefinisikan DNS Server

Version 1.0 linuxslides.blogspot.com

1. Mendefinisikan domain kita


$ sudo vim /etc/bind/named.conf.local zone "llc.com" { type master; file "/etc/bind/zones/llc.com.db"; }; llc.com adalah domain yang dikelola master -> primary dns llc.com.db file berisi ip-ip hostname/domain di bawah kita in.addr adalah domain reversed DNS

zone "2.168.192.in-addr.arpa" { type master; file "/etc/bind/zones/2.168.192.db"; master -> primary dns }; 2.168.192.db file berisi nama-nama hostname/ domain di bawah kita
Version 1.0 linuxslides.blogspot.com

2. Mendefinisikan domain di atas kita


$ sudo vim /etc/bind/named.conf.options options { forwarders { 192.168.2.15; }; ... ... Tambahkan keyword forwarders dan definisikan ip address dari DNS Server di atas kita

};

Version 1.0 linuxslides.blogspot.com

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 dns1 192.168.2.5 192.168.2.5 dns1

) @ dns1 @ www

IN IN IN IN

NS A A CNAME

Version 1.0 linuxslides.blogspot.com

3. Mendefinisikan hostname di bawah kita


FQDN dari start of domain yang DNS Server authority dikelola $ sudo mkdir /etc/bind/zones kita root sebagai admin

$ sudo vim /etc/bind/zones/llc.com.db llc.com. IN SOA dns1.llc.com. root.dns1.llc.com. ( 001 ; serial Parameter-parameter 1H ; refresh hubungan primary name 15M ; retry dan secondary dns. server 1W ; expiry TTL adalah umur address 1H ; ttl cache NS A A CNAME dns1 192.168.2.5 192.168.2.5 dns1
dns1 = dns1.llc.com.

internet @ = llc.com.

) @ dns1 @ www

IN IN IN IN

www = www.llc.com.

canonical name (nama lain/alias)

Version 1.0 linuxslides.blogspot.com

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 dns1 192.168.2.5 192.168.2.5 dns1 NS A dns1.redhat.llc.com. 192.168.2.10

) @ dns1 @ www

IN IN IN IN

NS A A CNAME

redhat.llc.com. IN dns1.redhat.llc.com. IN
sub domain yang ada di bawah kita

Version 1.0 linuxslides.blogspot.com

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 dns1 dns1.llc.com.
FQDN dari DNS Server kita

) @ 5

IN IN

NS PTR
pointer

5 adalah host ID dari ip address DNS Server 192.168.2.5

Version 1.0 linuxslides.blogspot.com

4. Mendefinisikan DNS Server


$ sudo vim /etc/resolv.conf nameserver 192.168.2.5

Version 1.0 linuxslides.blogspot.com

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

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.
$ sudo vim /etc/host.conf order hosts,bind multi on

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

Aktivasi Daemon DNS


Untuk aktivasi DNS jalankan perintah berikut: $ sudo /etc/init.d/bind9 restart Setelah itu coba test ping ke diri sendiri dengan nama: $ ping www.llc.com

Version 1.0 linuxslides.blogspot.com

Lab: Buat DNS Server di bawah ini:


com

unix

freebsd

linux

windows

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

suse

Version 1.0 linuxslides.blogspot.com

DNS Server cheat sheet


1 Menentukan domain yang dikelola
$ 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"; };

3 Menentukan ip-ip hostname & sub domain 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 dns1 192.168.2.5 192.168.2.5 dns1 NS A dns1.redhat.llc.com. 192.168.2.10

) @ dns1 @ www

IN IN IN IN

NS A A CNAME

2 Menentukan domain di atas kita


$ sudo vim /etc/bind/named.conf.options options { forwarders { 192.168.2.15; };

redhat.llc.com. IN dns1.redhat.llc.com. IN

4 Menentukan nama-nama dari ip 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 dns1 dns1.llc.com.

};

5 Menentukan DNS Server


$ sudo vim /etc/resolv.conf nameserver 192.168.2.5 ) @ 5 IN IN NS PTR

Version 1.0 linuxslides.blogspot.com

Primary & Secondary DNS


Check & synchronizing

Primary DNS

Secondary DNS berfungsi sebagai cadangan/backup, ketika primary DNS down.


Update

Secondary DNS

CARA KERJA: Secondary DNS akan mengontak primary DNS secara berkala X menit/jam sekali, yang ditentukan dalam parameter refresh. 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

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

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 dns1 dns2 192.168.2.5 192.168.2.6 192.168.2.5 dns1
Tambahkan dua baris berikut

) @ @ dns1 dns2 @ www

IN IN IN IN IN IN

NS NS A A A CNAME

Version 1.0 linuxslides.blogspot.com

1. Primary mendefinisikan secondary (settting dilakukan pada primary)


$ 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 dns1 dns2 dns1.llc.com. dns2.llc.com.
Tambahkan dua baris berikut

) @ @ 5 6

IN IN IN IN

NS NS PTR PTR

Version 1.0 linuxslides.blogspot.com

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

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 address secondary dns2.llc.com

};

Version 1.0 linuxslides.blogspot.com

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

Secondary DNS Server cheat sheet


1 Mendefinisikan secondary di 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 dns1 dns2 192.168.2.5 192.168.2.6 192.168.2.5 dns1

3 Menentukan domain di 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"; };

) @ @ dns1 dns2 @ www

IN IN IN IN IN IN

NS NS A A A CNAME

2 Mendefinisikan secondary di primary (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 dns1 dns2 dns1.llc.com. dns2.llc.com.

4 Menentukan forwarders secondary


$ sudo vim /etc/bind/named.conf.options options { forwarders { 192.168.2.5; 192.168.2.6; };

) @ @ 5 6

IN IN IN IN

NS NS PTR PTR

};

Version 1.0 linuxslides.blogspot.com

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

Setting Virtual Domain


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

2. Menentukan ipaddress hostname

Version 1.0 linuxslides.blogspot.com

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 domain virtual baru

Version 1.0 linuxslides.blogspot.com

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 Ubah domain dan 1H ; ttl
ip address sinau.com

) @ dns1 @ www

IN IN IN IN

NS A A CNAME

dns1 192.168.2.5 192.168.2.5 dns1


Version 1.0 linuxslides.blogspot.com

Lab: Buat DNS Virtual Domain:


com batman.com

unix

freebsd spiderman.com

linux windows hulk.com

suse redhat ironman.com


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

Version 1.0 linuxslides.blogspot.com

DNS Interrogation
DNS interrogation adalah teknik untuk mencari informasi ip address dari dns, www, mail, dan lain-lain, dengan bertanya/query langsung ke DNS server melalui command line tools: $ dig www.google.com 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 +short Bisa 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

Anda mungkin juga menyukai