Pada artikel FreeBSD sebelumnya, hanyalah tutorial dasar installasi FreeBSD 9. Kali ini saya akan menginstall fbsd sebagai mesin proxy server; Menggunakan 2 harddisk cache. Harddisk boot di jadikan cache #1 dan harddisk lainnya menjadi cache #2. Squid yang dipergunakan bukan type Head (lusca). Bawaan dari directory ports system.

Sebagai topologi networknya; internet-> router-> freebsd squid ->client. FreeBSD sejajar dengan client; untuk itu masukan pengecualian redirect request http dari ip Freebsd; redirect semua httpp request dari LAN ke Ip freebsd. Karena ada banyaknya jenis router. Saya tidak menjelaskan bagaimana caranya 😀

muka gile

Pada harddisk boot system, partisi sewaktu installasi saya biarkan system yang mengaturnya. Jadi tidak ada partisi khusus cache pada harddisk boot, hanya folder untuk cache saja yang saya buat.

Pertama-tama (jika fresh install), saya install dulu nano-editor

# cd /usr/ports/editors/nano
# make clean install

Tunggulah beberapa saat, ini mengambil paket dari internet dan mengcompile paket nano.

Jika sudah, aktifkan ssh untuk root login, jika memang membutuhkan root di SSH.

# nano /etc/ssh/ssh_config
# nano /etc/ssh/sshd_config

Lalu tambahkan ini ke file ssh_config & sshd_config

PermitRootLogin yes
PasswordAuthentication yes
AllowUsers root
Port 22

jangan lupa di restart service ssh nya:

# service sshd restart

Jika tidak tampak pesan error, anda sudah bisa meremote ssh mesin freebsd ini. Saatnya berpindah dari monitor mesin freebsd ke ruangan lain 😀

yang bener5

Lalu saatnya squid di install. Pada fbsd 9, di dalam /usr/ports ada terdapat 2 versi squid; 3.1 dan 3.2. Saya pilih yang 3.1 saja 😀 untuk itu; install squid 3.1 dengan cara ports:

# cd /usr/ports/www/squid31
# make clean install

Pastikan SQUID_PF dan SQUID_AUFS dipilih, karena saya membutuhkan delaypools, saya cek delay-pool juga. Pilih tombol {OK} lalu {enter} untuk memulai. Proses compile agak lama; jadi harap sabar. Karena metode ini mengcompile dari file source — bukan mengunduh file binari. Jika sudah terlanjur enter, tekan {ctrl-c} lalu ketik ‘make config’ untuk kembali ke menu awal konfigurasi.

freebsd squid install 002 freebsd squid install 001

Karena saya memiliki 1 harddisk lagi yang belum di partisi dan di format, untuk itu saya siapkan dulu harddisk tsb untuk tempat penampungan cache.

# mkdir /squid
# mkdir /squid/cache1
# mkdir /squid/cache2
# mkdir /squid/log
# chown -R squid:squid /squid

Contoh direktori diatas bisa menimbulkan masalah sekuriti, harap jangan ditiru 😀

Lalu list saja daftar harddisk pada mesin:

# dmesg | grep ata
# dmesg | grep scsi
# dmesg | grep ide

Pilih saja, yang mana sesuai dengan controller disk di mesin. Pada controller scsi link harddisk ada di /dev/daXX. Untuk IDE /dev/adXX. Misalnya /dev/da0p2 artinya harddisk scsi urutan 1 partisi 2; dsb dsb.

Untuk partisi harddisk tambahan, ada 2 cara. Bisa memakai cli gparted atau ‘sysinstall’. Saya akan memakai cara kedua, karena lebih gui walaupun text-mode 😀

Ketikkan sysinstall pada prompt lalu pilih ‘configure’ — Partition. Tekan {a} (untuk memakai semua kapasitas harddisk). Setelah itu tekan {q} untuk keluar. pilih NONE pada bootloader. lalu Pilih kembali dibawah partition yaitu Label (Format disk).

 

freebsd squid install 003freebsd squid install 004freebsd squid install 005

 

Pada menu LABEL — tekan {C} untuk menformat partisi. Lalu pilih FS. Masukkan mount point /squid/cache2. Tekan {W} {yes} untuk proses formating. Diakhiri dengan {Q} untuk keluar ke menu.

freebsd squid install 008.pgfreebsd squid install 008.pg freebsd squid install 009

Lakukan tes baca tulis dulu untuk memastikan 😀

 

# cd /squid/cache2
# echo tes tulis>tes.txt
# tail tes.txt

cari tahu dulu apa simbolik link untuk harddisk tambahan. dengan menggunakan:

# df -h

Filesystem Size Used Avail Capacity Mounted on
/dev/da0p2 16G 2.9G 12G 19% /
devfs 1.0k 1.0k 0B 100% /dev
/dev/da1s1 36G 17M 33G 0% /squid/cache2

