DNS Server
Transcript of 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
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
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
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
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
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
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
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
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
idau com
(root).
org net ...
yahoogoogle ...
wwwmail ...
Client akses www.yahoo.comdengan ip 66.77.88.99
Client
Version 1.0 linuxslides.blogspot.com
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
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
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
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
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
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
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
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
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
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
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
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
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
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
$ 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
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
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
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
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
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)@ 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
$ 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
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 addresssecondary
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
$ 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
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/named.conf.local)
2. Menentukan ipaddress hostname (/etc/bind/zones/*)
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 domainvirtual 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 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
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
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