際際滷

際際滷Share a Scribd company logo
Instalasi & Konfigurasi DNS Server




               Kopdar Komunitas Zimbra Indonesia #3
10 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.
   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.
S岳姻顎一岳顎姻油禽鰻皆
   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/bind-
history.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

More Related Content

Instalasi dan Konfigurasi DNS #1

  • 1. Instalasi & Konfigurasi DNS Server Kopdar Komunitas Zimbra Indonesia #3 10 April 2010 - Universitas Paramadina Jl. Gatot Subroto Kav. 97 Mampang, Jakarta
  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 6. 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.
  • 7. Ilustrasi?
  • 8. 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]):
  • 9. 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
  • 10. SOA (Start Of Authority) Mengidentifikasi awal dari zona otoritas TXT (Teks) teks string yang berisi data acak (sampai 255 byte) yang berhubungan dengan nama
  • 11. Bind sebagai DNS Server? Sejarah BIND Silahkan dilihat di http://www.isc.org/products/BIND/bind- history.html
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. # 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
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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.:)"
  • 21. 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:
  • 22. 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 };
  • 23. 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
  • 24. 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; };
  • 25. 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; };
  • 26. 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; }; };
  • 27. 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 };
  • 28. 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; }; };
  • 29. 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"; };
  • 30. # 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"; };
  • 31. # 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;}; }; };
  • 32. 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:
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. FAQ: id-zimbra [at] googlegroups.com david [at] pnyet.web.id
  • 39. .fin