/dev/da1s1 adalah partisi yang dibuat untuk cache2 oleh sysinstall diatas.

Selanjutkan buat mount point tsb aktif saat boot.

# nano /etc/fstab

Lalu isikan  pada akhir file. Ini belum tentu sama pada setiap mesin freebsd.

/dev/da1s1 /squid/cache2 ufs rw 1 1

Save dengan menekan tombol {ctrl-x} {y} {enter}

Sekarang saatnya mengkonfigurasi squid 3.1 ini. File config ada di /usr/local/etc/squid/squid.conf

# nano /usr/local/etc/squid/squid.conf

 

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443 8443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localnet
http_access allow localhost

http_access deny all
http_port 3128 transparent
http_port 8080  #untuk yang manual seting.

#hanya contoh saja. gunakan calculator squid untuk lebih pastinya 
cache_dir ufs /squid/cache1 1000 16 256
cache_dir ufs /squid/cache2 15000 16 256 

cache_mem 64 MB #brp MB? squid bisa menggunakan ram fisik.

visible_hostname squidproxy.freebsd.local
cache_mgr sibewok@dimana.aja

cache_access_log none #saya tidak memerlukan log, jadi saya disabled.
#cache_access_log /squid/log/access.log #enable yg ini kalau butuh log akses
cache_log /squid/log/cache.log
cache_store_log /squid/log/store.log

coredump_dir /squid/cache2

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|?) 0 0% 0
refresh_pattern . 0 20% 4320
refresh_pattern -i .gif$ 10080 100% 43200
refresh_pattern -i .jpg$ 10080 100% 43200
refresh_pattern -i .jpeg$ 10080 100% 43200
refresh_pattern -i .png$ 10080 100% 43200
refresh_pattern -i .bmp$ 10080 100% 43200
refresh_pattern -i .mid$ 10080 100% 43200
refresh_pattern -i .wav$ 10080 100% 43200
refresh_pattern -i .mp3$ 10080 100% 43200
refresh_pattern -i .swf$ 10080 100% 43200
refresh_pattern -i .zip$ 10080 100% 43200
refresh_pattern -i .rar$ 10080 100% 43200
refresh_pattern -i .msu$ 10080 100% 43200
refresh_pattern -i .msi$ 10080 100% 43200
refresh_pattern -i .flv$ 10080 100% 43200
refresh_pattern -i .exe$ 10080 100% 43200

dns_nameservers 192.168.30.1 8.8.8.8  #dns squid secara manual.

cache_effective_user squid
cache_effective_group squid

maximum_object_size_in_memory 32 KB
maximum_object_size 93000 KB #kalau sering ada updatean s/w utk client bisa diperbesar.

connect_timeout 133 seconds
request_timeout 3 minutes

#tambahakan url yg dilarang disini
acl dilarang dstdomain .milf.com .redtube.com

http_access deny dilarang

lalu dilanjutkan proses membuat swap squid:

# squid -z

2013/08/31 20:32:06| Creating Swap Directories
2013/08/31 20:32:06| /squid/cache1 exists
2013/08/31 20:32:06| Making directories in /squid/cache1/00
2013/08/31 20:32:06| Making directories in /squid/cache1/01
2013/08/31 20:32:06| Making directories in /squid/cache1/02
2013/08/31 20:32:06| Making directories in /squid/cache1/03
....
2013/08/31 20:32:09| Making directories in /squid/cache1/0F
2013/08/31 20:32:10| /squid/cache2 exists
2013/08/31 20:32:10| Making directories in /squid/cache2/00
2013/08/31 20:32:11| Making directories in /squid/cache2/01
....
2013/08/31 20:32:14| Making directories in /squid/cache2/0C
2013/08/31 20:32:14| Making directories in /squid/cache2/0D
2013/08/31 20:32:14| Making directories in /squid/cache2/0E
2013/08/31 20:32:14| Making directories in /squid/cache2/0F

Agar squid dianggap service; edit dulu file rc.conf

# nano /etc/rc.conf

Lalu tambahkan ini

[...]
squid_enable="yes"
[...]

Simpan lalu start service squid dengan:

# service squid start

kalau ada tulisan ‘Starting Squid’ saja. berarti si Squid sudah berjalan di system. Untuk itu lakukan pengetesan sederhana pada mesin, dengan menggunakan telnet:

# telnet localhost 8080

ketikkan apa saja; kalo errror, tidak apa-apa. cuma memastikan squid berjalan. contoh output errornya seperti ini:

Your cache administrator is sibewok@dimana.aja.



Connection closed by foreign host.

 

freebsd squid install 011
contoh website yg dilarang oleh squid
freebsd squid install 010
tampilan myipadress. squid terdeteksi sebagai proxy
Situs ini kehilangan image dan files penunjang; karena terjadi storage failure dan saya tidak menyimpan backupnya - harap maklum
+