Menginstall dan Konfigurasi BIND

DNS Server 463 Setting up bind9 1:9.4.1-P1-3 ... Adding group `bind GID 111 ... Done. Adding system user `bind UID 104 ... Adding new user `bind UID 104 with group `bind ... Not creating home directory `varcachebind. wrote key file etcbindrndc.key Starting domain name service... bind [ OK ] BIND yang terinstall secara default sudah bisa digunakan sebagai caching only name server. Sebelum kita melakukan konfigurasi pada BIND, matikan terlebih dahulu daemon dari BIND dengan perintah berikut sudo etcinit.dbind9 stop Stopping domain name service... bind [ OK ] Pada Ubuntu, file-file konfigurasi dari BIND ada pada direktori etcbind,direktori ini berisikan file-file berikut: named.conf merupakan file konfigurasi utama dari BIND pada Ubuntu, file ini bisa dikatakan tidak perlu untuk dimodifikasi. File named.conf akan meload beberapa file lain yang terdapat pada direktori etcbind, yaitu: etcbinddb.0: File ini berisikan informasi untuk reverse lookup brodcast address 0. etcbinddb.127: Berisikan informasi reverse lookup loopback address 127. etcbinddb.255: Berisikan informasi reverse lookup untuk broadcast address 255. etcbinddb.empty: Berisikan informasi yang digunakan untuk nonroutable IP address berdasarkan RFC 1918 etcbinddb.local: Berisikan data hostname ke dalam IP address untuk loopback address 127.0.0.1 464 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu etcbinddb.root: Berisikan data hostname kedalam IP address untuk root name servers etcbindnamed.conf.local: Berisikan informasi mengenai zona dan IP address dimana BIND server menjadi sumber authoritative untuk zona ini. File inilah yang akan dimodifikasi jika kita ingin menambahkan zona pada name server yang kita konfigurasi etcbindnamed.conf.options: Mendefenisikan options- options yang mengatur BIND name server yang berjalan pada system ini. etcbindrndc.key: Berisikan default key clause yang akan digunakan oleh rndc dan BIND, konfigurasi default ini hanya untuk localhost. etcbindzones.rfc1918: Menyediakan informasi reverse lookup untuk setiap nonroutable IP address yang ditetapkan pada RFC 1918. Defaultnya file ini tidak diload oleh named.conf, jika ingin mengaktifkannya tambahkan baris berikut pada akhir dari file named.conf.local include etcbindzones.rfc1918 Master dan Slave Name Server Untuk lebih mempermudah pemahaman dalam mengkonfigurasi BIND menjadi master dan slave name server, ketentuan yang digunakan adalah: Konfigurasi Keterangan Lokasi File etcbind File zona akan ditempatkan pada etcbindzones{master atau slave} Untuk IN-ADDR.ARPA ditempatkan pada etcbindzones DNS Server 465 Domain Name scorvia.or.id IP Master DNS 192.168.0.253 IP Slave DNS 192.168.0.252 Nama Host Master DNS ns1.scorvia.or.id Nama Host Slave DNS ns2.scorvia.or.id Service lainnya mail.scorvia.or.id : 192.168.0.251 www.scorvia.or.id : 192.168.0.253 CNAME ns1.scorvia.or.id ftp.scorvia.or.id : 192.168.0.250 ldap.scorvia.or.id: 192.168.0.249 CNAME FileServer.scorvia.or.id Log File varlogbindscorvia.log Tabel 19.1 Konfigurasi Umum Konfigurasi diatas hanya untuk mempermudah anda didalam mengikuti langkah-langkah dalam mengkonfigurasi BIND DNS server. Sekarang kita akan mengkonfigurasi master name server pada host ns1.scorvia.or.id yang memiliki IP address 192.168.0.253. Perlu diingat jika kita membuat zona baru BIND pada Ubuntu, gunakan full path tempat file tersebut disimpan, jika tidak maka named daemon akan mencari file tersebut pada varcachebind. Sesuai dengan konvensi diatas, maka full path untuk zona master name server adalah etcbindzonesmaster dan reverse mapping ditempatkan pada etcbindzones Master Name Server Install BIND pada ns1.scorvia.or.id dengan menggunakan APT atau synaptic sudo apt-get install bind9 466 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Matikan service daemon bind terlebih dahulu sebelum kita konfigurasi sudo etcinit.dbind9 stop Selanjutnya buat direktori yang akan digunakan untuk menempatkan file-file zona dan log, konfigurasi juga ownership dari direktori ini sudo mkdir -p etcbindzonesmaster sudo chown -R bind.bind etcbindzones sudo mkdir varlogbind sudo chown -R root.bind varlogbind sudo chmod 775 varlogbind Sekarang kita buat zona untuk scorvia.or.id dan reverse mapping dari 192.168.0.253, buka file etcbindnamed.conf.local sudo vi etcbindnamed.conf.local Modifikasi file named.conf.local sehingga terlihat kurang lebih seperti dibawah ini Do any local configuration here Consider adding the 1918 zones here, if they are not used in your organization include etcbindzones.rfc1918; zone scorvia.or.id in { type master ; file etcbindzonesmasterdb.scorvia.or.id ; allow-transfer { 192.168.0.252 ; } ; allow-update { none ; } ; } ; reverse mapping zone 0.168.192.in-addr.arpa in { type master ; DNS Server 467 file etcbindzonesdb.192.168.0 ; allow-transfer { 192.168.0.252 ;} ; allow-update { none ; } ; } ; include etcbindzones.rfc1918 ; Keterangan dari isi file ini adalah: File named.conf, named.conf.local, named.conf.options akan menganggap sebuah baris sebagai komentar jika diawali dengan tanda ini komentar ini juga komentar ini juga komentar Mendefenisikan zona untuk “scorvia.or.id” yang diawali dengan keyword zone, diikuti dengan nama zona dan class default class dari zone adalah in untuk Internet. Format nya adalah zone “nama_domain” class { isi dengan konfigurasi untuk zone } ; Baris selanjutnya kita mendeklarasikan type master yang mengindikasikan server ini adalah masterprimary name server. Baris dibawahnya memberitahukan BIND tempat zona file untuk scorvia.or.id ditempatkan dengan menggunakan keyword file, isikan absolutefull path jika kita menggunakan relatif path maka BIND akan menganggap parent direktorinya ada pada varcachebind. File tersebut bernama db.scorvia.or.id yang ditempatkan di etcbindzonesmasterdb.scorvia.or.id. Menggunakan keyword allow-transfer untuk transfer zona, disini kita hanya mengizinkan transfer kepada host dengan IP address 192.168.0.252 yang akan dikonfigurasi menjadi slave name server. Kita juga tidak mengizinkan dynamic update dengan memberikan value none pada allow-update. Pada zona berikutnya kita deklarasikan reverse mapping dari IP address untuk scorvia.or.id, yaitu 0.168.192.in-addr.arpa lihat 468 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu penjelasan pada sub bab 19.1 mengenai reverse mapping IN- ADDR.ARPA. Statement yang lain sama dengan statement pada zona scorvia.or.id, kecuali nama file zona yang ditempatkan pada etcbindzonesdb.192.168.0. Baris terakhir dari named.conf.local, kita meng-include file zones.rfc1918 yang berisikan daftar IP non routable. Sekarang kita perlu mengedit isi file etcbindzones.rfc1918 ini, dengan meghapus baris yang berisikan IP untuk network yang kita gunakan, contohnya network yang digunakan pada buku ini adalah 192.168.024, untuk itu buka file etcbindzones.rfc1918 dengan teks editor sudo vi zones.rfc1918 Hapus satu baris berikut ini pada file tersebut, karena kita menggunakan jaringan 192.168 zone 168.192.in-addr.arpa { type master; file etcbinddb.empty; }; Isi lengkap dari file zone.rfc1918 yang telah dimodifikasi akan terlihat seperti dibawah ini zone 10.in-addr.arpa { type master; file etcbinddb.empty; }; zone 16.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 17.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 18.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 19.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 20.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 21.172.in-addr.arpa { type master; file etcbinddb.empty; }; DNS Server 469 zone 22.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 23.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 24.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 25.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 26.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 27.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 28.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 29.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 30.172.in-addr.arpa { type master; file etcbinddb.empty; }; zone 31.172.in-addr.arpa { type master; file etcbinddb.empty; }; Selanjutnya kita modifikasi file etcbindnamed.conf.options, untuk menambahkan options yang kita inginkan sudo vi named.conf.options Pada bagian options, kita tambahkan baris berikut version Not Available Now ; recursion yes ; serta beri tanda comment di depan listen-on-v6 { any; }; karena kita tidak menggunakan IPv6. Options version Not Available Now akan menyembunyikan versi dari BIND, hal ini berguna jika ada yang menyerang name server kita, baris selanjutnya membuat name server dalam mode recursive default dari BIND, jadi options ini boleh tidak ditulis. listen-on-v6 tidak perlu di aktifkan karena kita hanya menggunakan IPv4. Statement directory digunakan untuk 470 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu menentukan root direktori pada saat daemon bind berjalan. Jika ingin mengganti port yang digunakan hilangkan tanda comment pada query-source address dan ganti portnya. Defaultnya name server akan menggunakan port 53. Isi file named.conf.options lengkapnya bisa dilihat dibawah ini. options { directory varcachebind; If there is a firewall between you and nameservers you want to talk to, you might need to uncomment the query-source directive below. Previous versions of BIND always asked questions using port 53, but BIND 8.1 and later use an unprivileged port by default. query-source address port 53; If your ISP provided one or more IP addresses for stable nameservers, you probably want to use them as forwarders. Uncomment the following block, and insert the addresses replacing the all-0s placeholder. forwarders { 0.0.0.0; }; version Not Available Now ; recursion yes ; auth-nxdomain no; conform to RFC1035 listen-on-v6 { any; }; DNS Server 471 }; Logging clause logging { channel scorvia_log { file varlogbindscorvia.log versions 3 size 250k ; severity info ; print-time yes ; print-severity yes ; print-category yes ; }; category default { scorvia_log ; }; }; Pada named.conf.options, kita juga mendeklarasikan clause logging, disini kita membuat channel dengan nama scorvia_log dan menggunakan file logging sendiri yang ditempatkan pada varlogbindscorvia.log, statemen versions 3, digunakan untuk menentukan banyaknya backup file log jika file tersebut mencapai ukuran file maksimal yang ditentukan dengan statemen size. Sebelum log membuat file baru, maka file log yang lama akan direname terlebih dahulu, contohnya scorvia.log akan direname jadi scorvia.log.0. Jika kita tidak menentukan clause logging secara spesifik, log dari BIND akan dikirim kepada file varlogmessages. Format umum clause logging adalah: logging { channel nama_channel { channel_spesifikasi } ; category nama_category { nama_channel ; } } ; 472 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Statement severity info hanya akan me-log dengan prioritas info atau yang lebih tinggi. print-time, print-severity, dan print-category Jika bernilai yes, akan membuat log memprint tanggal, waktu, severity level serta kategori pada file log. Kita juga menentukan channel default untuk log ini yaitu menggunakan file yang sama. Output dari log tersebut seperti terlihat dibawah ini 23-Nov-2007 20:27:06.240 general: info: zone scorvia.or.idIN: loaded serial 2007112300 Sekarang kita akan membuat file zona untuk scorvia.or.id, yang disimpan pada direktori etcbindzonesmaster. File zona menggunakan tanda ; titik koma untuk menandakan sebuah baris sebagai komentar. sudo vi etcbindzonesmasterdb.scorvia.or.id Isi lengkap dari file zona ini terlihat seperti dibawah ini ; Data file untuk master zone scorvia.or.id TTL 86400 ; untuk 1d ORIGIN scorvia.or.id. ; IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. 2007112300 ; serial number 12h ; refresh 15m ; retry 3w ; expiry 2h ; minimum negative ttl ; ; name server RR untuk domain scorvia.or.id IN NS ns1.scorvia.or.id. ; sekunder name server IN NS ns2.scorvia.or.id. ; mail server RR 3w IN MX 10 mail.scorvia.or.id. DNS Server 473 ; domain hosts dan NS serta MX records IN A 192.168.0.253 ns1 IN A 192.168.0.253 ns2 IN A 192.168.0.252 mail IN A 192.168.0.251 ftp IN A 192.168.0.250 FileServer IN A 192.168.0.249 www IN CNAME ns1.scorvia.or.id. ldap IN CNAME FileServer.scorvia.or.id. Penjelasan mengenai isi dari zona file scorvia.or.id bisa dilihat pada sub bab 19.1. Selanjutnya kita juga harus membuat file zona untuk reverse mapping untuk IP 192.168.0.253, yang disimpan pada etcbindzonesdb.192.168.0. sudo vi etcbindzonesdb.192.168.0 ; Data file untuk reverse zone scorvia.or.id TTL 86400 ; untuk 1d ORIGIN 0.168.192.in-addr.arpa. ; IN SOA ns1.scorvia.or.id. hostmaster.scorvia.or.id. 2007112300 ; serial number 12h ; refresh 15m ; retry 3w ; expiry 2h ; minimum negative ttl ; ; name server RR untuk domain scorvia.or.id IN NS ns1.scorvia.or.id. ; sekunder name server IN NS ns2.scorvia.or.id. ; Pointer 474 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu 253 IN PTR ns1.scorvia.or.id. 252 IN PTR ns2.scorvia.or.id. 251 IN PTR mail.scorvia.or.id. 250 IN PTR ftp.scorvia.or.id. 249 IN PTR FileServer.scorvia.or.id. Perlu diperhatikan adalah penulisan nama domain harus dengan FQDN diakhiri dengan tanda titik diakhir domain seperti www.scorvia.or.id. memiliki tanda titik setelah id. Setelah file zona selesai dibuat, jangan lupa untuk memperbaiki ownership file pada direktori etcbindzones, jalankan perintah berikut sudo chown -R bind.bind etcbindzones Jalankan bind daemon dengan perintah sudo etcinit.dbind9 start Starting domain name service... bind [ OK ] Jika muncul tampilan seperti diatas, maka bind sukses dijalankan dan meload konfigurasi serta file zona yang telah dibuat, untuk memastikan apakah bind telah berjalan, lihat dengan perintah pgrep named 4291 ps aux | grep bind bind 4291 0.0 27.2 35464 7760 ? Ssl 20:42 0:00 usrsbinnamed -u bind cat varrunbindrunnamed.pid 4291 Jalankan salah satu dari perintah diatas untuk melihat apakah bind sudah berjalan, tentunya nomor PID yang terdapat pada komputer anda akan berbeda dengan yang ditampilkan pada buku ini. Jika ingin melihat file log dari bind, kita bisa melihat pada varlogdaemon.log untuk melihat log dari named. Untuk melihat log dari bind gunakan DNS Server 475 file log yang telah ditentukan pada file konfigurasi BIND. Kita bisa menggunakan perintah tail untuk melihat file log ini tail -n 50 varlogdaemon.log Nov 23 20:17:03 ns1 named[5754]: starting BIND 9.4.1-P1 - u bind Nov 23 20:17:03 ns1 named[5754]: found 1 CPU, using 1 worker thread Nov 23 20:17:03 ns1 named[5754]: loading configuration from etcbindnamed.conf Nov 23 20:17:03 ns1 named[5754]: listening on IPv4 interface lo, 127.0.0.153 Nov 23 20:17:03 ns1 named[5754]: listening on IPv4 interface eth0, 192.168.0.25353 ... Nov 23 20:17:03 ns1 named[5754]: command channel listening on 127.0.0.1953 Nov 23 20:17:03 ns1 named[5754]: command channel listening on ::1953 tail -n 50 varlogbindscorvia.log 23-Nov-2007 20:27:06.084 general: info: zone 0.in- addr.arpaIN: loaded serial 1 ... 23-Nov-2007 20:27:06.209 general: info: zone 0.168.192.in-addr.arpaIN: loaded serial 2007112300 23-Nov-2007 20:27:06.240 general: info: zone scorvia.or.idIN: loaded serial 2007112300 23-Nov-2007 20:27:06.244 general: info: zone localhostIN: loaded serial 1 23-Nov-2007 20:27:06.262 general: notice: running Perhatikan isi dari file log varlogbindscorvia.log, terlihat baris seperti ini 23-Nov-2007 20:27:06.262 general: notice: running 476 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Hal ini menandakan daemon BIND sudah berjalan, dan siap menerima query. Jika waktu anda menjalankan daemon bind mengalami kegagalan sudo etcinit.dbind9 start Starting domain name service... bind [ fail ] Lihat file log pada varlogdaemon.log untuk mengetahui penyebab kegagalannya tail varlogdaemon.log Nov 18 11:36:32 ns1 named[4045]: etcbindnamed.conf.local:25: open: etcbindzones.rfc1918.local: file not found Nov 18 11:36:32 ns1 named[4045]: loading configuration: file not found Nov 18 11:36:32 ns1 named[4045]: exiting due to fatal error Dari sini bisa kita ketahui, pada named.conf.local, kita menginclude file dengan nama zones.rfc1918.local, sedangkan nama file tersebut yang benar adalah zones.rfc1918. Perbaiki terlebih dahulu kesalahan tersebut, kemudian jalankan bind kembali, sekarang bind seharusnya sudah berjalan dengan baik. Jika kita lupa mengatur ownership dan permission direktori varlogbind, bind akan tetap berjalan, akan tetapi file log tersebut tidak akan ditulis, seperti terlihat dibawah ini dimana permission yang di set salah tail -n 20 varlogdaemon.log Nov 23 20:14:55 ns1 named[5660]: logging channel scorvia_log file varlogbindscorvia.log: permission denied Nov 23 20:14:55 ns1 named[5660]: isc_log_open varlogbindscorvia.log failed: permission denied Setelah daemon bind dipastikan berjalan dengan benar, sekarang kita harus menguji konfigurasi dari zona file yang telah kita buat. Untuk itu edit terlebih dahulu file etcresolv.conf, DNS Server 477 sudo vi etcresolv.conf search scorvia.or.id nameserver 192.168.0.253 nameserver 192.168.0.252 Disini kita menggunakan keyword search, yang otomatis melengkapinya jika kita tidak menyebutkan host dalam format FQDN, misalnya kita mengetikkan ssh ns1 Maka secara otomatis akan ditambahkan sehingga menjadi ns1.scorvia.or.id. Untuk keyword nameserver isikan dengan IP address yang digunakan oleh host dari name server, disini IP dari ns1 adalah 192.168.0.253. Simpan perubahan tersebut, kemudian restart interface networking sudo etcinit.dnetworking restart Reconfiguring network interfaces... [ OK ] Dengan command host kita bisa menguji konfigurasi name server host 127.0.0.1 1.0.0.127.in-addr.arpa domain name pointer localhost. Terlihat hasil diatas sudah benar karena reversed pointer dari 127.0.0.1 sudah menunjukkan kepada localhost. Lakukan hal yang sama untuk IP 192.168.0.253 host 192.168.0.253 253.0.168.192.in-addr.arpa domain name pointer ns1.scorvia.or.id. host 192.168.0.252 252.0.168.192.in-addr.arpa domain name pointer ns2.scorvia.or.id. host 192.168.0.251 251.0.168.192.in-addr.arpa domain name pointer mail.scorvia.or.id. 478 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu host 192.168.0.250 250.0.168.192.in-addr.arpa domain name pointer ftp.scorvia.or.id. host 192.168.0.249 249.0.168.192.in-addr.arpa domain name pointer FileServer.scorvia.or.id. host ns1 ns1.scorvia.or.id has address 192.168.0.253 host ns2 ns2.scorvia.or.id has address 192.168.0.252 host mail mail.scorvia.or.id has address 192.168.0.251 host ftp ftp.scorvia.or.id has address 192.168.0.250 host fileserver fileserver.scorvia.or.id has address 192.168.0.249 host mail.scorvia.or.id mail.scorvia.or.id has address 192.168.0.251 host www www.scorvia.or.id is an alias for ns1.scorvia.or.id. ns1.scorvia.or.id has address 192.168.0.253 host scorvia.or.id scorvia.or.id has address 192.168.0.253 scorvia.or.id mail is handled by 10 mail.scorvia.or.id. host ldap ldap.scorvia.or.id is an alias for FileServer.scorvia.or.id. FileServer.scorvia.or.id has address 192.168.0.249 DNS Server 479 Sekarang kita bisa menggunakan perintah dig dan nslookup untuk melakukan query pada master name server ini dig scorvia.or.id ; DiG 9.4.1-P1 scorvia.or.id ;; global options: printcmd ;; Got answer: ;; -HEADER- opcode: QUERY, status: NOERROR, id: 38095 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;scorvia.or.id. IN A ;; ANSWER SECTION: scorvia.or.id. 86400 IN A 192.168.0.253 ;; AUTHORITY SECTION: scorvia.or.id. 86400 IN NS ns1.scorvia.or.id. scorvia.or.id. 86400 IN NS ns2.scorvia.or.id. ;; ADDITIONAL SECTION: ns1.scorvia.or.id. 86400 IN A 192.168.0.253 ns2.scorvia.or.id. 86400 IN A 192.168.0.252 ;; Query time: 15 msec ;; SERVER: 192.168.0.25353192.168.0.253 ;; WHEN: Sun Nov 18 12:58:34 2007 ;; MSG SIZE rcvd: 115 480 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu nslookup scorvia.or.id Server: 192.168.0.253 Address: 192.168.0.25353 Name: scorvia.or.id Address: 192.168.0.253 nslookup www.google.com Server: 192.168.0.253 Address: 192.168.0.25353 Non-authoritative answer: www.google.com canonical name = www.l.google.com. Name: www.l.google.com Address: 66.249.89.99 Name: www.l.google.com Address: 66.249.89.104 Name: www.l.google.com Address: 66.249.89.147 Pada nslookup yang terakhir, terlihat bahwa output yang diberikan adalah Non authoritative karena kita melakukan query kepada www.google.com. Selesai sudah proses mengkonfigurasi master name server untuk zona scorvia.or.id. Slave Name Server Sekarang kita akan melanjutkan proses mengkonfigurasi slavesecondary name server. Slave name server dijalankan pada host ns2.scorvia.or.id dengan IP 192.168.0.252. Install BIND 9 sudo apt-get install bind9 sudo etcinit.dbind9 stop Selanjutnya buat direktori tempat file konfigurasi ini dan set ownership serta permissionnya. sudo mkdir -p etcbindzonesslave DNS Server 481 sudo chown -R bind.bind etcbindzones sudo mkdir varlogbind sudo chown -R root.bind varlogbind sudo chmod 775 varlogbind Edit file etcbindnamed.conf.local sudo vi etcbindnamed.conf.local Do any local configuration here Consider adding the 1918 zones here, if they are not used in your organization include etcbindzones.rfc1918; zone scorvia.or.id in { type slave ; file etcbindzonesslavedb.scorvia.or.id ; masters {192.168.0.253 ; } ; allow-notify { 192.168.0.253 ; } ; } ; reverse mapping zone 0.168.192.in-addr.arpa in { type slave ; file etcbindzonesdb.192.168.0 ; masters { 192.168.0.253 ; } ; allow-notify { 192.168.0.253 ; } ; } ; 482 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu include etcbindzones.rfc1918 ; Pada statemen type menggunakan slave yang memberitahukan bahwa name server ini akan bertindak sebagai slave name server. Statement masters menentukan IP address dari master name server yang akan ditransfer file zonanya. allow-notify diisi dengan IP address dari master name server. Edit file etcbind zones.rfc1918, sehingga terlihat seperti pada master name server, dengan mendelete baris dari alamat IP jaringan yang digunakan sudo vi zones.rfc1918 delete baris ini zone 168.192.in-addr.arpa { type master; file etcbinddb.empty; }; Sekarang buka file etcbindnamed.conf.options, yang isinya kurang lebih sama dengan master name server sudo vi named.conf.options options { directory varcachebind; If there is a firewall between you and nameservers you want to talk to, you might need to uncomment the query-source directive below. Previous versions of BIND always asked questions using port 53, but BIND 8.1 and later use an unprivileged port by default. query-source address port 53; If your ISP provided one or more IP addresses for stable nameservers, you probably want to use them as forwarders. DNS Server 483 Uncomment the following block, and insert the addresses replacing the all-0s placeholder. forwarders { 0.0.0.0; }; version Not Available Now ; recursion yes ; auth-nxdomain no; conform to RFC1035 listen-on-v6 { any; }; }; Logging clause logging { channel scorvia_log { file varlogbindscorvia.log versions 3 size 250k ; severity info ; print-time yes ; print-severity yes ; print-category yes ; } ; category default { scorvia_log ; } ; } ; Untuk slave name server, kita tidak perlu membuat file zona, karena file ini akan ditransfer dari master name server. Sekarang jalankan daemon bind dengan perintah berikut 484 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu sudo etcinit.dbind9 start Starting domain name service... bind [ OK ] Jika tidak ada error pada konfigurasi yang dibuat, seharusnya daemon bind sudah berjalan dengan baik. Gunakan langkah-langkah yang telah diperlihatkan pada master name server. Begitu daemon bind berjalan, maka proses transfer zona dari master name server akan dimulai, hal ini bisa diperhatikan melalui file log pada varlogbindscorvia.log tail -n 50 varlogbindscorvia.log 23-Nov-2007 20:42:22.142 general: notice: running 23-Nov-2007 20:42:22.451 general: info: zone scorvia.or.idIN: Transfer started. 23-Nov-2007 20:42:22.477 xfer-in: info: transfer of scorvia.or.idIN from 192.168.0.25353: connected using 192.168.0.25253654 23-Nov-2007 20:42:22.727 general: info: zone scorvia.or.idIN: transferred serial 2007112300 23-Nov-2007 20:42:22.729 xfer-in: info: transfer of scorvia.or.idIN from 192.168.0.25353: end of transfer 23-Nov-2007 20:42:22.748 notify: info: zone scorvia.or.idIN: sending notifies serial 2007112300 23-Nov-2007 20:42:22.777 general: info: zone 0.168.192.in-addr.arpaIN: Transfer started. 23-Nov-2007 20:42:22.782 xfer-in: info: transfer of 0.168.192.in-addr.arpaIN from 192.168.0.25353: connected using 192.168.0.25242004 23-Nov-2007 20:42:22.792 general: info: zone 0.168.192.in-addr.arpaIN: transferred serial 2007112300 23-Nov-2007 20:42:22.793 xfer-in: info: transfer of 0.168.192.in-addr.arpaIN from 192.168.0.25353: end of transfer 23-Nov-2007 20:42:22.796 notify: info: zone 0.168.192.in- addr.arpaIN: sending notifies serial 2007112300 DNS Server 485 Sedangkan pada master name server, log file pada saat proses transfer akan terlihat kurang lebih seperti ini tail -n 50 varlogbindscorvia.log 23-Nov-2007 20:27:06.264 notify: info: zone scorvia.or.idIN: sending notifies serial 2007112300 23-Nov-2007 20:27:06.266 notify: info: zone 0.168.192.in- addr.arpaIN: sending notifies serial 2007112300 23-Nov-2007 20:42:48.428 xfer-out: info: client 192.168.0.25253654: transfer of scorvia.or.idIN: AXFR started 23-Nov-2007 20:42:48.439 xfer-out: info: client 192.168.0.25253654: transfer of scorvia.or.idIN: AXFR ended 23-Nov-2007 20:42:48.553 xfer-out: info: client 192.168.0.25242004: transfer of 0.168.192.in- addr.arpaIN: AXFR started 23-Nov-2007 20:42:48.555 xfer-out: info: client 192.168.0.25242004: transfer of 0.168.192.in- addr.arpaIN: AXFR ended Jika terlihat seperti diatas, maka master name server dan slave name server sudah bisa digunakan oleh client. Sekarang edit file etcresolv.conf pada ns2.scorvia.or.id sudo vi etcresolv.conf search scorvia.or.id nameserver 192.168.0.252 nameserver 192.168.0.253 Lakukan perintah host untuk melakukan pengujian seperti pada master name server untuk semua host dan alias yang ada pada zona file. Untuk melihat zona file yang terbentuk dari hasil transfer zona bisa menggunakan perintah berikut cat etcbindzonesslavedb.scorvia.or.id cat etcbindzonesdb.192.168.0 486 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Konfigurasi client untuk menggunakan name server ini, pada client yang menggunakan Linux, isi dari file etcresolv.conf akan terlihat seperti ini. search scorvia.or.id nameserver 192.168.0.253 nameserver 192.168.0.252 Jangan lupa untuk merestart interfaces jaringan menggunakan perintah sudo etcinit.dnetworking restart. Pada client Windows, konfigurasinya kurang lebih terlihat seperti pada gambar berikut ini Gambar 19.3 Konfigurasi DNS pada client Windows Jika menggunakan client Linux, anda bisa menggunakan perintah host, dig, nslookup untuk melihat settingan name server pada client sudah benar atau ada yang salah. Pada Windows, bisa menggunakan nslookup. DNS Server 487 Caching dan Forwarding Name Server Caching name server berguna untuk mempercepat proses query dari client, karena jika ada request yang sama maka name server akan melihat langsung pada cachenya. Forwarding name server berfungsi untuk memforward query dari client kepada name server lain. Sebagai contoh kita berlangganan akses internet menggunakan Telkom Speedy, maka kita mengkonfigurasi BIND untuk menjadi caching dan forwarding name server, dimana setiap request dari client akan di caching dan di forward ke DNS telkom Speedy. Name server ini tidak memiliki authotitative terhadap sebuah zona. Biasanya Caching dan Forwarding name server digunakan pada gateway. Pada bab sebelumnya kita sudah mengkonfigurasi komputer gateway yang memiliki IP address 192.168.0.254. Konfigurasi ini terpisah dengan konfigurasi pada master dan slave name server. Disini dianggap anda hanya menggunakan BIND untuk caching dan forwarding dan tidak ingin membangun master dan slave name server. Install BIND pada komputer yang digunakan untuk gateway sudo apt-get install bind9 sudo etcinit.dbind9 stop Konfigurasi yang dilakukan hanya perlu mengedit file etcbindnamed.conf.options sudo vi named.conf.options Hilangkan tanda komentar yang terdapat didepan baris blok statement forwarders, kemudian ganti IP addressnya dengan IP address dari DNS ISP yang digunakan, disini penulis menggunakan telkom Speedy, isi dari file etcbindnamed.conf.options kurang lebih terlihat seperti dibawah ini options { directory varcachebind; If there is a firewall between you and nameservers you want to talk to, you might need to uncomment the query-source 488 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu directive below. Previous versions of BIND always asked questions using port 53, but BIND 8.1 and later use an unprivileged port by default. query-source address port 53; If your ISP provided one or more IP addresses for stable nameservers, you probably want to use them as forwarders. Uncomment the following block, and insert the addresses replacing the all-0s placeholder. forwarders { 202.134.0.155; 202.134.2.5; }; version Not Available Now ; recursion yes ; auth-nxdomain no; conform to RFC1035 listen-on-v6 { any; }; }; Sekarang jalankan program daemon bind dengan perintah sudo etcinit.dbind9 start Konfigurasi file etcresolv.conf pada host yang dijadikan sebagai gateway sudo vi etcresolv.conf DNS Server 489 Disini kita menggunakan IP pada interfaces dari BIND listening dan ditambahkan dengan IP dari ISP, isi dari resolv.conf tersebut kurang lebih seperti dibawah ini nameserver 192.168.0.254 nameserver 202.134.0.155 nameserver 202.134.2.5 Restart interfaces jaringan sudo etcinit.dnetworking restart Sekarang gunakan perintah dig atau nslookup dari komputer gateway ini untuk melihat apakah sudah berjalan dengan baik konfigurasinya dig google.com ; DiG 9.3.4 google.com ;; global options: printcmd ;; Got answer: ;; -HEADER- opcode: QUERY, status: NOERROR, id: 45444 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 165 IN A 64.233.167.99 google.com. 165 IN A 64.233.187.99 google.com. 165 IN A 72.14.207.99 ;; AUTHORITY SECTION: google.com. 166356 IN NS ns1.google.com. google.com. 166356 IN NS ns2.google.com. 490 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu google.com. 166356 IN NS ns3.google.com. google.com. 166356 IN NS ns4.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 315387 IN A 216.239.32.10 ns2.google.com. 315401 IN A 216.239.34.10 ns3.google.com. 315387 IN A 216.239.36.10 ns4.google.com. 315387 IN A 216.239.38.10 ;; Query time: 320 msec ;; SERVER: 192.168.0.25453192.168.0.254 ;; WHEN: Wed Aug 8 17:50:45 2007 ;; MSG SIZE rcvd: 212 Perhatikan baris ;; Query time: 320 msec Jika kita melakukan perintah dig untuk yang kedua kalinya, maka waktu yang dibutuhkan untuk melakukan query akan berkurang, karena sekarang name server akan mengambil dari cachenya. Jika sudah berjalan dengan baik, pada client anda bisa mengkonfigurasi interfaces jaringannya dengan mengarahkan DNS server kepada IP 192.168.0.254. Kita juga bisa menggunakan caching name server ini untuk memblok situs-situs yang tidak diinginkan seperti situs ads adtology.com, doubleclick.net, hal ini disebut sebagai bogus zone file, karena zona ini bersifat “fake” dan mereferral kepada loopback address. Langkah-langkah untuk mengkonfigurasi caching name server yang telah kita konfigurasi diatas agar bisa bertindak sebagai bogus name server untuk domain yang kita inginkan adalah sebagai berikut, edit file etcbindnamed.conf.local sudo vi etcbindnamed.conf.local Isikan baris berikut pada file named.conf.local zone “doubleclick.net” { DNS Server 491 type master ; file “etcbindzonesbogusfakes.doublelick.net” ; } ; Selanjutnya kita buat direktori untuk menempatkan file fakes. doublelick.net sudo mkdir -p etcbindzonesbogus sudo chown -R bind.bind etcbindzones Buat file fakes.doublelick.net sudo vi \ etcbindzonesbogusfakes.doublelick.net Isikan baris dibawah ini kedalam file tersebut TTL 86400 IN SOA gateway.scorvia.or.id. hostmaster.scorvia.or.id. 2007112300 ; serial number 12h ; refresh 15m ; retry 3w ; expiry 2h ; minimum ; IN NS gateway.scorvia.or.id. IN A 127.0.0.1 IN A 127.0.0.1 Simpan hasil perubahan ini, kemudian perbaiki ownership dari direktori tempat kita menyimpan file ini sudo chown -R bind.bind etcbindzones Restart name server yang digunakan sudo etcinit.dbind9 restart 492 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Sekarang setiap kali lookup kepada doubleclick.net akan menuju kepada 127.0.0.1 sehingga jika client membuka website yang memiliki ads dari domain doubleclick.net, ads tersebut tidak akan di load dan ditampilkan pada browser, hal ini akan membuat proses browsing menjadi lebih cepat. Hal diatas bisa juga diimplementasikan didalam memblock situs-situs tertentu yang tidak ingin dikunjungi oleh user yang menggunakan nameserver anda. Menggunakan ACL Dengan ACL atau Access Control List, kita bisa mengatur client yang dibolehkan untuk mengakses name server, selain itu acl juga bisa kita gunakan didalam menentukan IP address yang diizinkan untuk mentransfer zona, hal ini berguna jika slave name server yang digunakan lebih dari satu sehingga kita bisa membuat acl berisikan daftar IP slave name server. Pada buku ini penulis akan memperlihatkan penggunaan acl untuk membatasi akses pada name server yang sudah kita buat. Alamat jaringan yang digunakan disini adalah 192.168.0.024, kita tidak menginginkan client dengan IP address 192.168.0.25 untuk mengakses name server, sedangkan client yang lain dibebaskan untuk mengaksesnya, untuk itu kita modifikasi kembali settingan pada name.conf.options, sudo vi named.conf.options Disini kita mendeklarasikan clause acl dengan nama my_network yang berisikan IP yang tidak diizinkan untuk mengakses jaringan ditandai dengan tanda yaitu IP 192.168.0.25 acl my_network { 192.168.0.25232 ; 192.168.0.024 ; } ; options { directory varcachebind; If there is a firewall between you and nameservers you want DNS Server 493 to talk to, you might need to uncomment the query-source directive below. Previous versions of BIND always asked questions using port 53, but BIND 8.1 and later use an unprivileged port by default. query-source address port 53; If your ISP provided one or more IP addresses for stable nameservers, you probably want to use them as forwarders. Uncomment the following block, and insert the addresses replacing the all-0s placeholder. forwarders { 0.0.0.0; }; version Not Available Now ; recursion yes ; auth-nxdomain no; conform to RFC1035 listen-on-v6 { any; }; allow-query { my_network ; } ; }; Pada clause options, kita gunakan statement allow-query untuk mengontrol agar query yang diizinkan hanya pada acl my_network. Simpan hasil perubahan ini, kemudian restart name server sudo etcinit.dbind9 restart 494 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Sekarang kita akan mencoba mengakses name server ini dari client yang memiliki IP 192.168.0.25, dimana query yang berasal dari name server ini akan di tolak. dig scorvia.or.id ; DiG 9.4.1-P1 scorvia.or.id ;; global options: printcmd ;; Got answer: ;; -HEADER- opcode: QUERY, status: REFUSED, id: 13471 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;scorvia.or.id. IN A ;; Query time: 77 msec ;; SERVER: 192.168.0.25353192.168.0.253 ;; WHEN: Fri Nov 23 21:06:42 2007 ;; MSG SIZE rcvd: 31 nslookup scorvia.or.id Server: 192.168.0.253 Address: 192.168.0.25353 server cant find scorvia.or.id.scorvia.or.id: REFUSED host ns1 Host ns1 not found: 5REFUSED host ns1.scorvia.or.id Host ns1.scorvia.or.id.scorvia.or.id not found: 5REFUSED DNS Server 495 Jika kita perhatikan pada log dari name server yang kita gunakan, pada contoh diatas penulis memblok query dari client 192.168.0.25 pada name server 192.168.0.253, hasilnya kurang lebih seperti ini 23-Nov-2007 21:07:00.720 security: info: client 192.168.0.2532779: query 253.0.168.192.in- addr.arpaPTRIN denied 23-Nov-2007 21:07:00.723 security: info: client 192.168.0.2532779: query 253.0.168.192.in- addr.arpaPTRIN denied 23-Nov-2007 21:07:07.789 security: info: client 192.168.0.2532779: query scorvia.or.idAIN denied 23-Nov-2007 21:07:14.421 security: info: client 192.168.0.2532779: query scorvia.or.idAIN denied 23-Nov-2007 21:07:14.427 security: info: client 192.168.0.2532779: query scorvia.or.id.scorvia.or.idAIN denied 23-Nov-2007 21:08:47.005 security: info: client 192.168.0.2532779: query ns.scorvia.or.idAIN denied 23-Nov-2007 21:08:47.013 security: info: client 192.168.0.2532780: query cache nsAIN denied 23-Nov-2007 21:08:48.896 security: info: client 192.168.0.2532780: query ns1.scorvia.or.idAIN denied 23-Nov-2007 21:08:48.899 security: info: client 192.168.0.2532781: query cache ns1AIN denied 23-Nov-2007 21:08:54.716 security: info: client 192.168.0.2532781: query ns1.scorvia.or.idAIN denied 23-Nov-2007 21:08:54.720 security: info: client 192.168.0.2532782: query ns1.scorvia.or.id.scorvia.or.idAIN denied Untuk mempelajari lebih jauh lagi mengenai bind, anda bisa menginstall package bind-doc. Pada buku ini hanya memperkenalkan konsep penggunaan BIND untuk master, slave serta caching dan forwarding name server. B B A A B B 2 2 LAMP SERVER Pada Bab ini akan dijelaskan mengenai: 20.1 Apache 2 Web Server 20.2 PHP 5 20.3 MYSQL 5 20.4 Blog dengan Wordpress BAB ini berkaitan dengan BAB 19 yang membahas mengenai DNS server, dimana disini menggunakan alamat URI Uniform Resource Identifier http:www.scorvia.or.id yang sudah dikonfigurasi menggunakan BIND 9 pada BAB 19. Jika anda tidak menggunakan DNS, maka ganti nama URI tersebut dengan IP address.

20.1 Apache 2 Web Server

Apache http:www.apache.org merupakan web server yang berada pada urutan pertama berdasarkan survey dari Netcraft www.netcraft.com. Apache berasal dari code yang dibuat oleh NCSA pada awal 1995, pada saat itu developer utama dari web server ini keluar dari NCSA, sehingga proyek server ini menjadi terbengkalai. Dari sini akhirnya para pengguna NCSA Web Server mulai melakukan pertukaran terhadap patch yang dibuat untuk NCSA Web Server, dan memicu lahirnya Apache Group. Apache sendiri bisa dibilang berasal dari kata A patchy web server. Versi pertama dari Apache 0.6.2 dirilis pada April 2005 oleh Apache Group. Pada saat ini, Apache sudah memasuki versi 2.x, dimana untuk versi 1.3.x masih tetap dirilis. Apache menjadi populer karena: 498 Pake Ubuntu Yuk Dijamin ga bakalan kena usus buntu Portable: Apache tidak hanya untuk NIX, tapi juga berjalan pada OS Windows, Mac OS, Amiga dan OS lainnya. Flexible: Didesign secara modular sehingga sangat mudah untuk dikonfigurasi, melakukan penambahan fitur baru. Selain itu Apache bekerja dengan baik untuk scripting language seperti Perl, PHP, CGI. Open Source: Apache dapat digunakan dengan free, source code bisa diambil pada http:www.apache.org Untuk mengetahui sejarah dan fitur-fitur dari Apache 2 bisa membaca manual atau mengunjungi website dari Apache di http:www.apache.org dan http:httpd.apache.orgdocs2.2faq. Pada Ubuntu, terdapat dua package Apache, yaitu apache dan apache2. Packages apache merupakan versi 1.3.x sedangkan apach2 menggunakan versi 2.x. Pada buku ini akan menggunakan packages apache2. Untuk menginstall Apache 2 pada Ubuntu gunakan perintah apt-get install apache2. Pada buku ini Apache 2 web server akan digunakan bersama dengan PHP 5 untuk web scriptingnya. Perintah berikut akan menginstall Apache 2 web server. sudo apt-get install apache2 Setelah proses installasi selesai, maka kita bisa melihat hasilnya dengan menggunakan browser, ketik pada browser alamat http:www.scorvia.or.id, akan terlihat seperti gambar dibawah Gambar 20.1 Tampilan default Apache Web Server