;

Pages

Subscribe:

Ads 468x60px

Minggu, 29 Januari 2012

Proxy Server dan NAT dengan VirtualBox (Part 2)


Just For Info - Ini merupakan lanjutan dari Konfigurasi Proxy Server dan NAT dengan VirtualBox (Part 1). Setelah kita melakukan konfigurasi di mesin Web Server, kali ini kita akan melakukan konfigurasi pada mesin Proxy Server. Masih inget dengan topologinya?
nih aye kasih liat lagi:


           WEB SERVER(eth0) ----------->(eth1)PROXY(eth0) ----------------> CLIENT
      117.10.12.1                 117.10.12.0/24       192.168.1.1              192.168.1.0/24


Nah, di konfig pertama kita udah selesai membuat Internet jadi-jadian alias web server di Virtual. Nah selanjutnya kita bakal konfig di mesin proxynya. Jadi mesin yang web server jangan dimatiin dulu, nah disini karena aslinya kita harus memblok situs tertentu (misal facebook.com atau youtube.com) nah kita ganti dengan memblok subdomain yang sudah kita buat di web server tadi.
Nah yang akan kita blok adalah:
- fb.myworld.co.id
- youtube.myworld.co.id


Oke dimesin proxy server ini akan ada 2 tahapan yaitu untuk konfig squid sebagai filtering proxy server (blok web) dan juga sebagai Router / NAT.
Sebelumnya kita perlu rincian konfignya dulu:
1. 2 Adapter LAN (1 ke web server dan 1 ke LAN)
2. squid
3. iptables


oke kmon kita konfig aja langsung!!


sebelumnya kita perlu mengatur IP dulu,
proxyserver:# nano /etc/network/interfaces


isi dengan seperti berikut, karena eth0 akan ke LAN dan eth1 ke Web Server maka:


auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1


auto eth1
allow-hotplug eth1
iface eth1 inet static
address 117.10.12.2
netmask 255.255.0.0
gateway 117.10.12.1


seperti biasa install dulu apikasi paket yg dibutuhkan:
proxyserver:# apt-get install squid


selanjutnya kita edit deh file konfigurasi squid, yaitu di squid.conf
proxyserver:# nano /etc/squid/squid.conf


gunakan fasilitas CTRL + W untuk mencari dalam nano, dan carilah kata-kata berikut dan konfig (ini konfig dasar aja, jika mau yg lebih master masih banyak lagi):


- http_port 3128
   ini adalah directive untuk port yang akan digunakan oleh proxy kita.
   buat menjadi: 
http_port 3128 transparent


- cache_dir ufs /var
  nah ini adalah direktori tempat kita meletakan object yang kita cache. Formatnya adalah cache_dir [file sistemnya] [lokasi foldernya] [ukuran folder dalam MB] [jumlah direktori1] [jumlah direktori 2].
  nah ini kita isikan begini aja, atau terserah maunya gimana: 
cache_dir ufs /var/spool/squid 1000 16 256


- cache_mem
   ini adalah directiv untuk memory (RAM) yang akan digunakan squid untuk melakukan caching terhadap objek. Ukuran ini ada yang bilang 1/4 RAM, 1/3, ataupun 1/2. Namun yang jelas ini tidak boleh lebih dari ukuran dari direktori cache_dir. isikan aja bagai berikut:
cache_mem 64 MB


- cache_log
  ini digunakan untuk directive log (pesan) untuk cache linux kita telah berjalan atau tidak.
  ini cukup hilangkan pagar saja seperti ini:
  cache_log /var/log/squid/cache.log


- cache_mgr
  adalah email administrator/penanggung jawab dari proxy kita. Begini nulisnya:
  cache_mgr admin@myworld.co.id


- visible_hostname
  adalah nama host proxy yang kita gunakan, dan ini akan ditampilkan ketika ada pesan error pada saat client mengakses squid. begini nampaknya:
visible_hostname myworld.co.id


- acl CONNECT
  nah disini lah directive yang akan kita edit-edit, acl adalah Access Control List, yaitu Pengaturan Akses pada squid. Nah di acl ini kita akan memasukan 2 aturan, yaitu yang pertama adalah akses LAN, dan akses untuk memblokir situs. formatnya adalah:
