Thursday, May 16, 2013

Tutorial DNS dan DHCP pada Ubuntu

Tingkat kompleksitas topologi pada modul 3 kali ini sedikit lebih tinggi apabila dibandingkan dengan modul 2 kemarin. Dapat dilihat bahwa pada topologi kali ini router memiliki 2 subnet, untuk megatur bagaimana 2 subnet tersebut dapat saling terhubung Anda dapat menggunakan routing table ataupun menggunakan bridge. Agar lebih mudahnya saya menggunakan bridge sehingga gatewaynya tetap menjadi satu dan tidak perlu ada 2 lagi (eth1 dan eth2). Ini dia [link] cara mengatur bridge.


Konfigurasi DNS
DNS (Domain Name Server) merupakan sebuah aplikasi services di Internet yang menerjemahkan sebuah domain name ke IP address. Sebagai contoh, www untuk penggunaan di Internet, lalu diketikan nama domain, misalnya: dragonica.com  maka akan di petakan ke sebuah IP mis 220.90.213.164. Jadi DNS dapat dianalogikan sebagai pemakaian buku telepon, dimana orang yang kita kenal berdasarkan nama untuk menghubunginya kita harus memutar nomor telepon di pesawat telepon. Hal tersebut sama persis ketika host computer mengirimkan queries berupa nama komputer dan domain name server ke DNS, lalu oleh DNS dipetakan ke IP address.
Disini kita menggunakan Bind9 untuk konfigurasi DNS tersebut. Cara install Bind9 adalah sebagai berikut:
$apt-get install bind9
$apt-get install dnsutils

Soal
1. Berilah nama pada komputer dan router sesuai dengan topologi anda. 
2. Dari topologi anda, buatlah hal-hal berikut ini:
  • Satu domain besar bernama klpxx.jarkom.com, yang ditangain oleh stitch (yang tergabung dalam domain ini adalah selain woodstock & Snoopy)
           Masuk kedalam server Stitch yang menangani domain besar bernama klpxx.jarkom.com.
           $nano /etc/bind/named.conf.local

           # Dibawah ini merupakan definisi zona. Ganti klpe17.jarkom.com dengan nama domain Anda
           zone "klpe17.jarkom.com" {
           type master;
           file "/etc/bind/zones/klpe17.jarkom.com.db";
           };

         # Dibawah ini merupakan definisi zona untuk reverse DNS. Ganti 0.168.192 dengan network address Anda dengan notasi terbalik - contoh network address saya 192.168.0
           zone "0.168.192.in-addr.arpa" {
           type master;
           file "/etc/bind/zones/rev.0.168.192.in-addr.arpa";
           };

          Tutup dan simpan file tersebut.

          $nano /etc/bind/named.conf.options

          # Ganti alamat di bawah dengan alamat provider DNS server Anda
          forwarders {
          [network address ajk]
          0.0.0.0;
          };
         
          $mkdir /etc/bind/zones
          $nano /etc/bind/zones/klpe17.jarkom.com.db
          Untuk membuat zona DNS dan konfigurasi file klpe17.jarkom.com.db bisa dilihat di link berikut:
          [link1] [link2] [link3]
  • Subdomain kartun.klpxx.jarkom.com, beranggotakan woodstock, yang ditangani oleh Stitch. Komputer woodstock akan bernama woodstock.kartun.klpxx.jarkom.com
          Masuk kedalam server Stitch yang menangani domain besar bernama klpxx.jarkom.com.
          $nano /etc/bind/named.conf.local

          Setting zona baru untuk menangani sub domain kartun dengan anggota woodstock.
  • Subdomain anime.klpxx.jarkom.com, beranggotakan snoopy, yang ditangani oleh elmo. Komputer snoopy akan bernama snoopy.anime.klpxx.jarkom.com
          Masuk kedalam server Stitch yang menangani domain besar bernama klpxx.jarkom.com.
          $nano /etc/bind/named.conf.local

          Setting zona baru untuk menangani sub domain anime dengan anggota snoopy.
  • woodstock.kartun.klpxx.jarkom.com akan menjadi slave untuk Anime.klpxx.jarkom.com
          Edit di elmo $nano /etc/bind/named.conf.local 
       

          Edit di woodstock $nano /etc/bind/named.conf.local
          
  • Kalau melakukan ping ke admin.klpxx.jarkom.com maka akan mengarah ke Doraemon
  • Kalau melakukan ping ke dns.klpxx.jarkom.com maka akan mengarah ke Stitch
          Edit di Stitch $nano /etc/bind/db.klpe17.jarkom.com menjadi seperti dibawah ini:
      
          Untuk mengecek apakah pengaturan Anda sudah benar:
          - coba ping admin.klpe17.jarkom.com, apabila sudah mengarah ke doraemon maka sudah benar
          - coba ping dns.klpe17.jarkom.com, apabila sudah mengarah ke stitch maka sudah benar
  • Elmo menjadi dns slave dari Stitch
          Edit di stitch $nano /etc/bind/named.conf.local
          
          Edit di elmo $nano /etc/bind/named.conf.local
          
          Untuk mengetahui apakah Anda sukses atau tidak adalah dengan ping dari elmo ke stitch, apabila sukses maka pengaturan Anda sudah benar.

