1. cache drive = primary-slave
2. port = 3128
3. Cache Hit DSCP (TOS) = 5
4. ip mikrotik 192.168.1.1
proxy cache
Code:
ip proxy cache print
Flags: X - disabled
# DST-PORT DST-HOST PATH METHOD ACTION HITS
0 /*\?* allow 1765
1 /cgi-bin/* allow 0
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
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
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
proxy cache
- 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
- 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
saya berasumsi bahwa UP TRAFFIC yang dimaksud pada mangle di atas adalah paket/koneksi yang berasal darimikrotik 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
mangle
Code:
/ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; 1.[pack-up-global] Upstream Global
chain=output action=mark-connection new-connection-mark=conn-up-global
passthrough=yes protocol=tcp out-interface=PPPoE-Speedy
1 chain=output action=mark-packet new-packet-mark=pack-up-global
passthrough=no protocol=tcp out-interface=PPPoE-Speedy
connection-mark=conn-up-global
2 ;;; 2.[pack-down-global] Trafic Downstream Global
chain=input action=mark-connection new-connection-mark=conn-down-global
passthrough=yes protocol=tcp in-interface=PPPoE-Speedy
3 chain=input action=mark-packet new-packet-mark=pack-down-global
passthrough=no protocol=tcp in-interface=PPPoE-Speedy
connection-mark=conn-down-global
4 ;;; 3.[pack-proxy-hit] Proxy to Client / Proxy HIT
chain=output action=mark-connection new-connection-mark=conn-proxy-hit
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=output action=mark-packet new-packet-mark=pack-proxy-hit
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-proxy-hit dscp=5
6 ;;; 4.[pack-up-client] Upstream Client to Mikrotik
chain=prerouting action=mark-connection
new-connection-mark=conn-up-client passthrough=yes protocol=tcp
src-address-list=nat-addr in-interface=eth1-LAN src-port=!3128
connection-mark=!conn-proxy-hit
7 chain=prerouting action=mark-packet new-packet-mark=pack-up-client
passthrough=no protocol=tcp src-address-list=nat-addr
in-interface=eth1-LAN src-port=!3128 connection-mark=conn-up-client
8 ;;; 5.[pack-down-direct] Downstream Direct Connection
chain=forward action=mark-connection
new-connection-mark=conn-down-direct passthrough=yes protocol=tcp
dst-address-list=nat-addr in-interface=PPPoE-Speedy
out-interface=eth1-LAN
9 chain=forward action=mark-packet new-packet-mark=pack-down-direct
passthrough=no protocol=tcp dst-address-list=nat-addr
in-interface=PPPoE-Speedyout-interface=eth1-LAN
connection-mark=conn-down-direct
10 ;;; 6.[pack-down-client] Downstream Direct Conn / Proxy to Client
chain=output action=mark-connection new-connection-mark=conn-down-client
passthrough=yes protocol=tcp src-address-list=nat-addr
out-interface=eth1-LAN connection-mark=!conn-proxy-hit
11 chain=output action=mark-packet new-packet-mark=pack-down-client
passthrough=no protocol=tcp src-address-list=nat-addr
out-interface=eth1-LAN connection-mark=conn-down-client
- rule 2-3, berfungsi untuk menangkap paket download dari luar (internet) menuju mikrotik
- rule 4-5, berfungsi untuk menangkap paket proxy cache hit yang berasal dari mikortik ke client
- rule 6-7, berfungsi untuk menangkap paket upload dari masing-masing client (tinggal di sesuaikan src-addressnya saja)
- rule 8-9, berfungsi untuk menangkap paket download yang tidak masuk ke dalam proxy seperti port 443 yang di minta oleh client(tinggal di sesuaikan dst-addressnya saja)
- rule 10-11, berfungsi untuk menangkap paket download yang di minta oleh client (tinggal di sesuaikan src-addressnya saja)
update : queue tree
Code:
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=1000000 name="'Downstream" packet-mark="" parent=global-out \
priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=256000 name="'Upstream" packet-mark="" parent=global-in \
priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Global-Upstream packet-mark="" parent=PPPoE-Speedy \
priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=Global-Downstream packet-mark="" parent=PPPoE-Speedy \
priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=1000000000 name="''Proxy" packet-mark="" parent=global-out \
priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=yes limit-at=0 \
max-limit=0 name=A-SPACE packet-mark="" parent=global-in priority=8 \
queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=\
100000000 max-limit=1000000000 name="3.Proxy Hit" packet-mark=\
pack-proxy-hit parent="''Proxy" priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=256000 \
max-limit=1000000 name=5.Down-Direct packet-mark=pack-down-direct parent=\
"'Downstream" priority=2 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=1.Up-Global packet-mark=pack-up-global parent=\
Global-Upstream priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=0 name=2.Down-Global packet-mark=pack-down-global parent=\
Global-Downstream priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=256000 \
max-limit=1000000 name=6.Down-Client packet-mark=pack-down-client parent=\
"'Downstream" priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64000 \
max-limit=256000 name=4.Up-Client packet-mark=pack-up-client parent=\
"'Upstream" priority=8 queue=default
update
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
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
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
- 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
- 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
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
dari mangle di atas dapat di simpulkan sebagai berikut :
Mangle dan Queue yg lebih top markotop (menurut saya, menurut anda?)
Mangle
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
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