acl [nama aturan] [tipe aturan] [file atau isi aturan] nah nama aturan bisa kita buat apa aja, dan tipe aturan ada banyak, contoh time, proto, src,dst, url_regex, dll
karena kita cuma buat dua, jadi masukan aja dibawah acl CONNECT seperti ini:
acl situs url_regex -i "/etc/squid/blokiran"
acl jaringan src 192.168.1.0/2
di acl itu kita membuat pengaturan untuk situs yg akan diblok, dan IP yang diperbolehkan masuk.
untuk mengatur boleh atau tidaknya, kita gunakan http_access.


- INSERT YOUR OWN RULES
   nah dibawah ini kita masukan http_access untuk memblok dan membolehkan acl yang udah kita buat, yaitu:
http_access deny situs
http_access allow jaringan


oke save setelah itu file squid.conf nya.
kemudian kita masukan daftar situs yang akan kita blok di proxy server, liat pada acl pertama yang tadi kita buat. Daftar situs yang diblok kita taruh di /etc/squid/blokiran. maka edit dan buat begini:
proxyserver:# nano /etc/squid/blokiran


isi dengan list web yang akan kita blok, dalam contoh ini kita memblok subdomain di webserver yang kita buat :
fb.myworld.co.id
youtube.myworld.co.id


setelah itu buat swap squid dan juga restart squid servernya:
proxyserver:# squid -z
proxyserver:# /etc/init.d/squid restart


Selanjutnya adalah pengaturan NATnya, kita akan menggunakan iptables.
konsep NAT adalah menggabungkan dua buah LAN yang berbeda, nah disini kita akan meneruskan akses dari  LAN menuju ke WEB SERVER. Nah kita akan mengkonfig NAT diproxy server.
oke kita edit dulu agar paket bisa diforward dengan cara:
proxyserver:# nano /etc/sysctl.conf
hapus tanda pagar pada kata net.ipv4.ip_forward 1


lalu kita masukan iptables pada rc.local, dengan cara:
proxyserver:# nano /etc/rc.local
isikan sebelum kata exit 0 dengan:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


setelah itu reboot mesin proxynya,
proxyserver:# reboot
setelah direboot, lihat apakah iptablesnya sudah jalan dengan:
proxyserver:# iptables -t nat -L
atau
proxyserver:# iptables -t nat -nvL
kalau udah ada chain REDIRECT di PREROUTING, dan MASQUERADE pada POSTROUTING berarti udah jalan.
tinggal kita lakuin pengujian, caranya adalah atur dulu adapter pada virtualboxnya, atur Adapter 1 menggunakan Internal Network dan Adapter 2 menggunakan Host Only Adapter.


Atur IP komputer asli kita di VirtualHost Adapter dan atur ip dengan range 192.168.1.0 - 255.
setelah itu, buka browser dan edit proxy settingnya. caranya kalo mozilla firefox : options > options > advanced > network > pilih setting > masukan manual proxy dan isi IP beserta portnya.
untuk google chorme: pilih gambar kunci inggris > options > under the hood > change proxy setting > LAN setting > masukan ip beserta portnya.
nah coba buka subdomain web yang kita blog tadi, jika error maka sudah berhasil.
atau lihat lognya di:
proxyserver:# tail -F /var/log/squid/access.log
jika halaman web yang kita buka udah kedaftar atau tercatat berarti udah berhasil NAT dan PROXY nya.


Oke cukup sekian Konfigurasi Proxy Server dan NAT menggunakan VirtualBox dari gw, kalo ada pertanyaan silahkan aja berkomentar.
Read more »

Proxy Server dan NAT dengan VirtualBox (Part 1)

Just For Info - Kali ini saya akan memberi tahu gimana caranya konfigurasi proxy server dan NAT pada Linux Debian dengan menggunakan VirtualBox. Aslinya kita perlu menggunakan koneksi ISP untuk membuat proxy server, namun kali ini kita tidak akan menggunakannya, dan kita ganti dengan menggunakan server virtual. Jadinya nanti kita bakal bikin 2 virtual mesin. Tapi belum tau apakah sama jika menggunakan Internet ISP.
Ya jadi persiapannya adalah:

  1. VirtualBox (tentunya)
  2. Debian Installer (iso atau dvd/cd)
  3. Komputer yang cukup memadai
  4. Air Putih ( :-D )
