instalasi dan konfigurasi dns #1

39
Instalasi & Konfigurasi DNS Server Kopdar Komunitas Zimbra Indonesia #3 10 April 2010 - Universitas Paramadina Jl. Gatot Subroto Kav. 97 Mampang, Jakarta

Upload: david-suhendrik

Post on 18-Jun-2015

931 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Instalasi dan Konfigurasi DNS #1

Instalasi & Konfigurasi DNS Server

Kopdar Komunitas Zimbra Indonesia #310 April 2010 - Universitas Paramadina Jl. Gatot Subroto Kav. 97 Mampang, Jakarta

Page 2: Instalasi dan Konfigurasi DNS #1

Domain Name System

✔ Apa itu DNS?

Sistem Penamaan Domain atau DNS (Domain Name System) adalah sebuah sistem yang menyimpan informasi tentang nama host dan nama domain dalam bentuk database terdisdtribusi didalam jaringan komputer. Fungsi utama DNS adalah menerjemahkan nama host menjadi alamat IP atau sebaliknya. Fungsi lainnya adalah memberikan informasi tentang suatu host ke jaringan internet yang terhubung dengan DNS.

Page 3: Instalasi dan Konfigurasi DNS #1

Diperlukan sistem yang bisa mengganti alamat host hanya disatu tempat dan host lain akan mempelajari perubahan tersebut secara dinamis, dan inilah yang dinamakan DNS Server.

✔ Kenapa harus ada DNS?

Page 4: Instalasi dan Konfigurasi DNS #1

ResolverMerupakan sebuah program klien yang berjalan di komputer pengguna,yang akan melakukan request ke DNS Recursive.

Recursive DNS ServerMesin yang akan melakukan pencarian atas permintaan ”resolver” danmesin yang akan memberikan jawaban atas permintaan tersebut.

Authoritative DNS ServerAdalah mesin yang bertanggung jawab atas sebuah domain, dan memberikan jawaban terhadap recursor.

✔ Komponen DNS?

Page 5: Instalasi dan Konfigurasi DNS #1

✔ Struktur DNS

Page 6: Instalasi dan Konfigurasi DNS #1

✔ Bagaimana DNS Bekerja?

Komputer akan meminta alamat IP dari domain misalnya zimbra.web.id yang kemudian disampaikan ke resolver.

Resolver akan mencari informasi dari chace DNS ISP / DNS lokal, jika tidak ada maka recusive akan menanyakan root nameserver untuk mendapatkan list nameserver yang bertanggung jawab terhadap domain .id.

Resolver kemudian akan menghubungi nameserver .id untuk menanyakan informasi nameserver yang bertangungjawab terhadap domain .web.id, .web.id akan memberikan respon bahwa ns.zimbra.web.id dan ns.zimbra.web.id adalah nameserver yang bertanggung jawab terhadap domain tersebut.

Page 7: Instalasi dan Konfigurasi DNS #1

✔ Ilustrasi?

Page 8: Instalasi dan Konfigurasi DNS #1

NamaNama domain mengacu pada catatan sumber dayaJenisJenis catatan sumber daya:TTLTime To Live RR, yaitu berapa lama resolvers harus menyimpannya dalam cache sebelum menjadikannya expiredClassJenis jaringan atau perangkat lunak catatan berlaku untuk; kelas internet saat ini berlaku (IN), CHAOSnet (CH) dan Hesiod (HS). Dan yang akan dibahas hanya kelas Internet, yang berlaku untuk TCP/IP.RDATAData sumber daya aktual yang terkait dengan nama domainMain record DNS adalah sebagai berikut (lihat [RFC1035]):

✔ Resource record?

Page 9: Instalasi dan Konfigurasi DNS #1

A Alamat ()Sebuah host 32-bit alamat IPAaaa (Alamat IPv6)Sebuah alamat host dalam format IPv6CNAME (Canonical Name)Menentukan sebuah alias untuk nama domain, yaitu FQDN berbeda yang dapat digunakan untuk merujuk ke host yang samaKeyServer public key untuk TSIG dan DNSSECMX (Mail eXchanger)Menetapkan daftar mail server yang mengirim surat untuk itu nama domainNS (Name Server)server nama otoritatif untuk domainPTR (Pointer)Sebuah pointer ke lokasi lain dalam ruang nama domain, yang merupakan sebagian besar digunakan untuk menghubungkan nama domain dengan alamat IP dalam "-domain di addr.arpa" untuk resolusi nama reverse

