BIND9 ( DNS Server ) dengan Routing

Lembar Analisa-9

Kita akan membuat router pc dengan 2 pc client dimana a memiliki ip 192.168.0.1 dan b memiliki ip 10.0.0.1 .

Jika a adalah a.itpolnes.com dan b adalah b.itpolnes.com maka pada router ns-nya adalah itpolnes.com.

  • Pertama – tama kita atur ip pada router sesuai dengan ip pc client yang terhubung pada pc router kemudian ping untuk menguji koneksi

root@lab-2-desktop:/home/lab-2# ifconfig eth1 10.255.255.255

root@lab-2-desktop:/home/lab-2# ping 10.0.0.1

PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.

64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.131 ms

64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.112 ms

64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.130 ms

root@lab-2-desktop:/home/lab-2# ifconfig eth3 192.168.0.254

root@lab-2-desktop:/home/lab-2# ping 192.168.0.1

PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.

64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.815 ms

64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.111 ms

64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.100 ms

  • Pada router kita cek gateway yang telah ditambahkan oleh client

root@lab-2-desktop:/home/lab-2# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3

10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth1

  • Kita forward antar pc client agar pc client dapat saling berhubungan

root@lab-2-desktop:/home/lab-2# sysctl -w net.ipv4.ip_forward=1

net.ipv4.ip_forward = 1

  • Kita install BIND9 pada router

root@lab-2-desktop:/home/lab-2# sudo apt-get update

root@lab-2-desktop:/home/lab-2# sudo apt-get install bind9

  • Setelah itu kita konfigurasi BIND9

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/named.conf.local

Kita atur seperti dibawah ini.

//

// Do any local configuration here

//

// Consider adding the 1918 zones here, if they are not used in your

// organization

//include “/etc/bind/zones.rfc1918″;

zone “itpolnes.com” {

type master;

file “/etc/bind/db.itpolnes.com”;

};

  • Kemudian kita restart

root@lab-2-desktop:/home/lab-2# sudo /etc/init.d/bind9 restart

  • Kita konfigurasi lagi /etc/bind/named.conf.local

tambahkan :

zone “254.0.168.192.in-addr.arpa” {

type master;

notify no;

file “/etc/bind/db.192″;

};

  • Kita konfigurasi /etc/bind/db.itpolnes.com

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/db.itpolnes.com

GNU nano 2.0.7 File: /etc/bind/db.itpolnes.com

;