Oke, setelah itu baru kita mulai konfignya.
Pertama saya kenalin dulu gimana topologinya, begini nih kira2:

                                            
           WEB SERVER(eth0) ----------->(eth1)PROXY(eth0) ----------------> CLIENT
      117.10.12.1                 117.10.12.0/24       192.168.1.1              192.168.1.0/24

Nantinya, pada web server kita akan membuat beberapa sub-domain. dan diantaranya akan diblok oleh PROXY. Mungkin pada bingung, ikutin dulu aja nih step by step dari gw:

1. Konfigurasi Pada Web Server
    Untuk instalasi Debian ga perlu dijelasin lagi deh, kita langsung lanjut aja ke konfignya (ket: merah=command biru=isi konfig):
rincian konfignya adalah:
domain: myworld.co.id
ip web server: 117.10.12.1
subdomain: -fb.myworld.co.id
                 -twit.myworld.co.id
                 -blog.myworld.co.id
                 -wiki.myworld.co.id
                 -www.myworld.co.id
                 -youtube.myworld.co.id

oke lanjut ke konfig!!
kita masuk dulu ke root, selanjutnya kita atur IP dulu (kalo udh ngerti, lanjut ke yang selanjutnya)
webserver:#  nano /etc/network/interfaces

tulis begini nih di situ:
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 117.10.12.1
netmask 255.255.0.0
network 117.10.12.0
broadcast 117.10.12.255
gateway 117.10.12.1
dns-search myworld.co.id
dns-nameserver 117.10.12.1

setelah itu kita atur juga di resolv.conf:
webserver:# nano /etc/resolv.conf

isi dengan seperti ini:
search myworld.co.id
nameserver 117.10.12.1

setelah itu install paket yang kita butuhkan yaitu Apache2, Bind9, php5 (masukin kaset dulu yee)
webserver:# apt-get install bind9 apache2 php5

kalo udah, kita konfig satu-satu aplikasi servernya. mulai dari BIND9 dulu.

webserver:# cd /etc/bind
webserver:/etc/bind# nano named.conf

isikan sebelum kata terakhir seperti ini:
zone "myworld.co.id" {                          ini untuk domain kita
         type master;
         file "/etc/bind/db.myworld";
};

zone "12.10.117.in-addr.arpa" {               ini untuk IP dns kita, tapi dibalik
         type master;
         file "/etc/bind/db.117";
};

selanjutnya kita buat file database atau resource recordnya:
webserver:/etc/bind# cp db.local db.myworld
webserver:/etc/bind# cp db.127 db.117
selanjutnya kita edit dua file resource record itu, 
webserver:/etc/bind# nano db.myworld

atur agar seperti berikut ini:
$TTL 604800
@ IN SOA myworld.co.id. root.myworld.co.id. (
         1  ; Serial
    604800  ; Refresh
     86400  ; Retry
   2419200  ; Expire
    604800 ) ; Negative Cache TTL
;
@       IN      NS      myworld.co.id.
@       IN      A       117.10.12.1
www     IN      A       117.10.12.1          (untuk subdomain www)
twit    IN      A       117.10.12.1          (untuk subdomain twit)
fb      IN      A       117.10.12.1          (untuk subdomain fb)
blog    IN      A       117.10.12.1          (untuk subdomain blog)
wiki    IN      A       117.10.12.1          (untuk subdomain wiki)
youtube IN      A       117.10.12.1          (untuk subdomain youtube)

kemudian yang satu lagi:
webserver:/etc/bind# nano db.117

atur agar seperti berikut ini:
$TTL 604800
@ IN SOA myworld.co.id. root.myworld.co.id. (
         1  ; Serial
    604800  ; Refresh
     86400  ; Retry
   2419200  ; Expire
    604800 ) ; Negative Cache TTL
;
@ IN NS myworld.co.id.
1 IN PTR myworld.co.id.

setelah semuanya sudah, lakukan restart pada bind dan lakukan pengujian:
webserver:/etc/bind# /etc/init.d/bind9 restart
webserver:/etc/bind# nslookup myworld.co.id

kalo keluarnya seperti ini:
Server:     117.10.12.1
Address:    117.10.12.1#53


Name:       myworld.co.id
Address:    117.10.12.1


