instalasi dan konfigurasi dns #1

Post on 18-Jun-2015

933 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Instalasi & Konfigurasi DNS Server

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

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.

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?

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?

✔ Struktur DNS

✔ 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?

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?

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

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

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

✔ Bind sebagai DNS Server?

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?

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.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

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.

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.

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.

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

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

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.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

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

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

top related