Tutorial Router Mikrotik Lengkap

Thursday 1 November 2012

Solusi Membuat Squid Proxy Di Mikrotik

Proxy server berfungsi untuk membuat salinan data yang dibaca dari Internet ke jaringan lokal kita sehingga jika di lain waktu kita mengakses data yang sama, maka data tersebut akan diambil dari jaringan lokal kita sehingga akan sangat menghemat bandwith kita ke Internet.
Squid adalah proxy server yang paling stabil dan paling umum digunakan untuk sistem operasi Linux. Instalasi dan setting squid tidak sesulit yang anda bayangkan, dalam artikel ini penulis akan berusaha untuk menunjukkan caranya. Saya mencoba membuat sedikit tutorial untuk setingan dasar Squid Proxy di Mikrotik

Pada awalnya saya ingin membuat sebuah proxy internal dengan memanfaatkan komputer bekas, setelah obrak-abrik google dan forum ini saya menemukan setting mangle untuk proxy internal, kira” begini settinganya :
sebelumnya di asumsikan bahwa :
1. cache drive = primary-slave
2. port = 3128
3. Cache Hit DSCP (TOS) = 5
4. ip mikrotik 192.168.1.1
5. ip client 192.168.1.2 – 254

proxy cache
This image has been resized. Click this bar to view the full image. The original image is sized 658×134.

Code:
ip proxy cache print
Flags: X - disabled
 #   DST-PORT             DST-HOST        PATH        METHOD  ACTION HITS
 0                                        /*\?*               allow  1765
 1                                        /cgi-bin/*          allow  0
address-list

Code:
/ip firewall address-list print
Flags: X - disabled, D - dynamic
 #   LIST                                       ADDRESS
 0   ;;; my local network
     local-addr                                 192.168.1.0/24
 1   ;;; my src-nated local network hosts
     nat-addr                                   192.168.1.0/24
nat
This image has been resized. Click this bar to view the full image. The original image is sized 701×239.

Code:
ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; Transparent Web Cache
     chain=dstnat action=redirect to-ports=3128 protocol=tcp
     src-address-list=nat-addr in-interface=eth1-LAN dst-port=80 

 1   chain=dstnat action=redirect to-ports=3128 protocol=tcp
     src-address-list=nat-addr in-interface=eth1-LAN dst-port=8080 

 2   chain=dstnat action=redirect to-ports=3128 protocol=tcp
     src-address-list=nat-addr in-interface=eth1-LAN dst-port=3128 

 3   ;;; ALL Masq
     chain=srcnat action=masquerade src-address-list=nat-addr 

 4   ;;; DNS Resolver
     chain=dstnat action=redirect to-ports=53 protocol=udp dst-port=53 

 5   chain=dstnat action=redirect to-ports=53 protocol=tcp dst-port=53
mangle
Code:
/ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; HIT TRAFFIC FROM PROXY
  chain=output out-interface=eth1-LAN dscp=5 action=mark-packet
  new-packet-mark=proxy-hit passthrough=no

 1   ;;; UP TRAFFIC
     chain=prerouting in-interface=eth1-LAN src-address-list=nat-addr \
  action=mark-packet new-packet-mark=test-up passthrough=no 

 2   ;;; CONN-MARK
     chain=forward src-address-list=nat-addr action=mark-connection
     new-connection-mark=test-conn passthrough=yes 

 3   ;;; DOWN-DIRECT CONNECTION
     chain=forward in-interface=PPPoE-Speedy connection-mark=test-conn
  action=mark-packet new-packet-mark=test-down passthrough=no 

 4   ;;; DOWN-VIA PROXY
     chain=output out-interface=eth1-LAN dst-address-list=nat-addr
  action=mark-packet new-packet-mark=test-down passthrough=no
dengan rule di atas maka akan di dapatkan kesimpulan :
proxy cache
Quote:
semua mua akan di simpan ke dalam proxy cache
address-list
Quote:
daftar local address dan ip yang ingin di nat, di sini saya menggunakan semua ip local untuk di nat
nat
Quote:
- pada no 0 – 2 adalah rule untuk membelokan ke web-proxy
- pada no 3 adalah rule masquerade client
- pada no 4 dan 5 adalah rule untuk memaksa client menggunakan DNS yang telah di setting pada mikrotik
mangle
Quote:
- HIT TRAFFIC FROM PROXY, berfungsi untuk menangkap paket yang berasal dari web-proxy
- UP TRAFFIC, berfungsi untuk menangkap paket upload dari client
- CONN-MARK, berfungsi untuk menangkap koneksi yang tidak dibelokan ke web-proxy
- DOWN-DIRECT CONNECTION, berfungsi untuk menangkap paket yang tidak dibelokan ke web-proxy
- DOWN-VIA PROXY, berfungsi untuk menangkap paket download client
setelah saya terapkan rule di atas saya mengalami beberapa masalah, di antaranya :
Quote:
1. traffic upload yang telah di saring pada UP TRAFFIC tercampur dengan HIT TRAFFIC FROM PROXY, jadi apabila client mengakses cache pada mikrotik maka rate UP TRAFFIC dan HIT TRAFFIC FROM PROXY akan meningkat tajam. dan apabila client melakukan kegiatan upload maka hanya UP TRAFFIC yang meningkat.
saya berasumsi bahwa UP TRAFFIC yang dimaksud pada mangle di atas adalah paket/koneksi yang berasal dari mikrotik menuju ke luar mikrotik(tidak perduli mau ke arah ISP ataupun ke arah lokal)2. DOWN-VIA PROXY tidak berfungsi, karena saya melihat tidak ada paket yang lewat rule mangle ini.3. karena saya pencinta queue tree maka saya sangat-sangat kesulitan untuk membagi bandwidth tiap-tiap client
setelah meng-oprek selama lebih dari 1 minggu saya menemukan rule mangle yang saya rasa tepat untuk proxy internal, berikut hasil copas nya :
dari mangle di atas dapat di simpulkan sebagai berikut :
Mangle dan Queue yg lebih top markotop (menurut saya, menurut anda?)
Mangle
This image has been resized. Click this bar to view the full image. The original image is sized 890×494.

Code:
ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
 0   ;;; Check Chain
     chain=prerouting action=jump jump-target=check-pre 

 1   chain=postrouting action=jump jump-target=check-pos 

 2   chain=output action=jump jump-target=check-out 

 3   chain=input action=jump jump-target=check-in 

 4   ;;; Proxy Internal
     chain=check-out action=mark-connection
     new-connection-mark=conn-net-proxy passthrough=yes protocol=tcp
     src-address=192.168.1.1 dst-address-list=nat-addr
     out-interface=eth1-LAN src-port=3128 dscp=5 

 5   chain=check-out action=mark-packet new-packet-mark=pack-net-proxy
     passthrough=no protocol=tcp src-address=192.168.1.1
     dst-address-list=nat-addr out-interface=eth1-LAN src-port=3128
     connection-mark=conn-net-proxy dscp=5 

 6   ;;; Client Upstream
     chain=check-pre action=mark-connection
     new-connection-mark=conn-net-up-client passthrough=yes protocol=tcp
     src-address-list=nat-addr in-interface=eth1-LAN src-port=!3128
     connection-mark=!conn-net-proxy 

 7   chain=check-pre action=mark-packet new-packet-mark=pack-net-up-client
     passthrough=yes protocol=tcp src-address-list=nat-addr
     in-interface=eth1-LAN src-port=!3128 connection-mark=conn-net-up-client 

 8   ;;; Client Downstream
     chain=check-pos action=mark-connection
     new-connection-mark=conn-net-down-client passthrough=yes
     dst-address-list=nat-addr out-interface=eth1-LAN
     connection-mark=!conn-net-proxy 

 9   chain=check-pos action=mark-packet new-packet-mark=pack-net-down-client
     passthrough=yes dst-address-list=nat-addr out-interface=eth1-LAN
     connection-mark=conn-net-down-client 

10   ;;; Global Upstream
     chain=check-out action=mark-connection
     new-connection-mark=conn-net-up-global passthrough=yes
     out-interface=PPPoE-Speedy 

11   chain=check-out action=mark-packet new-packet-mark=pack-net-up-global
     passthrough=no out-interface=PPPoE-Speedy
     connection-mark=conn-net-up-global 

12   ;;; Global Downstream
     chain=check-in action=mark-connection
     new-connection-mark=conn-net-down-global passthrough=yes
     in-interface=PPPoE-Speedy 

13   chain=check-in action=mark-packet new-packet-mark=pack-net-down-global
     passthrough=no in-interface=PPPoE-Speedy
     connection-mark=conn-net-down-global 

14   ;;; Ping
     chain=prerouting action=mark-connection new-connection-mark=service-ping
     passthrough=yes protocol=icmp dst-address-type="" 

15   ;;; Broadcast
     chain=prerouting action=mark-connection
     new-connection-mark=service-broadcast passthrough=yes
     dst-address-type=broadcast
queue tree
This image has been resized. Click this bar to view the full image. The original image is sized 890×181.

Code:
queue tree print
Flags: X - disabled, I - invalid
 0   name="Downstream" parent=global-out packet-mark="" limit-at=0
     queue=pcq-down priority=2 max-limit=2000000 burst-limit=0
     burst-threshold=0 burst-time=0s 

 1   name="Upstream" parent=global-in packet-mark="" limit-at=0 queue=pcq-up
     priority=8 max-limit=256000 burst-limit=0 burst-threshold=0
     burst-time=0s 

 2   name="'Proxy" parent=global-out packet-mark=pack-net-proxy limit-at=0
     queue=default priority=1 max-limit=1000000000 burst-limit=0
     burst-threshold=0 burst-time=0s 

 3   name="Client-Down" parent=Downstream packet-mark=pack-net-down-client
     limit-at=128000 queue=pcq-down priority=1 max-limit=2000000
     burst-limit=0 burst-threshold=0 burst-time=0s 

 4   name="Client-Up" parent=Upstream packet-mark=pack-net-up-client
     limit-at=64000 queue=pcq-up priority=1 max-limit=256000 burst-limit=0
     burst-threshold=0 burst-time=0s
rule queue di atas dapat di sesuaikan dengan kebutuhan yg penting jgn langsung copy paste, di cek dulu satu-satu 
test on : 3.22 OS dan 3.19 DOM
Setingan ini menggunakan router Mikrotik versi 3.x
Sampai disini anda sudah melakukan instalasi, setting dan mengaktifkan squid, hal terakhir yang harus dilakukan adalah mengarahkan browser milik komputer client ke port proxy server kita sesuai dengan yang kita pakai pada setting diatas. Mudah bukan?
Share:

0 comments:

Post a Comment

statistics

Definition List