3. Buatlah ‘load balancing’. Sehingga jika kita ping ke server.klpxx.jarkom.com, maka akan muncul 2 IP server, yaitu IP Stitch dan IP Elmo
    Edit $nano /etc/bind/db.klpe17.jarkom.com
  Untuk mengetahui apakah pengaturan Anda sudah benar coba ping ke server.klpe17.jarkom.com, apabila pertama host mengarah ke stitch dan kedua mengarah ke elmo maka pengaturan Anda sudah benar.

Konfigurasi DHCP
DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP.

Soal
Settinglah konfigurasi IP secara DHCP di mana server DHCP ada di dalam Elmo dengan ketentuan:
- host tom, jerry, spike, dan doraemon mendapatkan IP secara DHCP sesuai dengan IP yang sudah ditentukan di topologi
- untuk host snoppy dan woodstock:
   - untuk soal DNS (IP di set secara statis)
   - untuk soal DHCP, snoopy dan woodstock harus mendapatkan IP random


$apt-get install dhcp3-server
Edit $nano etc/dhcp/dhcpd.conf dengan konfigurasi di bawah ini:
Subnet disesuaikan
Range diisi range ip yang ditawarkan
Option dns diganti ip server dhcp
Option routers diganti ip router
Option broadcast diganti ip yang belum terpakai



Untuk cek snoopy/Woodstock mendapat ip random
Ubah pada $nano /etc/network/interfaces/

Inet static di comment lalu ditambahkan inet dhcp
Reboot
Lalu cek melalui $ifconfig

Inet addr di atas termasuk IP yang ditawarkan

Untuk ip statis, atur pada interfaces tiap host (jerry, tom, doraemon, dan spike) menjadi seperti berikut ini:
Lakukan $service networking restart pada tiap tom, jerry, spike dan doraemon
Lalu cek melalui $ifconfig

Catat inet addr

Edit $nano etc/dhcp/dhcpd.conf menjadi sebagai berikut:


Restart dhcp : $ /etc/init.d/isc-dhcp-server restart
Restart network : $service networking restart pada tom, jerry, spike dan doraemon
Maka, akan ada pemberitahuan bahwa IP berganti menjadi IP yang diinginkan

Wednesday, May 15, 2013

Java Web Server

Untuk menjalankan file html di web browser dengan port tertentu kita dapat menggunakan bahasa pemrograman Java dan menggunakan aplikasi netbeans
Berikut source codenya:
Halaman di atas hanya merupakan start programnya saja, program utamanya adalah sebagai berikut:


Source code dimana terletak pemberitahuan untuk mengambul file html yang terletak pada suatu folder ada pada line 51-60. Dengan menggunakan port 5115, kita dapat menjalankan source code di atas dengan cara mengcompilenya pada netbeans dan kemudian pada web browser tuliskan alamat localhost:5115, maka akan tampak isi dari file test.html tersebut.