Page 10: Instalasi dan Konfigurasi DNS #1

SOA (Start Of Authority)Mengidentifikasi awal dari zona otoritasTXT (Teks)teks string yang berisi data acak (sampai 255 byte) yang berhubungan dengan nama

Page 11: Instalasi dan Konfigurasi DNS #1

Sejarah BIND Silahkan dilihat di http://www.isc.org/products/BIND/bind-history.html

✔ Bind sebagai DNS Server?

Page 12: Instalasi dan Konfigurasi DNS #1

Pertama periksa apakah bind sudah terinstall, hapus user named bila ada

# for a in $(rpm -qa | grep ^bind); do rpm -e --nodeps $a; done

# userdel -r named

Hapus direktori named

# rm -rf /var/named

Download bind, sebelumnya kunjungi link download ini dan pilih source .tar.gz

# wget http://ftp.isc.org/isc/bind9/9.5.0-P2/bind-9.5.0-P2.tar.gz

✔ Instalasi BIND?

Page 13: Instalasi dan Konfigurasi DNS #1

Masuk ke direktori hasil ekstrak tadi:

# cd bind-9.5.0-P2

Kemudian compile & instal file hasil ekstrak tersebut:

# ./configure –prefix=/usr/local/named# make# make install

Silahkan buat user yang akan menjalankan service tersebut:

# useradd -d /var/named -s /bin/false named

Page 14: Instalasi dan Konfigurasi DNS #1

Kemudian masuk ke direktori user named dan download file named.root yag berisi informasi tentang root server:

# cd /var/named

# wget www.internic.net/zones/named.root

Selanjutnya buat file untuk reverse PTR localhost, disini saya menggunakan vi editor [my favorite]

# vi db.127.0.0

Page 15: Instalasi dan Konfigurasi DNS #1

Isi file db.127.0.0 adalah :

$TTL 3h@ IN SOA ns.zimbra.web.id. hostmaster.zimbra.web.id. ( 2009151209 ; serial 3h ; refresh after 3 hours 1h ; retry after 1 hour 1w ; expire after 1 week 1h ) ; negative caching TTL of 1 hour; Name servers IN NS ns.zimbra.web.id.; Addresses (pointing to canonical names)1 IN PTR localhost.

Note: format serial adalah yy/mm/dd/hh

Page 16: Instalasi dan Konfigurasi DNS #1

# cp db.127.0.0 db.192.168.7# cp db.127.0.0 db.10.107.33 Next.... buat file yang berisi tentang zone dari localhost:# vi db.localhostIsi dari file db.localhost adalah :

$TTL 3h@ IN SOA ns.zimbra.web.id. hostmaster.zimbra.web.id. ( 2009151209 ; serial 3h ; refresh after 3 hours 1h ; retry after 1 hour 1w ; expire after 1 week 1h ) ; negative caching TTL of 1 hour; Name servers IN NS ns.zimbra.web.id.; Addresses for the canonical names IN A 127.0.0.1

Page 17: Instalasi dan Konfigurasi DNS #1

Buat db.0# vi db.0

$TTL 3h@ IN SOA ns.zimbra.web.id. hostmaster.zimbra.web.id. (

2009151209 ; serial3h ; refresh after 3 hours1h ; retry after 1 hour1w ; expire after 1 week1h ) ; negative caching TTL of 1 hour

; Name serversIN NS ns.zimbra.web.id.

Page 18: Instalasi dan Konfigurasi DNS #1

Buat file db.255

# vi db.255

$TTL 3h@ IN SOA ns.zimbra.web.id. hostmaster.zimbra.web.id. (

2009151209 ; serial3h ; refresh after 3 hours1h ; retry after 1 hour1w ; expire after 1 week1h ) ; negative caching TTL of 1 hour

; Name serversIN NS ns.zimbra.web.id.

Page 19: Instalasi dan Konfigurasi DNS #1

Buat file db.1.2.3

# vi db.1.2.3

$TTL 3h@ IN SOA ns.zimbra.web.id. hostmaster.zimbra.web.id. (

2009121509 ; serial3h ; refresh after 3 hours1h ; retry after 1 hour1w ; expire after 1 week1h ) ; negative caching TTL of 1 hour

