
Setelah membangun sebuah router maupun 3 buah router dengan OpenSUSE 11.1, saatnya menikmati liburan lebaran
  tetapi sekarang sudah efektif kembali.  Saatnya membukan lembaran baru,  semangat baru, dan lebih bersikap terbuka.  Kembali topik permasalahan,  yang perlu dibuat selanjutnya adalah Proxy. Hmm.. apaan tuh proxy 
?  Proxy  server adalah sebuah komputer server atau program komputer yang dapat  bertindak sebagai komputer lainnya untuk melakukan request terhadap  content dari Internet atau Intranet. Proxy server tidak terlihat oleh  client, seorang pengguna yang berinteraksi dengan internet melalui  sebuah proxy server tidak akan mengetahui bahwa sebuah proxy server  sedang menangani request yang dilakukannya. Pada distro OpenSUSE ini  menggunakan squid versi 2.7.  Squid sendiri merupakan aplikasi  (software) yang digunakan dalam proxy.
Sudah siap bereksperimen 

?
 Kalau belum, 
  coba baca kembali Membangun Router dengan OpenSUSE 11.1 dan  Menggabungkan 3 Router di Suse, insya Allah akan membantu. Well,  langkah-langkahnya sebagai berikut :
- Install terlebih dahulu paket squid pada Yast >> Software >> Software Manajemen. Pada kolom Phrase, ketik squid, lalu pilih squid 2.7 >> Accept / OK 
 - Edit squid dengan perintah