; BIND data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.itpolnes.com. root.itpolnes.com. (

1 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.itpolnes.com.

@ IN A 192.168.0.254

@ IN A 10.255.255.254

a IN A 192.168.0.1

router IN A 192.168.0.254

  • Kita konfigurasi /etc/bind/db.192.com

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/db.192

GNU nano 2.0.7 File: /etc/bind/db.192

;

; BIND reverse data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.itpolnes.com. root.itpolnes.com. (

2 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.

254 IN PTR ns.itpolnes.com.

254 IN PTR router.itpolnes.com.

1 IN PTR a.itpolnes.com.

  • Kita ping itpolnes.com

root@lab-2-desktop:/home/lab-2# ping itpolnes.com

PING itpolnes.com (192.168.0.254) 56(84) bytes of data.

64 bytes from router.itpolnes.com (192.168.0.254): icmp_seq=1 ttl=64 time=0.025 ms

64 bytes from ns.itpolnes.com (192.168.0.254): icmp_seq=2 ttl=64 time=0.018 ms

64 bytes from router.itpolnes.com (192.168.0.254): icmp_seq=3 ttl=64 time=0.024 ms

  • Kita ping juga itpolnes.com dari pc client a, jika tidak bisa maka lakukan perintah berikut

root@lab-2-desktop:/home/lab-2# sudo nano /etc/resolv.conf

ketikkan : server 192.168.0.254

  • Copy db.192 ke db.10

root@lab-2-desktop:/home/lab-2# sudo cp /etc/bind/db.192 /etc/bind/db.10

  • Konfigurasi db.10

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/db.10

GNU nano 2.0.7 File: /etc/bind/db.10

;

; BIND reverse data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.itpolnes.com. root.itpolnes.com. (

2 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.

254 IN PTR ns.itpolnes.com.

254 IN PTR router.itpolnes.com.

1 IN PTR b.itpolnes.com.

  • Sedangkan pada db.itpolnes.com ditambahkan

b IN A 10.0.0.1

  • Restart

root@lab-2-desktop:/home/lab-2# sudo /etc/init.d/bind9 restart

  • Cek koneksi

root@lab-2-desktop:/home/lab-2# nslookup

> ns.itpolnes.com

Server: 192.168.0.254

Address: 192.168.0.254#53

** server can’t find ns.itpolnes.com: NXDOMAIN

> b.itpolnes.com

Server: 192.168.0.254

Address: 192.168.0.254#53

Name: b.itpolnes.com

Address: 10.0.0.1

> router.itpolnes.com

Server: 192.168.0.254

Address: 192.168.0.254#53

Name: router.itpolnes.com

Address: 192.168.0.254

> exit

Pembuatan DNS server menggunakan BIND9

  • Jika kita ingin membangun sebuah dns server pada Linux maka kita harus pastikan bahwa kita terhubung dengan server. Ketikkan Perintah berikut :

lab-2@lab-2-desktop:~$ sudo su

[sudo] password for lab-2:

root@lab-2-desktop:/home/lab-2# mii-tool

eth1: negotiated 100baseTx-FD flow-control, link ok

eth2: no link

eth3: no link

root@lab-2-desktop:/home/lab-2# ifconfig eth1 192.168.0.111

root@lab-2-desktop:/home/lab-2# ifconfig

eth1 Link encap:Ethernet HWaddr 00:19:d1:18:db:8b

inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0

inet6 addr: fe80::219:d1ff:fe18:db8b/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:183 errors:0 dropped:0 overruns:0 frame:0

TX packets:87 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:35143 (35.1 KB) TX bytes:14276 (14.2 KB)

eth2 Link encap:Ethernet HWaddr 00:02:44:72:1d:f1

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Interrupt:22 Base address:0×1000

eth3 Link encap:Ethernet HWaddr 00:11:95:c7:0b:cd

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Interrupt:21

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:310 errors:0 dropped:0 overruns:0 frame:0

TX packets:310 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:20416 (20.4 KB) TX bytes:20416 (20.4 KB)

  • Itu berarti kita telah mengatur IP kita dan kita uji koneksi ke server yang memiliki ip 192.168.0.1

root@lab-2-desktop:/home/lab-2# ping 192.168.0.1

PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.

64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.378 ms

64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.373 ms

64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=0.379 ms

64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=0.367 ms

^Z

[1]+ Stopped ping 192.168.0.1

  • Ketikkan Perintah Update dan install BIND 9 pada pc kita

root@lab-2-desktop:/home/lab-2# sudo apt-get update

root@lab-2-desktop:/home/lab-2# sudo apt-get install bind9

  • Setelah BIND 9 terinstall, maka kita atur konfigurasinya

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/named.conf.local

** Setelah itu kita ketikkan perintah berikut pada nano editor

//

// Do any local configuration here

//

// Consider adding the 1918 zones here, if they are not used in your

// organization

//include “/etc/bind/zones.rfc1918″;

zone “example.com” {

type master;

file “/etc/bind/db.example.com”;

};

  • Setelah itu ketikkan syntax berikut

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/db.example.com

GNU nano 2.0.7 File: /etc/bind/db.example.com

;

; BIND data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.example.com. root.example.com. (

1 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.example.com.

@ IN A 192.168.0.111

box IN A 192.168.0.111

  • Jika sudah maka kita buat bagiab reverse-nya, Untuk itu kita ketikkan perintah

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/named.conf.local

dan tambahkan perintah berikut dibawah perintah yang sudah ada

zone “111.0.168.192.in-addr.arpa” {

type master;

notify no;

file “/etc/bind/db.192″;

};

  • Kemudian ketikkan perintah

root@lab-2-desktop:/home/lab-2# sudo nano /etc/bind/db.192

GNU nano 2.0.7 File: /etc/bind/db.192

;

; BIND reverse data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.example.com. root.example.com. (

2 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.

111 IN PTR ns.example.com.

  • Kemudian kita restart BIND 9

root@lab-2-desktop:/home/lab-2# sudo /etc/init.d/bind9 restart

* Stopping domain name service… bind9 [ OK ]

* Starting domain name service… bind9 [ OK ]

  • Uji DNS yang telah ada

root@lab-2-desktop:/home/lab-2# nslookup example.com

Server: 192.168.0.111

Address: 192.168.0.111#53

Name: example.com

Address: 192.168.0.111

root@lab-2-desktop:/home/lab-2# dig -x example.com

; <<>> DiG 9.5.1-P2.1 <<>> -x example.com

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 45007

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;com.example.in-addr.arpa. IN PTR

;; Query time: 24 msec

;; SERVER: 192.168.0.111#53(192.168.0.111)

;; WHEN: Tue Jun 1 13:53:19 2010

;; MSG SIZE rcvd: 42

AGLET


Aglet (Mobile Agent)

Mobile agent ialah agen yang mempunyai kemampuan berpindah-pindah dalam jaringan (contohnya pada jaringan World Wide Web), berinteraksi dengan host-host asing, mengumpulkan informasi berdasarkan pengguna, dan mengembalikannya ke pengirim setelah melakukan tugasnya. Mobile agent ini diimplementasikan oleh remote program. Hal-hal yang berkenaan dengan pemrograman remote juga dapat diterapkan pada mobile agent seperti :
• Penamaan Program – memberikan nama kepada agen untuk membedakannya dengan agen yang lain.
• Autentifikasi program – autentifikasi implementor dari program agen.
• Migrasi Program – memindahkan program dari satu mesin ke mesin lainnya.
• Keamanan Program – memastikan program tidak merusak mesin pengeksekusinya.
Salah satu contoh mobile agent ialah agen monitoring data stok dan penjualan yaitu agen yang secara mandiri bertugas untuk memonitor perubahan data, melaporkan kepada pengirimnya jika terjadi perubahan data pada basis data yang dimonitor. Agen monitoring sangat berguna bagi sistem yang mengalami perubahan secara dinamis, dimana perubahan data tersebut mempunyai pengaruh yang besar pada sistem secara keseluruhan. Dalam implementasinya agen jenis ini dapat menggunakan protokol HTTP (Hypertext Transfer Protocol) maupun ATP (Aglets Transfer Protocol) untuk mengakses informasi di dalam basis data yang terhubung dalam jaringan web. Sedangkan untuk mengakses ke basis data dapat digunakan KQML atau bahasa komunikasi agen lainnya untuk komunikasi antar agen.

1. Keuntungan Mobile Agent
Dibandingkan dengan teknologi agen statis, mobile agent mempunyai beberapa keuntungan yaitu :
- Mengurangi Beban Jaringan

Pada sistem yang terdistribusi komunikasi antar bagian sistem sangat tergantung pada protokol komunikasi yang melibatkan banyak interaksi untuk menyelesaikan tugas yang diberikan. Hal ini menyebabkan, trafic jaringan tinggi. Dengan mobile agent dapat dimungkinkan untuk mengemas suatu aplikasi, mengirimkannya ke host tujuan dan kemudian interaksi dapat terjadi secara lokal.

Gambar 2.14. Mobile Agent mengurangi trafik jaringan

- Efisiensi sumber daya.
Konsumsi sumber daya (CPU dan memori) dapat dihemat, sebab mobile agent bekerja sesuai dengan tugas yang diberikan yaitu pada satu node pada satu waktu. Node yang lain tidak menjalankan agen sampai node tersebut memerlukannya.

- Menanggulangi latency jaringan.
Sistem real-time yang kritis perlu tanggap terhadap perubahan lingkungannya secara real-time. Keterlambatan tanggapan yang diakibatkan oleh masalah jaringan harus dihindari. Mobile agent menawarkan suatu pemecahan dengan mengirimkan agen ke tujuan dan dieksekusi secara lokal.

- Eksekusi secara Asynchronous dan Autonomous.
Untuk menjaga koneksi dengan sistem lainnya diperlukan sarana komunikasi yang baik. Sayangnya dalam kenyataan seringkali banyak ditemukan jaringan yang mahal dan mudah putus, sehingga untuk mempertahankan koneksivitas menjadi tidak feasible, baik secara ekonomis maupun teknis. Dengan mobile agent hal ini dapat diminimasi karena mobile agent mampu bekerja secara mandiri dan dapat beroperasi secara asynchronous dan autonomous.. Gambar 2.5 menunjukan urutan peristiwa tersebut.

Gambar 2.15. eksekusi agen secara asyncronous & autonomous


- Adaptasi secara dinamis.
Mobile agent dapat mendeteksi adanya perubahan di lingkungannya dan dapat bereaksi secara autonomous melakukan perubahan.

- Andal dan Toleran terhadap Kesalahan.
Kemampuan mobile agent untuk beraksi secara dinamis pada situasi dan keadaan yang tak menguntungkan menjadikan mobile agent mudah untuk membuat sistem terdistribusi yang andal dan toleran terhadap kesalahan.

- Multiplatform.

Dalam komputasi berbasis web sangat dimungkinkan penggunaan berbagai sistem yang berbeda baik pada sisi hardware maupun software. Mobile agent tidak tergantung pada komputer dan jaringan, tetapi hanya tergantung pada lingkungannya. Sebagai contoh, mobile agent Java dapat ditujukan ke segala sistem yang mempunyai JVM (Java Virtual Machine) dan dapat beroperasi pada berbagai sistem operasi.

III.2 Sistem Multi Agen
Lange (1998) menjelaskan sistem multi agent dapat didefinisikan sebagai kumpulan jaringan agen yang mempunyai tugas khusus yang saling berinteraksi dan bekerja sama untuk memecahkan masalah global melalui bagian-bagian otonomi sistem. Karakteristik dari sistem multi agent menurut Lange (1998) adalah sebagai berikut :
- Setiap agen mempunyai tugas khusus untuk memecahkan masalah di bagian masing-masing, dan daya pandang yang terbatas.
- Tidak ada sistem kontrol global.
- Data terdistribusi pada masing-masing bagian.
Sistem ini secara tradisional mempunyai keunggulan pada bidang pemecahan masalah secara konkuren dan terdistribusi, dan juga memiliki keunggulan dalam pola-pola interaksi yang canggih. Tipe-tipe interaksi pada sistem multi agen ialah sebagi berikut (Parunak, 1998) :
- Cooperation (bekerja sama menuju satu tujuan yang sama).
- Coordination (mengorganisasikan aktivitas pemecahan masalah sehingga dapat bersama-sama mencapai tujuan).
- Negotiation (mencapai suatu kesepakatan yang dapat diterima berbagai pihak yang terlibat).
Sistem multi agent memperluas cakupan agen cerdas setidak-tidaknya dalam dua bagian yaitu :
- Agen user mendelegasikan tugasnya kepada agen lain dalam mencapai tujuannya
- Agen didesain secara eksplisit untuk berkomunikasi dan berinteraksi dengan agen lainnya.
Salah satu aplikasi yang menarik dari sistem multi agen ini ialah dalam sistem monitoring data stok dan penjualan karena data stok dan penjualan di tiap distributor mempunyai sifat yang dinamis dimana perubahan datanya sangat cepat. Sistem agen ini dapat membantu perusahaan manufaktur untuk memonitor secara simultan dan real time kondisi stok dan penjualan di masing-masing distributor yang memasarkan produknya.

III. Perancangan Sistem Mobile Agent
Sistem mobile agent yang akan dibangun adalah agent untuk melakukan monitoring dan updating data stok di sebuah distributor dalam jaringan berbasis web. Secara lengkap sistem yang akan dibangun pada penelitian ini dapat dijelaskan seperti pada gambar 1. Masing-masing komputer mempunyai tugas fungsi sebagai berikut :
• Web server
• Server basis data
• Klien


Gambar 1. Rancangan sistem

Secara blok diagram, perancangan sistem terdiri dari 3 blok utama, yaitu sisi klien atau client side, sisi server atau server side dan remote side. Sisi klien berupa internet browser yang dapat mengakses suatu web server. Sisi server terdiri dari web server dan aglet server. Sedang remote side berupa server basis data. Detail mengenai sub blok ini akan dijelaskan pada sub berikutnya. Secara lengkap blok diagram sistem dapat dilihat pada gambar 2.




Gambar 2. Diagram blok arsitektur sistem


Arsitektur sistem yang dikembangkan pada penelitian ini dapat dijelaskan sebagai berikut.
•Aglet server, merupakan rumah agen atau tempat hidup agen dimana agen dibuat, bekerja dan bertukar informasi dengan agen lainnya.
• Apache merupakan HTTP server yang mampu menangani permintaan browser untuk menampilkan halaman web baik dalam format html maupun php.
• MySQL merupakan basis data server yang berada di web server tempat penyimpanan data yang bisa diakses user menggunakan web browser.
Web browser merupakan interface bagi user sekaligus access point ke dalam sistem.