atau test juga dengan menggunakan IP
webserver:/etc/bind# nslookup 117.10.12.1


dan keluarnya:
Server:    117.10.12.1
Address:   117.10.12.1#53


1.12.10.117.in-addr.arpa              name = myworld.co.id


maka DNS telah berhasil kita buat, selanjutnya adalah membuat subdomain pada web server apache. Yang akan kita buat subdomain adalah: www, twit, blog, fb, wiki
Karena secara default jika kita buka dibrowser yang muncul cuma tulisan It's Works doang!


Kita perlu isi dari webnya, nah kalo saya ngambil dari situs-situs yang ada. contohnya facebook, twitter, dll. cara nyimpen halaman webnya adalah: klik kanan > save page as.. > ganti namanya jadi index


nah untuk memasukan halaman web yang kita save pada virtualbox, ada dua cara. Yang pertama pake ssh remote server, dan yang kedua pake samba.
Kalo mau menggunakan ssh remote server, kita perlu install dulu aplikasi Tunellier. Sedangkan kalo Samba cukup konfig sedikit aja. Sekarang aye jelasin pake dua-duanya deh:


1. Menggunakan Samba Server
webserver:# apt-get install samba


Setelah diinstall kita konfigurasi di smb.conf
webserver:# nano /etc/samba/smb.conf


nah setelah masuk file konfig, kita langsung ke yang paling bawah file tersebut. lalu kita buat seperti ini:


[File Sharing]
path = /var/www            (lokasi tempat sharenya)
writeable = yes                (agar bisa kita edit)
browseable = yes
valid user = user1              (user yang boleh masuk)


Kemudian kita buat user dan juga rubah hak kepemilikan /var/www juga permissionnya, agar kita bisa edit. Kita juga perlu memberi password samba ke user. Ini commandnya:
webserver:# adduser user1
webserver:# chown user1 /var/www
webserver:# chmod -R 777 /var/www
webserver:# smbpasswd -a user1


Untuk mengaksesnya rubah dulu Network VirtualBoxnya, menjadi Virtualhost Adapter. Serta jangan lupa atur IP biar satu network sama IP server contoh 117.10.12.2
Pada SO asli kita kita akses sambanya dengan cara Start > Run > \\117.10.12.1
Nah disitu nanti ada folder File Sharing yang kita buat. Tinggal masukin aja halaman web yang tadi kita simpen (copy paste).


2. Menggunakan Tunnelier
Kalo pake software ini, yang jelas kita perlu download dulu softwarenya, searching aja digoogle. Kalo udah diinstall, buka Tunnelier lalu masukan IP server dan juga passwordnya, oya di Server juga perlu diinstall ssh server dulu, caranya:
webserver:# apt-get install ssh


Nah kalo udah konek, nanti bakal keluar console terminal dan FTP dari Tunnelier. Tinggal kita masukin aja deh hlaman webnya di FTPnya.


Lanjut pada mesin web servernya kita buat subdomain, pindah direktori dulu ke direktori sites apache.
webserver:# cd /etc/apache2/sites-available
Nah disini nih kita bikin subdomainnya, copy dulu file yang udah ada yaitu defaut. misal kita pertama bikin subdomain fb.
webserver:/etc/apache2/sites-available# cp default fb
kita edit dan atur seperti sebagai berikut ini:
webserver:/etc/apache2/sites-available# nano fb


<VirtualHost *:80>
                  ServerAdmin admin@myworld.co.id
                  ServerName fb.myworld.co.id
                  ServerAlias myworld.co.id
                  DocumentRoot /var/www/fb
                  <Directory />
                  <Directory /var/www/fb>
.................
.................
save dan kemudian enable site kita kemudian reload apachenya:
webserver:/etc/apache2/sites-available# a2ensite fb
webserver:/etc/apache2/sites-available# /etc/init.d/apache2 reload


test deh di browser udah ada apa belum, untuk subdomain yang lain caranya sama aja. kita copy file default lalu edit, enable, kemudian reload.


Oke, konfig part1 udah selesai. Kalo mau lanjutannya langsung aja cekidot ke Proxy Server dan NAT dengan VirtualBox (Part 2)


Lihat video youtubenya di:
http://youtu.be/6qcenCUsscE
Read more »