| mcedit /etc/squid/squid.conf atau vi /etc/squid/squid.conf | 
Namun kali ini, saya menggunakan vi - Perlu  diperhatikan bahwa, terdapat banyak script di dalam squid.conf. Namun  tidak semuanya berupa perintah. Baris script yang didahului dengan tanda  pagar (#) bukan merupakan perintah, dapat berupa informasi,  pemberitahuan, contoh, judul dan sebagainya. Jadi script yang tidak  didahului tanda pagar (#) dapat dipastikan berupa baris perintah yang  dijalankan oleh system. Terdapat pengeculian, suatu kondisi dimana  terdapat beberapa script seperti berikut:
# Default: # cache_mem 8 MB | 
Artinya:  seharusnya script di atas tidak berjalan sebagai perintah, karena  terdapat tanda pagar di depannya. Tapi sebenarnya script tersebut  berjalan secara default, tapi bila ingin mengganti default 8 MB, misal  16 MB, harus menghapus tanda pagar. Bila tidak, baris perintah tersebut  akan tetap bekerja secara default, walaupun telah diubah. - Cari “# http_port 3128”, lalu tambahkan kata transparent sesudahnya. Sehingga jadi seperti berikut, # http_port 3128 transparent
 - Cari “# cache_mem 8 MB”. Gantilah nilai 8 sesuai dengan ½ kapasitas memori yang ada. Lalu hilangkan tanda pagar di depannya.Misal, menjadi cache_mem 512 MB
 - Cari “# cache_dir ufs /var/cache/squid 100 16 256”. Gantilah angka 100 sesuai dengan kapasitas harddisk yang tersedia, misalnya ½ bagiannya.
 - Tambahkan network kita, yang letaknya di bawah acl localnet src 192.168.0.0/24. Misalkan nama network adalah belajar dengan range IP Address 192.168.15.0/24, akan menjadi seperti, acl belajar src 192.168.15.0/24
 - Tambahkan  beberapa fasilitas pembatasan akses client. Umumnya yang sering  ditambahkan adalah blok situs tertentu, blok kata tertentu, blok situs  dengan nomor IP tertentu, dan pengecualian terhadap suatu situs/kata  terhadap blok kata/situs. Letakkan di bawah acl CONNECT method CONNECT.
Misalkan, (ada 4 perintah yang ditambahkan)
acl kecuali dstdomain “/etc/squid/kecuali.txt”
acl  =     acl (access control list) adalah daftar pengontrolan untuk  melihat  layanan yang dapat diakses atau yang tidak dapat diakses
kecuali =    fasilitas yang dapat ditambahkan (nama bebas)
dstdomain =    berhubungan dengan domain, sedangkan url_regex berkaitan dengan kata, dan dst berkaitan dengan alamat IP
“/etc/squid/…. =    lokasi penyimpanan file
kecuali.txt” =    nama file 
acl kata url_regex -i "/etc/squid/kata.txt"
acl situs dstdomain "/etc/squid/situs.txt"
acl ip dst "/etc/squid/ip.txt"
 - Sertakan/tulis hak akses pada network yang telah dibuat. Ingat nama network yang telah dibuat adalah belajar. Letakkan di bawah http_access allow localhost, letaknya sekitar line 654. Tulis dibawahnya http_access allow  belajar
 - Sertakan/tulis  hak akses pada fasilitas-fasilitas yang telah dibuat.  Kata allow  berarti boleh/diperbolehkan, sedangkan deny berarti  dilarang/tidak  diperbolehkan. Letakkan di bawah # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS. Tambahkan beberapa perintah berikut (sesuai no. 8)
http_access allow kecuali 
http_access deny kata 
kecuali http_access deny situs 
kecuali http_access deny ip
 - Masuk pada directory /etc/squid,  lalu buat file-file dari fasilitas yang  ingin dibuat. Dari setiap  file, minimal harus terisi sebuah objek  tertentu. Misalkan pada kata,  harus terdapat kata tertentu untuk  diblokir. Jadi, sesuai dengan  rangkaian di atas, wajib ditambahkan 4 file yaitu kecuali.txt, kata.txt,  situs.txt dan ip.txt. Masing-masing dengan perintah vi kecuali.txt, vi kata.txt, vi situs.txt dan vi ip.txt
 - Restart squid lalu stop kembali squid dengan perintah
 rcsquid restart (untuk restart) rcsquid stop (untuk stop) | 
- Buat  partisi swap (Squid harus dalam keadaan  mati, perintah nya rcsquid  stop. Perintah ini hanya digunakan sekali), perintah yang digunakan  adalah
 - Lakukan routing kembali (prerouting) dengan perintah 
 | iptables -t nat -A  PREROUTING -s 192.168.15.0/24 -p tcp --dport 80 -j REDIRECT --to-port  3128 | 
- Rekonfigurasi squid (perintah ini  digunakan untuk setiap kali squid.conf di edit / di utak-atik) dengan perintah:
 - Save dengan perintah
 | iptables-save > /etc/sysconfig/iptables | 
- Restart squid dan network dengan perintah
 | rcsquid restart dan rcnetwork restart | 
- Hingga  di sini client sudah dapat mengakses initernet dengan  mengalihakan  port 80 (http) menuju port 3128 (proxy), dengan bebarapa  fasilitas di  dalamnya.
 
Pada saat user mengakses url yang dilarang, akan  muncul pesan/peringatan default dalam bahasa inggris. Kita dapat  mengeditnya sendiri, sehingga dalam bentuk bahasa Indonesia yang dapat  lebih mudah dipahami. Untuk mengeditnya dapat menggunakan perintah  berikut:
| vi /usr/share/errors/English/ERR_ACCESS_DENIED | 
Modifikasi sesuai keinginan. Mudahkan ! 
Nah selesai sudah
, tapi belom 100% 
, pastikan hal-hal berikut juga.
- Menghubungkan PC client dengan eth1 router
 - Mengisi  IP Address secara manual (karena pada router belum di setting DHCP),  dan agar IP client dapat di ping oleh router, matikan firewall untuk  sementara waktu.
 - Melakukan beberapa perintah ping terhadap gateway (eth1), eth0, gateway internet, DNS, dan beberapa situs tertentu.
 - Browsing melalui browser, dan mencoba mengakses situs tertentu yang diijinkan.
 - Bila  mengakses situs  tertentu atau memasukkan keyword tertentu yang  dilarang akan tampil pesan peringatan yang telah disiapkan oleh admin  sebelumnya.
 
So, berikut ini sceenshoot dari client pada saat mendapati pesan error

Akhirnya, selesai juga proxy yang kita buat. Semoga bermanfaat, amiin.Ada masalah, dapat ditanyakan 
 
 
Tidak ada komentar:
Posting Komentar