Tutorial Squid Proxy pada Ubuntu

Proxy server adalah program yang menerima permintaan (request)dari klien, seperti browser web atau ftp klien,dan kemudian meneruskan permintaan tersebut ke server internet yang dituju. Salah satu program yang cukup powerfull dalam menangani masalah keterbatasan kecepatan akses dan keamanan data yang dipergunakan untuk menangani keperluan internet adalah SQUID. Bagi seseorang administrator jaringan,merupakan tugas utama untuk mengatur lau-lintas data dalam suatu jaringan baik dari dalam maupun keluar jaringan. Squid merupakan pilihan terbaik untuk membangun proxy server karena selain handal juga gratis dan mendukung fitur ICP.
Melalui proxy server,seolah-olah klien merasaberinteraksi secara langsung dengan server internet yang dituju.Kenyataannya,sebelum data atau permintaannya disampaikan ke tujuan, data tersebut diarahkan terlebih dahulu ke server proxy,kemudian server proxy akan meneruskan ke server yang dituju,yaitu internet.

·         Install Squid Proxy
o Jalankan perintah $apt-get install squid3




·       Konfigurasi Squid Proxy
     Jalankan perintah untuk mengedit konfigurasi squid, yaitu: $nano /etc/squid3/squid.conf


         Untuk membatasi file download pada suatu host dapat menggunakan perintah acl. Contohnya setting tambahan agar IP dari host 1(client) tidak dapat melakukan download file : pdf, mp3,doc dapat dilakukan dengan menggunakan syntax: [link1] [link2]

         Untuk membatasi kecepatan download pada suatu host dapat menggunakan perintah delay pools. Contohnya IP salah satu host memiliki kecepatan download maksimal 10 kbps dan IP lainnya memiliki kecepatan download maksimal 20 kbps sebelum jam 14.00 dan kedua IP memiliki kecepatan download maksimal sebesar 30 kbps setelah jam 14.00 atau hari libur(Sabtu,Minggu). Dan IP dari host 1(client) memiliki maksimal kecepatan download sebesar 20 kbps file : pdf, mp3,doc. Maka: [link]


         Untuk membatasi jumlah koneksi yang bisa digunakan pada satu host dapat menggunakan acl limituser maxconn [jumlah]. Contohnya ingin dibatasi hanya 2 koneksi saja, maka:

Full source code:

         Untuk konfigurasi agar lynx dapat terhubung ke luar maka menggunakan cache_peer pada konfigurasi squid.conf seperti berikut ini:



Tutorial Web Server pada Ubuntu


·         Install Web Server Apache
                  ·         Jalankan perintah $apt-get install apache2


·         Konfigurasi Web Server
                  ·         Edit file $nano /etc/apache2/sites-enabled/000-default
                       Pada awalnya, yang ada hanyalah konfigurasi untuk port 80, yaitu seperti pada gambar di bawah ini:



·         Edit menjadi konfigurasi seperti di bawah ini:


         DMZ akan digunakan sebagai Web Server. Terdapat 2 buah website yang ditangani oleh web server ini yaitu ip_anda:80 dan ip_anda:8080. Kemudian pada website  ip_anda:80  terdapat subdirektori /admin yang mana sebenarnya file-filenya terletak di /home/admin, berbeda dengan file-file lain yang terletak di /var/www. Ketika mengakses ip_anda:8080 user harus menginputkan username dan password (menggunakan .htaccess) Semua website tidak boleh menampilkan list direktori. Jadi jika tidak ada file index (index.html, index.php, default.asp) maka daftar file dan subdirektori yang ada tidak akan tampil. Ketika kita mengakses ip_anda:80/example maka akan diarahkan ke ip_anda:80/example/example.html
        Pada port 80 terlihat bahwa direktori tidak hanya mengarah pada /var/www namun juga pada home/admin. Hal ini dikarenakan bedanya hak akses dan file yang akan diakses melalui direktori-direktori tersebut. Apabila Anda mengakses file pada /var/www Anda akan diarahkan ke Error Document dengan peringatan 403 dan masuk ke direktori /example/example.html
        Pada port 8080 terdapat syntax yang menyatakan bahwa membutuhkan autentifikasi untuk dapat mengakses port tersebut, yaitu dengan adanya AllowOverride AuthConfig, Require valid-user dan seterusnya. Hal ini berarti Anda harus menyertakan file yang akan menampung data user dan password, dalam konfigurasi kali ini kami meletakkan file tersebut pada /usr/lib/cgi-bin/.htusers. Dalam menentukan dan memasukkan data user mana saja yang dapat mengakses port tersebut harus menggunakan htpasswd. Untuk pengaturan dan penggunaan htpasswd dapat dilihat dengan perintah $man htpasswd atau mempelajari link ini.









