Archive for the ‘Linux’


Published January 30th, 2009

Otomatisasi Bypass Squid Proxy Server

Kebetulan beberapa minggu ini, listrik yang di-suplay dari PLN agak batuk-batuk sehingga mengakibatkan beberapa server down dengan otomatis, kebetulan saja UAD mengimplementasikan salah satu mesin proxy servernya menggunakan Squid yang di topang dengan sistem operasi FreeBSD. Sistem ini berkolaborasi dengan mesin Core UAD yang mengelola seluruh NAT dan rule-rule penting yang harus mempunyai permit autentikasi allow dan deny sesuai dengan identifikasi kebutuhan yang dibutuhkan di UAD dengan bantuan program PF yang ditopang juga dengan sistem operasi FreeBSD yang khususon di-compile khusus untuk mengelola detak jantung network UAD.

squid-bsd2

Di UAD menerapkan sistem hanya ada satu NAT terpusat yang dikelola oleh mesin Core UAD, sedangkan jaringan VLAN yang tersebar diseluruh pelosok UAD hanya routing saja, untuk urusan ini kami mempercayakan kepada sistem operasi Mikrotik 3.17 dengan licence level 6. Permasalahannya adalah ketika mesin proxy utama mati, maka jaringan akan tetap berjalan normal tetapi tanpa menggunakan proxy, nek diterus-teruske koneksi yang sudah dan bisa di cache akan dipanggil terus menerus, walhasil akan menyebabkan pemborosan bandwith sek lumayan guede.

Berikut ini ada sedikit script untuk bumbu mesin proxy UAD, script ini akan berjalan otomatis ketika service network pada mesin core UAD di-start atau restart, script ini menggunakan sedikit shell programming, jadi kalau masih bingung, silahkan tanya-tanya sama simbah gugel siapa tahu nemu solusine. untuk lebih detailnya script yang kita gunakan seperti ini :

#!/bin/sh
delay=5;
rm -f /tmp/squid.up /tmp/squid.down
while [ 1 ] ; do
nmap -sT -p 8200 118.97.8.22 | egrep “8200/tcp.*filtered|open”
if [ "$?" -eq 0 ] ; then
echo “Squid is UP”
touch /tmp/squid.up
if [ -f "/tmp/squid.down" ]; then
logger “squid Already UP”
rm -f /tmp/squid.down
# Please put Action to put routing at here
/sbin/pfctl -a “RDR-PROXY” -f /etc/pf/anchor/RDR-PROXY
fi
touch /tmp/squid.up
else
echo “Squid is Down”
touch /tmp/squid.down
if [ -f "/tmp/squid.up" ]; then
logger “squid Already DOWN”
rm -f /tmp/squid.up
#please put action to remove routing at here
/sbin/pfctl -a “RDR-PROXY” -Fn
fi

fi
sleep $delay
done

semoga bermanfaat, stay tune at this blog, tetap semangat, OK.