; Name serversIN NS ns.zimbra.web.id.

Page 20: Instalasi dan Konfigurasi DNS #1

Buat file db.bind:

$TTL 1D$ORIGIN bind.@ 1D CHAOS SOA localhost. root.localhost. ( 2009050200 ; serial 3H ; refresh 1H ; retry 1W ; expiry 1D ) ; minimum CHAOS NS localhost.

version.bind. CHAOS TXT "BIND Lastest version"authors.bind. CHAOS TXT "are better coders than I.:)"

Page 21: Instalasi dan Konfigurasi DNS #1

Buat sebuah deirktori untuk menyimpan file konfigurasi dari demon program BIND:

# mkdir /usr/local/named/etc

Buat file /usr/local/named/etc/named.conf yang akan dijadikan sebagai file konfigurasi dari program BIND, dibawah ini saya contohkan file named.conf yang saya gunakan. Ini berdasarkan dari beberapa referensi yang saya temukan di internet:

# vi /usr/local/named/etc/named.conf

Isi dari file named.conf:

Page 22: Instalasi dan Konfigurasi DNS #1

acl "xfer" { 202.123.234.100/32; // secondary name server

};

acl "trusted" { // Masukan ip yang diijinkan melakukan recursive query // tambah sesuai kebutuhan

202.123.234.0/24; //Example 192.168.0.0/24; //LAN localhost; //Server ini};

Page 23: Instalasi dan Konfigurasi DNS #1

acl "bogon" { // Hapus atau comment LAN anda dari acl bogon ini

0.0.0.0/8; 1.0.0.0/8; 2.0.0.0/8; 5.0.0.0/8; 7.0.0.0/8; 10.0.0.0/8; 23.0.0.0/8; 27.0.0.0/8; 31.0.0.0/8; 36.0.0.0/8; 37.0.0.0/8;dst...// 192.168.0.0/24; LAN saya

Page 24: Instalasi dan Konfigurasi DNS #1

logging { category lame-servers { null; }; category edns-disabled { null; }; channel default_syslog { syslog local2; severity debug;};

channel audit_log { file "/var/log/named/audit.log" versions 3 size 50m;

severity debug; print-severity yes; print-time yes; print-category yes;};

Page 25: Instalasi dan Konfigurasi DNS #1

channel xfer_log { file "/var/log/named/xfer.log" versions 3 size 50m; severity debug; print-severity yes; print-time yes; print-category yes;}; channel queries_log { file "/var/log/named/query.log" versions 3 size 50m; severity debug; print-severity yes; print-time yes; print-category yes;};

Page 26: Instalasi dan Konfigurasi DNS #1

category default { default_syslog; }; category general { default_syslog; }; category security { audit_log; default_syslog; }; category config { default_syslog; }; category resolver { audit_log; }; category xfer-in { xfer_log; }; category xfer-out { xfer_log; }; category notify { audit_log; }; category client { audit_log; }; category network { audit_log; }; category update { audit_log; }; category queries { queries_log; }; category lame-servers { audit_log; };};

Page 27: Instalasi dan Konfigurasi DNS #1

options { directory "/var/named"; allow-transfer { "xfer"; }; pid-file "named.pid"; listen-on port 53 { any; }; statistics-file "named.stats"; memstatistics-file "named.memstats"; dump-file "named.dump"; zone-statistics yes; notify no; transfer-format many-answers; max-transfer-time-in 100; interface-interval 0; allow-query { "trusted"; }; blackhole { bogon; };

Forwarders {202.1.2.3; 202.15.10.4;}; //DNS ISP};

Page 28: Instalasi dan Konfigurasi DNS #1

view "intranet" in { match-clients {"trusted"; }; recursion yes;

allow-transfer { "xfer"; }; additional-from-auth yes;

additional-from-cache yes;

zone "zimbra.web.id" { type master; file "master/db.zimbra";

allow-update { xfer; };};

Page 29: Instalasi dan Konfigurasi DNS #1

zone "33.107.10.in-addr.arpa" { type master; file "master/db.10.107.33";};

zone "7.168.192.in-addr.arpa" { type master; file "master/db.192.168.7";};

zone "3.2.1.in-addr.arpa" { type master; file "master/db.1.2.3";};

Page 30: Instalasi dan Konfigurasi DNS #1

# Loopback addresszone "localhost" { type master; file "master/db.localhost";};

zone "0.0.127.in-addr.arpa" { type master; file "master/db.127.0.0";};

# Special zoneszone "255.in-addr.arpa" { type master; file "master/db.255";};

zone "0.in-addr.arpa" { type master; file "master/db.0";};

Page 31: Instalasi dan Konfigurasi DNS #1

# Root zonezone "." { type hint; file "master/named.root";};};

view "external-chaos" chaos { match-clients { any; }; recursion no;

zone "." { type hint; file "/dev/null";};

zone "bind" { type master; file "master/db.bind"; allow-query { any; }; allow-transfer { none;};};};

Page 32: Instalasi dan Konfigurasi DNS #1

Selanjutnya generate file konfigurasi yang akan digunakan oleh program rndc, yang perlu diingat adalah hasil dari perintah rndc-confgen tidak selalu sama, sebaiknya diperhatikan.

# /usr/local/named/sbin/rndc-confgen

Kemudian copy paste dari asil perintah diatas mulai dari ibaris "Start of rndc.conf" sampai dengan baris "End of rndc.conf" dan simpan pada direktori dan nama file "/usr/local/named/etc/rndc.conf"

Selanjutnya copy paste lagi mulai dari baris "rndc-key" sampai pada baris paling bawah atau "#End named.conf" ke /usr/local/named/etc/named.conf dan jangan lupa menghilangkan tanda # kecuali pada "#End named.conf" karena yang ini bukan termasuk dalam script konfigurasi atau hanya bersifat menerangkan. Ok, dibawah ini adalah contoh dari langkah-langkah diatas:

Isi dari file /usr/local/named/etc/rndc.conf:

Page 33: Instalasi dan Konfigurasi DNS #1

Isi dari file /usr/local/named/etc/rndc.conf:

# Start of rndc.confkey "rndc-key" { algorithm hmac-md5; secret "vukamQmCQ9m21eQx/kChqg==";};

options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953;};# End of rndc.conf

Page 34: Instalasi dan Konfigurasi DNS #1

Sedangkan pada file /usr/local/named/etc/named.conf ditambahkan:

# Use with the following in named.conf, adjusting the allow list as needed: key "rndc-key" { algorithm hmac-md5; secret "vukamQmCQ9m21eQx/kChqg=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; };# End of named.conf

Page 35: Instalasi dan Konfigurasi DNS #1

Langkah selanjutnya adalan mengubah kepemilikan home direktori dari user named, kemudian menjalankan daemon dari program BIND:

# chown -R named.named /var/named

Jalankan BIND:

# /usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf

Jika sukses anda bisa melihat pada file /var/log/messages kira-kira seperti berikut:

# tail -f /var/log/messages

Page 36: Instalasi dan Konfigurasi DNS #1

Apr 10 09:06:07 server02 named[9389]: zone 0.168.192.in-addr.arpa/IN/intranet: loaded serial 2009151209Apr 10 09:06:07 server02 named[9389]: zone 255.in-addr.arpa/IN/intranet: loaded serial 2009151209Apr 10 09:06:07 server02 named[9389]: zone localhost/IN/intranet: loaded serial 2009151209Apr 10 09:06:07 server02 named[9389]: zone zimbra.web.id/IN/intranet: loaded serial 2009151974Apr 10 09:06:07 server02 named[9389]: zone bind/CH/external-chaos: loaded serial 2009050200Apr 10 09:06:07 server02 named[9389]: running

Page 37: Instalasi dan Konfigurasi DNS #1

Tambahkan perintah "/usr/local/named/sbin/named iu named -c /usr/local/named/etc/named.conf" pada rc.local

root@ns1~]# echo /usr/local/named/sbin/named -u named -c /usr/local/named/etc/named.conf >> /etc/rc.local

Kemudian set resolver agar menggunakan name server localhost:

# echo "nameserver 127.0.0.1" > /etc/resolv.conf

Testing query menggunakan name server localhost dengan perintah host :

# host 127.0.0.1

1.0.0.127.in-addr.arpa domain name pointer localhost.

# host localhost

localhost has address 127.0.0.1

Page 38: Instalasi dan Konfigurasi DNS #1

FAQ: id-zimbra [at] googlegroups.com david [at] pnyet.web.id

Page 39: Instalasi dan Konfigurasi DNS #1

.fin