Anda di halaman 1dari 39

Instalasi & Konfigurasi DNS Server

10 April 2010 - Universitas Paramadina Jl. Gatot Subroto Kav. 97 Mampang, Jakarta

Kopdar Komunitas Zimbra Indonesia #3

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.

Kenapa harus ada DNS?

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.

Komponen DNS?

Resolver Merupakan sebuah program klien yang berjalan di komputer pengguna, yang akan melakukan request ke DNS Recursive. Recursive DNS Server Mesin yang akan melakukan pencarian atas permintaan resolver danmesin yang akan memberikan jawaban atas permintaan tersebut. Authoritative DNS Server Adalah mesin yang bertanggung jawab atas sebuah domain, dan memberikan jawaban terhadap recursor.

StrukturDNS

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.

Ilustrasi?

Resource record?

Nama Nama domain mengacu pada catatan sumber daya Jenis Jenis catatan sumber daya: TTL Time To Live RR, yaitu berapa lama resolvers harus menyimpannya dalam cache sebelum menjadikannya expired Class Jenis 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. RDATA Data sumber daya aktual yang terkait dengan nama domain Main record DNS adalah sebagai berikut (lihat [RFC1035]):

A Alamat () Sebuah host 32-bit alamat IP Aaaa (Alamat IPv6) Sebuah alamat host dalam format IPv6 CNAME (Canonical Name) Menentukan sebuah alias untuk nama domain, yaitu FQDN berbeda yang dapat digunakan untuk merujuk ke host yang sama Key Server public key untuk TSIG dan DNSSEC MX (Mail eXchanger) Menetapkan daftar mail server yang mengirim surat untuk itu nama domain NS (Name Server) server nama otoritatif untuk domain PTR (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

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

Bind sebagai DNS Server?

Sejarah BIND Silahkan dilihat di http://www.isc.org/products/BIND/bindhistory.html

Instalasi BIND?

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

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

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

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

# 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.localhost Isi 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

Buat db.0 # vi db.0 $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.

Buat file db.255 # vi db.255 $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.

Buat file db.1.2.3 # vi db.1.2.3 $TTL 3h @ IN SOA ns.zimbra.web.id. hostmaster.zimbra.web.id. ( 2009121509 ; 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.

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.:)"

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:

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

};

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

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;

};

};

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;

};

};

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; };

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 };

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; }; };

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"; };

# Loopback address zone "localhost" { type master; file "master/db.localhost"; }; zone "0.0.127.in-addr.arpa" { type master; file "master/db.127.0.0"; }; # Special zones zone "255.in-addr.arpa" { type master; file "master/db.255"; }; zone "0.in-addr.arpa" { type master; file "master/db.0"; };

# Root zone zone "." { 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;}; }; };

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:

Isi dari file /usr/local/named/etc/rndc.conf: # Start of rndc.conf key "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

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

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

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

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

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

.fin

Anda mungkin juga menyukai