·         Umumnya file yang diakses http://www.something.com adalah file index.html atau index.php di folder htdocs (kalau di apache windows) atau di /var/www/html (untuk apache server linux). Nah, ada kalanya kita sebagai pemilik web server tersebut berkeinginan untuk memberikan fasilitas kepada user yakni berupa hompage mereka. Cara konfigurasi Web server agar memiliki fasilitas user dapat memiliki web pagenya sendiri yaitu dengan menggunakan mod_userdir, jalankan perintah di bawah ini:
1.       $a2enmod userdir
2.       $nano etc/apache2/mods-enabled/userdir.conf
3.       Ganti konfigurasinya menjadi seperti di bawah ini:
4.       Tutup dan simpan, lalu jalankan $service apache2 restart dan $mkdir /home/$User/public_html. Pada direktori public_html tambahkan satu dokumen html. Setelah konfigurasi ini seharusnya Anda dapat mengaksesnya melalui lynx dengan alamat http://ip_anda/~username/

·         Konfigurasi webserver agar dapat menggunakan SSL pada Apache HTTP Server anda dengan studi kasus :  self-signed-certificate.
1.       $a2enmod ssl
2.       Buat directory baru yang akan digunakan untuk menyimpan key server dan sertifikat ssl dengan menjalankan: $mkdir /etc/apache2/ssl
3.       Lalu jalankan: $opensslreq -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
4.       Setup sertifikatnya pada direktori $nano /etc/apache2/sites-available/default-ssl
5.       Tambahkan satu baris dengan nama server Anda tepat di bawah email Admin Server atau ServerAdmin :
Contoh: ServerName 443
6.       Langkah selanjutnya, cari yang mirip dengan syntax dibawah ini dan sesuaikan:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
7.       Lalu jalankan perintah $a2ensite default-ssl
8.       Reload apache2 Anda dengan perintah $service apache2 reload

·         Konfigurasi untuk mengoptimasi apache web server dengan asumsi guaranteed RAM (RAM yang pasti tersedia untuk apache) sebesar 8 MB.
1.       Jalankan $top.
2.       Ketik shift+m.
3.       Catat nilai RES tertinggi yang digunakan oleh httpd.
4.       Tutup top.
5.       Matikan apachenya
6.       Jalankan $free –m
7.       Catat nilai pada used dan kalikan dengan 0.8 untuk rata-rata available apache pool.
8.       Bagi available apache pool dengan nilai RES tertinggi.
9.       $nano /etc/apache2/apache2.conf
10.   Set MaxClients dengan hasil perhitungan Anda.
11.   Jalankan kembali apache2 dengan $service apache2 start

Sunday, May 5, 2013

Setting Bridge pada UML

Apabila Anda memiliki topologi dan ingin menyederhanakan eth1 dan eth2 menjadi satu gateway, Anda dapat menggunakan bridge. Caranya pada router, lakukan pengaturan seperti ini:

1. apt-get install bridge-utils
2. Jalankan perintah:
brctl addbr <namabridge>
brctl addif <namabridge> eth1
brctl addif <namabridge> eth2
ifconfig eth1 0.0.0.0 promisc up
ifconfig eth2 0.0.0.0 promisc up
 3.  nano /etc/network/interfaces. Edit menjadi seperti gambar di bawah ini:
 4. Ubah rc.local dengan cara: nano /etc/rc.local menjadi seperti di bawah ini: