Okelah, saya mulai pembahasannya. Pertama pastikan kalian mampu dan memahami ip subnetting, perintah dasar linux, dan perintah dasar mikrotik. Agar gak bingung prakteknya, berikut ini bahan yang diperlukan :
setelah proses install selesai lanjutkan dengan setting ip address :
interface eth0
ip address : 120.152.100.2
netmask 255.255.255.248
gateway 120.152.100.1
Interface eth1
ip address : 120.152.100.17
netmask 255.255.255.250
Oke, kemudian kita melanjutkan dengan membuka file type.h dengan cara mengetik perintah berikut :
root@proxy:~# vi /usr/include/bits/types.h
edit bagian ini :
#define __FD_SETSIZE 1024
menjadi seperti ini
#define __FD_SETSIZE 8192
simpan dan keluar dari menu vi editor.
kita lanjutkan dengan mengetik perintah berikut :
root@proxy:~# ulimit -HSn 8192
Download squid proxy.
wget http://202.154.183.7/squid-2.5.STABLE9.tar.gz
simpan di direktori /usr/local/src
ekstrak dengan perintah :
tar -zxvf squid-2.5.STABLE9.tar.gz
masuk kedirektori squid
ketik perintah berikut :
./configure \ --prefix=/opt/squid \ --exec-prefix=/opt/squid \ --enable-gnuregex \ --enable-async-io=30 \ --with-aufs-threads=30 \ --with-pthreads \ --with-aio \ --with-dl \ --enable-storeio=aufs \ --enable-removal-policies=heap \ --enable-icmp \ --disable-wccp \ --enable-snmp \ --enable-cache-digests \ --enable-default-err-languages=English \ --enable-err-languages=English \ --enable-linux-netfilter \ --disable-ident-lookups \ --disable-hostname-checks \ --enable-underscores
kemudian kita lanjutkan dengan mengatur squid config nya, silahkan gunakan settingan squid punya saya dibawah ini namun pastikan ip address yang di izinkan sesuai dengan settingan ip anda :
http_port 8080 acl youtube dstdomain .youtube.com no_cache allow youtube hierarchy_stoplist cgi-bin ? localhost .js .jsp .friendster.com acl QUERY urlpath_regex cgi-bin \? localhost .friendster.com no_cache deny QUERY cache_replacement_policy heap LFUDA memory_replacement_policy heap GDSF cache_mem 6 MB cache_dir aufs /cache1 8000 13 256 cache_dir aufs /cache2 8000 13 256 cache_swap_low 98 cache_swap_high 99 cache_access_log /cache1/access.log cache_log /dev/null cache_store_log none mime_table /opt/squid/etc/mime.conf pid_filename /var/run/squid.pid client_netmask 255.255.255.0 refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod redirect_rewrites_host_header off acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localnet src 120.152.100.0/255.255.255.0 acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 8443 563 777 acl Safe_ports port 25 80 81 110 443 563 6667 7000 777 210 119 70 21 1025-65535 acl Safe_ports port 280 6668 6669 acl Safe_ports port 488 acl Safe_ports port 591 acl Safe_ports port 777 acl lewat dst_as 4622 4761 4787 4795 4796 4855 4800 7587 7597 7713 9326 9340 9448 9657 9791 9794 9875 9905 9228 9251 10114 10137 10208 10217 17440 17450 17451 17538 17658 17671 17670 17725 17727 17769 4832 4833 17817 17884 17907 17910 17922 17800 10220 17974 17826 17885 18052 18056 18059 7632 4821 18103 17996 18004 18153 18156 18189 18237 18251 18347 3583 3382 4382 4434 18364 18365 18379 9341 9785 18393 17995 23651 23666 23671 23679 23691 23756 23945 24052 24057 24194 always_direct allow lewat always_direct deny all #header_access Accept-Encoding deny all acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow localnet http_access allow localhost http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access deny CONNECT httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on http_access deny all maximum_object_size 128 MB maximum_object_size_in_memory 8 KB ipcache_size 4096 ipcache_low 98 ipcache_high 99 quick_abort_min 0 quick_abort_max 0 quick_abort_pct 75 fqdncache_size 4096 shutdown_lifetime 10 seconds cache_mgr rajaproxy@gmail.com cache_effective_user squid cache_effective_group squid memory_pools off buffered_logs off log_icp_queries off logfile_rotate 1 log_fqdn off forwarded_for off icp_hit_stale on query_icmp on reload_into_ims on emulate_httpd_log off negative_ttl 2 minutes pipeline_prefetch on vary_ignore_expire on half_closed_clients off high_page_fault_warning 2 visible_hostname planetdiponk.blogspot.com nonhierarchical_direct on prefer_direct off
Kita lanjutkan dengan menambah user pada squid, dengan mengetik perintah berikut :
root@proxy:~# useradd squid
tambahkan juga group squid
root@proxy:~# groupadd squid
bentuk direktori cache di squid :
root@proxy:~# /opt/squid/sbin/squid -z
ketik perintah ini sekali lagi :
root@proxy:~# ulimit -HSn 8192
kemudian jalankan squid dengan perintah :
root@proxy:~# /opt/squid/sbin/squid -DY &
Sudah mulai pusing belum? hehehe, sabar sob. Kita lanjutkan setting mikrotik
/ip address add address=120.152.100.18/30 interface=ether1
karena seluruh ip yang di gunakan adalah ip publik maka kita perlu subnetting di pisah-pisah.
masukan ip address untuk pasangan ip client :
misalkan ip client adalah 120.152.100.22 maka yang di masukkan di mikrotik ethr2 adalah 120.152.100.21/30
demikian pula untuk pasangan ip client2 yang lain.
/ip address add address=120.152.100.21/30 interface=ether2
kemudian masukan gateway nya ke arah proxy :
/route add gateway=120.152.100.17
atur route di proxy agar mengizinkan network end mikrotik dapat lewat :
route add -net 120.152.100.20/30 gateway 120.152.100.18
Lalu kita buat peraturan pada iptables Linux :
iptables -A PREROUTING -t nat -p tcp -s 120.152.100.0/24 -i eth2 -d \! 120.152.100.0/24 --dport 80 -j REDIRECT --to 8080
jalankan dns server yang telah ada secara default di slackware dengan perintah :
root@proxy:~# named -d1
tinggal edit di /etc/resolv.conf
nameserver 127.0.0.1
Akhir cara membuat isp sendiri sudah selesai, sekarang ip public kita dapat terdistrubusi kepada klien dan penggunaan proxy berguna sebagai penghematan bandwith. Semoga tutorial saya ini bermanfaat jika kalian kesulitan atau terjadi trobelshooting silahkan tulis pada kolom komentar dibawah, kalau bisa pakai printscreen ya
Good Luck