Mikrotik + FreeBSD lusca Squid
Sebagai catatan ringan saja untuk saya sendiri agar tidak lupa. Saya coba tuliskan sedikit cara menginstall proxy squid lusca di FreeBSD dengan topologi sebagai berikut
Keterangan:
IP Mikrotik
ether1-publik = 111.213.168.102/26
ether2-lokal = 192.168.12.254/24
ether3-proxy = 10.29.0.254/24
Ip Proxy (em0) = 10.29.0.253/24
Instalasi FreeBSD 10.1 ZFS
Untuk tutorial instalasi freebsd 10.1 dengan metode ZFS sudah saya buat dalam bentuk video seperti dibawah ini.
Setelah selesai instalasi FreeBsd awal, direct login dengan ssh lakukan update port.
# portsnap fetch # portnsap extract # portsnap fetch update
Instalasi paket PERL
# cd /usr/ports/lang/perl5.18 # make install clean
Download dulu bahan-bahan jamu disini.Password rar “forummikrotik” tanpa tanda petik.
Upload hasil download lusca ke box FreeBSD dengan tool winscp, terserah di direktori mana bisa juga di direktori /tmp kemudian lakukan extract.
# tar xvzf LUSCA_HEAD-r14809.tar.gz # cd LUSCA_HEAD-r14809
Konfigur sesuai dengan kebutuhan, atau bisa sama persis dengan prefix berikut yang sudah saya sesuaikan untuk keperluan di FreeBSD.
./configure --bindir=/usr/local/bin --sbindir=/usr/local/sbin --sysconfdir=/usr/local/etc/squid --datadir=/usr/local/etc/squid --libexecdir=/usr/local/libexec/squid --localstatedir=/var/log/squid --enable-removal-policies="heap" --enable-auth="basic ntlm digest" --enable-digest-auth-helpers=password --with-pthreads --enable-async-io=24 --with-aufs-threads=24 --enable-storeio="aufs coss" --disable-ident-lookups --enable-delay-pools --enable-snmp --enable-cache-digests --disable-wccp --enable-useragent-log --enable-http-violations --enable-arp-acl --disable-follow-x-forwarded-for --with-large-files --enable-large-cache-files --enable-default-err-language=English --with-maxfd=65536
Lanjutkan ke perintah make build
# make # make install clean
Buat file kosong log access dan cache
# touch /var/log/squid/access.log # touch /var/log/squid/cache.log # chmod 777 /var/log/squid
Cek dulu direktori zfs, kemudian buat direktori cache, mount melalui zfs.
# zfs list # mkdir /cache # zfs create -o mountpoint=/cache zroot/data # chmod 777 /cache
Masukkan squid.conf dan storeurl.pl ke /usr/local/etc/squid jangan lupa chmod.
# cd /usr/local/etc/squid # chmod 777 storeurl.pl # chmod +x storeurl.pl
Buat listing direktori cache dengan perintah berikut.
# squid -z
Mengecek konfigurasi squid apakah masih ada yang error atau tidak.
# squid -k parse
Seandainya sudah tidak terdapat error, jalankan squid dengan perintah.
# squid -sY
Melihat access.log atau cache.log dengan perintah
# tail -f /var/log/squid/access.log # tail -f /var/log/squid/cache.log
tambahkan di /etc/rc.conf agar squid dapat autostart.
# ee /etc/rc.conf squid_enable="YES"
copy/upload file squid ke /usr/local/etc/rc.d jangan lupa chmod.
# cp squid /usr/local/etc/rc.d/ # chmod +x /usr/local/etc/rc.d/squid
perintah shutdown squid
# squid -k kill
Settinglah konfigurasi squid.conf sesuai dengan keahlian/kebutuhan, atau bisa samakan dengan contoh. Berhati-hatilah melakukan setting, jika salah maka tidak bisa running squidnya. Gunakan tool squidcalc untuk menghitung cache yang diperlukan.
Konfigurasi Mikrotik
Masukkan ip di masing-masing interface sesuai dengan topologi anda.
/ip address add address=192.168.12.254/24 interface=ether2-lokal network=192.168.12.0 add address=111.213.168.102/26 interface=ether1-publik network=111.213.168.64 add address=10.29.0.254/24 interface=ether3-proxy network=10.29.0.0
Tambahkan default route
/ip route add distance=1 gateway=101.203.168.65
Buat NAT masquerade untuk koneksi dari lokal dan proxy.
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1-publik src-address-list=ip-nat /ip firewall address-list add address=10.29.0.0/24 list=ip-nat add address=192.168.12.0/24 list=ip-nat
Buat redirect proxy external port 80 ke alamat proxy 10.29.0.253 port 8000
/ip firewall nat add action=dst-nat chain=dstnat comment=redirect-proxy-external dst-port=80 in-interface=ether2-lokal protocol=tcp src-address=192.168.12.0/24 to-addresses=10.29.0.253 \ to-ports=8000
Buat mangle dan quee tree agar koneksi dari proxy ke klien tidak terkena limit.
/ip firewall mangle add action=mark-packet chain=forward comment=HIT-PROXY dscp=12 \ new-packet-mark=HIT-PROXY passthrough=no /queue tree add max-limit=100M name=PROXY-HIT packet-mark=HIT-PROXY parent=global \ priority=1 queue=default
Jangan Lupa setting jam menggunakan ntp client.
/system clock set time-zone-name=Asia/Jakarta /system ntp client set enabled=yes mode=unicast primary-ntp=203.114.224.252
Sampai disini konfigurasi mikrotik sudah bisa redirect proxy ke external.
Agar rule redirect proxy external shutdown otomatis saat service squid pada proxy external shutwon/mati, maka diperlukan konfigurasi tambahan.
Pertama buat http server di server proxy freebsd , silahkan bisa menggunakan apache, nginx, lighthttp dll. Disini saya pilih nginx, instalasi sbb.
# cd /usr/port/www/nginx # make install clean # cd /usr/local/www/nginx # ee test.txt
File test.txt bisa diisi terserah atau dibiarkan kosong tidak masalah.
Tambahkan config berikut ke /etc/rc.conf agar nginx server autostart
nginx_enable="YES"
Langkah keedua selanjutnya pindah konfigurasi ke mikrotik.
/system scheduler add interval=10s name=Check_Proxy on-event=PROXY policy=reboot,read,write,policy,test,password,sniff,sensitive \ start-date=jan/01/1970 start-time=00:00:00 /system script add name=Check-proxy policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source="{\r\ \n:local checkpage \"test.txt\";\r\ \n:local found \"0\" ;\r\ \n:foreach i in=[/file find] do={\r\ \n:local filename [/file get \$i name];\r\ \n:if ( \$filename = \$checkpage) do={ \r\ \n:set found \"1\" ; \r\ \n:log info \"found\"; \r\ \n}\r\ \n}\r\ \n:log warning \"\$found\";\r\ \n:if ( \$found = \"0\" ) do={ \r\ \n:log warning \"Disable rule, service down\"; \r\ \n/ip fire nat dis 1 ; \r\ \n} else={ \r\ \n:log info \"Enable rule, service up\"; \r\ \n/ip fire nat en 1; \r\ \n}\r\ \n/file remove \$checkpage;\r\ \n}\r\ \n" add name=Download policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source=\ "{\r\ \n/tool fetch url=\"http://10.29.0.253/test.txt\" mode=http port=8000\r\ \n}" add name=PROXY policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive source=\ "{\r\ \n/system script run Check-proxy;\r\ \n:delay delay-time=2\r\ \n/system script run Download \r\ \n}\r\ \n"
Script yang tertulis BOLD bisa disesuaikan dengan konfigurasi mikrotik yang ada.
END….
Sumber:
– http://www.forummikrotik.com/
– https://www.freebsd.org/doc/handbook/zfs-quickstart.html
pak saya belum faham tentang seting mikro tik di aplikasi server,,
kapan materinya bisa di bahas,,hih
di beberapa tutorial tersebar di forum mikrotik sudah banyak samplenya, tgl aplikasinya untuk apa…
lengkap sekali tutorialnya, mas 😉
saya lagi mau nyoba instal proxy, apa boleh minta address emailnya? buat minta saran nanti kalo error 😀
terimakasih banyak sebelumnya
silahkan, di kontak sudah sy tuliskan lengkap
kok setiap mau install perl gagal?
coba perl-nya ga harus pakai yg 5.18 bisa yg lainnya 5.20 atau berapa.
kalau intstallnya dari port, sebelumnya update portnya dulu dengan perintah:
# portsnap fetch update
Maaf itu untuk pembagian nya dimana ya seperti :
boot
swap
/
/usr
/var
/cache1
/cache2
/cache3
terima kasih
terserah saja mas, sy biasanya /boot dll jadi 1 partisi, kl swap diset 1Gb saja.
Yang saya pisah biasanya partisi cache nya.
terima kasih atas pencerahannya.
Maksud saya ketika saya melihat di panduan di youtube anda tidak ada pembagian cache dll nya.
jadi untuk pembagian cache ( cara baginya ) bagaimana ???
soalnya ketika saya install freebsd 9 itu ada pembagian cache nya di pass waktu install. terima kasih
aku cek kembali.
mas waktu install nya gak ambil yang manual ya.
tapi langsung install. makanya disana tidak disebutkan berapa berapa cache nya.
memang yg video tutorial Freebsd 10 itu sy hnya install semua masuk “/” tdk ada yang tak bagi.
tinggal sberapa besar HD nya saja, oh iya sy lupa kalo itu partisinya ZFS, maka cukup pakai command yang ini:
# mkdir /cache
# zfs create -o mountpoint=/cache zroot/data
# chmod 777 /cache
atau mau tambah cache2
# mkdir /cache2
# zfs create -o mountpoint=/cache2 zroot/data
# chmod 777 /cache2
coba cek
ada notif tidak