freebsd 6.1 + PF Trans proxy + squid 2.6
| FreeBSD 6.1 + PF Transparent Proxy + Squid 2.6 | ![]() |
| Tuesday, 27 March 2007 | |
| by : godril ( godril@indofreebsd.or.id ) <!– var prefix = ‘ma’ + ‘il’ + ‘to’; var path = ‘hr’ + ‘ef’ + ‘=’; var addy66000 = ‘godril’ + ‘@’; addy66000 = addy66000 + ‘indofreebsd’ + ‘.’ + ‘or’ + ‘.’ + ‘id’; document.write( ‘<a>’ ); document.write( addy66000 ); document.write( ‘<\/a>’ ); //–>\n <!– document.write( ‘‘ ); //–> <!– document.write( ” ); //–>
Latar Belakang
Oke, memang tampak aneh karena seharusnya mikrotik menjadi router utama menjadi gateway ke internet sedangkan seharusnya sebuah cache server tidak berada di sana, di posisi paling depan menghadap ke internet. Ceritanya panjang sekali, but whatever it is, yang jadi permasalahan sekarang adalah bagaimana setting cache server untuk jaringan yang agak unik tersebut. Asumsi * OS yang digunakan adalah FreeBSD 6.x * Langkah-langkah konfigurasi Squid dan PF secara umum tidak akan dibahas di sini, karena bisa didapat dengan search di internet. Yang akan dibahas hanya konfigurasi yang dibahas saja. * Tidak menggunakan server produksi sebagai percobaan * Use with your own cautions! Setup Yang pertama terpikirkan oleh saya bahwa saya akan menggunakan versi Squid terbaru untuk software proxy yang akan diinstall. Sebuah proxy/cache server memerlukan sebuah mesin yang cukup powerfull. Demikian juga instalasi ini menggunakan mesin yang cukup kuat untuk dijadikan proxy: shell> dmesg |less Setelah saya lihat mesin diatas cukup bagus untuk proxy, saya melanjutkan ke direktori /usr/ports/www/squid dan menjalankan perintah: shell> make fetch Perintah tersebut hanya akan mengambil source Squid yang kemudian akan diletakkan di bawah direktori /usr/ports/distfiles. Waktu saya fetch, saya mendapatkan versi squid-2.6.STABLE9.tar.bz2 Setelah itu file tersebut saya pindah kan ke /usr/local/src, yaitu direktori yang sering saya gunakan untuk menaruh semua file source dan melakukan kompilasi dari sana. shell> cd /usr/ports/distfiles Catatan: squid.conf Selanjutnya adalah mengkonfigurasi Squid agar dapat menjalankan fungsinya sebagai transparent proxy. Di sini agak berbeda dengan versi sebelum Squid 2.6.x. Versi yang sebelumnya (Squid 2.5.x kebawah) menggunakan konfigurasi yang nampak seperti: httpd_accel_host virtual Sedangkan pada versi Squid 2.6.x, konfigurasi yang digunakan adalah: http_port 10.0.0.1:3128 transparent Baris tersebut mengatakan bahwa daemon Squid dibind ke interface dengan ip address 10.0.0.1 dan port 3128. Jadi jika di scanport di interface lain, port tersebut tidak akan terdeteksi. Sebuah contoh dari konsep Security through obscurity Setting PF Beberapa host di bawah mesin mikrotik sengaja tidak diproxy dengan alasan tertentu, sedangkan selain host-host tersebut, akan dilewatkan proxy. Pada gambar diagram, host-host tersebut dikelompokkan menjadi dua kelompok yaitu Proxied Hosts dan Non-Proxied Hosts (terdiri dari host dengan ip address: 192.168.1.84, 192.168.1.106, dan 192.168.1.100). Jadi konfigurasinya adalah: table {192.168.1.100,192.168.1.106, 192.168.1.84} rdr pass on $extif proto tcp from ! to ! port {80,8080,3128} \ |

