Agar centos linux bisa digunakan sebagai gateway server maka kita terlebih dahulu harus mengaktifkan fungsi ip forward yang digunakan untuk meneruskan paket data dari client menuju internet, untuk mengaktifkan ip forward ada dua cara yang dapat dilakukan, yang pertama adalah dengan perintah berikut
# echo “1” > /proc/sys/net/ipv4/ip_forwardagar fungsi ip forward selalu di aktifkan setiap kali kompuer di hidupkan maka kita harus menambahkan perintah di atas ke dalam file /etc/rc.local. Cara kedua untuk mengaktifkan fungsi ip forward adalah dengan mengedit file /etc/sysctl.conf, cari dan hilangkan tanda pagar (comment) dari opsi berikut
#net.ipv4.ip_forward=1sehingga menjadi seperti berikut
net.ipv4.ip_forward=1Setelah fungsi ip forward telah aktif maka langkah selanjutnya adalah mengaktifkan fungsi NAT menggunakan iptables, untuk mengaktifkan fungsi NAT dengan iptables ada dua cara, yaitu dengan menggunakan fungsi MAQUERADE dan Source NAT, untuk mengaktifkan fungsi NAT dengan fungsi MASQUERADE adalah sebagai berikut
# /sbin/iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADEcara kedua untuk mengaktifkan fungsi NAT adalah dengan fungsi Source NAT, adalah sebagai berikut
# /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to-source 65.100.75.100
Copykan Scriptnya agar sewaktu Router di Restart peritnah Routing tidak hilang #vi /etc/rc.local kemudian copy scriptnya iptables -t nat -A POSTROUTING -0 eth0 -j MASQUERADE Skrip di atas diletakkan di atas exit 0.dengan perintah iptables di atas maka client pada jaringan dengan ip 192.168.1.0/24 akan di kenal di internet dengan ip gateway, yaitu dengan alamat ip 65.100.75.100, ini berguna untuk menghemat penggunaan ip public, karena kita hanya membutuhkan satu alamat ip public saja untuk seluruh jaringan LAN kita agar dapat mengakses internet.
Proxy Server
Instalasi Paket Squid dari Repository
# yum install squidjika tidak terjadi keslahan dalam proses instalasi maka seharusnya squid telah terinstal dengan baik di sistem kita, untuk melekukan pengecekan file-file hasil instalasi squid kita dapat menggunakan perintah rpm berikut
# rpm -ql squiddengan perintah diatas maka akan terlihat dimana saja file-file instalasi squid yang baru saja kita install diletakan di sistem kita.
Instalasi Squid dari Source
# tar -xvzf squid-2.7.STABLE7.tar.gzSetelah proses ekstrak selesai maka selanjutnya kita masuk ke direktori hasil ekstrak dan jalankan perintah configure untuk mensetup squid sebelum kita install
# cd squid-2.7.STABLE7
# ./configureUntuk melihat opsi-opsi apa saja yang bisa kita tambahkan ketika kita menjalankan perintah configure, kita bisa menggunakan perintah berikut
# ./configure –helpSetelah itu jika tidak terjadi error lanjutkan dengan menjalankan perintah make untuk meng kompilasi squid
makeKemudian install dengan perintah make install
make install
Konfigurasi Squid
Access Control list (ACL)
acl local_net src 192.168.1.0/24 http_access allow local_netOpsi diatas dapat dijelaskan sebagai berikut : Pernyataan acl *local_net src* menunjukan jaringan local kita yang akan kita perbolehkan untuk mengakses mesin proxy server, sebagai contoh disini kita hanya akan mengizinkan jaringan 192.168.1.0/24 yang diperbolehkan mengakses proxy server Pernyataan http_access allow local_net harus diletakan sebelum baris http_access deny all. berikut contoh penggunaan acl dalam squid
acl local_net src 192.168.1.0/24
http_access allow localhost http_access allow local_net http_access deny all LoggingSecara default squid akan membuat beberapa file log (catatan) yang berhubungan dengan aktifitas squid itu sendiri, dan berikut adalah konfigurasi default squid yang digunakan
access_log /var/log/squid/access.log squid cache_log /var/log/squid/cache.log cache_store_log noneDengan opsi diatas squid akan menyimpan pesan-pesan error dalam file /var/log/squid/cache.log, kemudian informasi akses dari client akan disimpan dalam file access_log /var/log/squid/access.log dan pada bagian opsi cache store log karena tidak terlalu penting maka kita dapat menonaktifkanya dengan mengisikan opsi none sehingga menjadi cache_store_log none
Cache Managemen
cache_dir ufs /var/spool/squid 100 16 256Keterangan opsi diatas adalah menentukan letak (path) dari direktori cache yang akan kita gunakan, sedangkan ufs merupakan metode cache storing yang nantinya akan digunakan, ada beberapa metode yang dapat digunakan dalam opsi ini, yaitu ufs,aufs dan diskd, opsi selanjutnya menentukan besaran ukuran directori yang nantinya disitu akan dialokasikan untuk menaruh cache squid, ukuran yang digunakan disini adalah MegaByte(MB), sehingga apabila kita mengisinya dengan 100, maka berarti kita akan mengalokasikan direktori untuk meletakan cache squid sebesar 100MB, opsi selanjutnya adalah jumlah directori tree yang akan kita buat dalam directory cache, pada contoh diatas kita mengisinya dengan 16 dan 254, maka artinya di dalam direktori cache nantinya akan memiliki jumlah direktori sebanyak 16 dan masing-masing direktori akan memiliki sub direktori sebanyak 254.
Berkomunikasi Dengan Proxy Server Eksternal
Parent
cache_peer ip_parent_proxy type (parent|sibling) proxy_port icp_port opsiContoh penggunaan dari parent proxy adalahsebagai berikut
cache_peer 10.55.1.50 parent 3128 7 no-queryketerangan dari opsi diatas adalah sebagai berikut, cache_peer merupakan opsi yang digunakan agar proxy server kita bisa berkomunikasi dengan proxy eksternal, ip 10.55.1.50 disini merupakan parent proxy yang akan kita mintai cache file-nya, parent merupakan type dari proxy peer (parent| sibling), 3128 merupakan proxy port, 7 merupakan ICP port dan no-query merupakan contoh opsi yang dapat kita gunakan, yang berarti kita tidak akan meminta icp (icp query)
Sibling
cache_peer 10.55.1.50 sibling 3128 7 no-query
Content Filtering Menggunakan Squid
acl block dstdomain "/etc/squid/block" http_access deny blockSedangkan isi dari file /etc/squid/block adalah alamat-alamat situs yang akan kita larang untuk di akses oleh clien proxy, contoh isi file block adalah sebagai berikut
rapidshare.com facebook.com friendster.com indowebster.comSetelah ini maka alamat-alamat yang terdapat di dalam file /etc/squid/block tidak akan dapat diakses lagi oleh client dengan pesan error access denied, selain alamat-alamat yang dapat kita block sebenarnya kita juga dapat memblok eksternsi-ekstensi file yang akan kita larang untuk di akses oleh client dengan jam dan pada hari-hari tertentu, berikut adalah contoh untuk memblock beberapa ekstensi file yang akan kita larang untuk di akses oleh client pada jam dan hari tertentu
acl blok url_regex -i \.mpeg$ \.avi$ \.mpg$ acl jam_kerja time MTWHF 08:00-16:00http_access deny blok jam_kerja Keterangan opsi diatas adalah sebagai berikut : kita akan menolak client mengakses file-file dengan ekstensi mpeg, avi dan mpg pada hari senin sampai jumat (MTWHF) mulai jam 08-14.
Otentikasi
auth_param basic program /usr/local/libexec/ncsa_auth /etc/squid/auth_squid acl ugos proxy_auth REQUIRED http_access allow ugosDari opsi konfigurasi diatas dapat dijelaskan sebagai berikut : Opsi auth_param basic program merupakan parameter otentikasi, /etc/squid/auth_squid merupakan file dimana kita akan meletakan daftar user yang akan kita perbolehkan untuk menggunakan squid, pada bagian acl ugos proxy_auth REQUIRED dan http_access allow ugos merupakan format acl squid untuk penanganan autantikasi yang berarti selain user yang terautentikasi maka tidak akan di izinkan untuk menggunakan proxy squid, dan berikut adalah konfigurasi autentikasi dengan menggunakan ldap
/usr/lib/squid/squid_ldap_auth -b "dc=domain,dc=com" -f "uid=%s" ldap.server.comdimana ldap.server.com merupakan ldap server yang memberikan layanan autentikasi, pada opsi ini kita bisa menggunakan ip server ldap atau domainya.
Konfigurasi Tranparent Proxy
http_port 3128 transparentkemudian kita harus menambahkan rules iptables berikut :
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 /sbin/iptables -t nat -A PREROUTING -i eth0 -p udp --dport 80 -j REDIRECT --to-port 3128dengan menggunakan rules diatas meka semua koneksi (tcp/udp) yang menuju port 80 akan secara otomatis di belokan ke port proxy server (3128).
Menjalankan Squid
# squid -z
# /etc/inint.d/squid start
/sbin/service squid start
/usr/local/sbin/squid
/etc/inint.d/squid stop
/sbin/service squid stop
/usr/local/sbin/squid -k shutdown










