Skip to content

Goorkey's Blog

Note the life of a Son of Karo highland

Memakai 2 interface ethernet.

> interface print
Flags: X - disabled, D - dynamic, R - running
 #    NAME            TYPE             RX-RATE    TX-RATE    MTU
 0  R WAN             ether            0          0          1500
 1  R LAN             ether            0          0          1500

Untuk memisahkan traffic inter dan lokal saya mengambil script yang di tulis di mikrotik.co.id.
Terutama untuk firewall mangle-nya.

/ip firewall mangle
add chain=prerouting action=mark-connection new-connection-mark=iix-con \
    passthrough=yes in-interface=LAN dst-address-list=nice comment="marking iix" \
    disabled=no
add chain=prerouting action=mark-packet new-packet-mark=iix \
    passthrough=no connection-mark=iix-con comment="" disabled=no
add chain=prerouting action=mark-packet new-packet-mark=inter \
    passthrough=no comment="marking internasional" disabled=no

Fitur hotspot di mikrotik secara otomatis akan membuat queue simple untuk setiap user yang login.
Pada kondisi ini semua traffic akan masuk kedalam queue-nya, baik internasional atau lokal.

Untuk mensiasati hal ini perlu dibuatkan dibuatkan rule queue baru untuk
menangani traffic internasional dan lokal.

/queue simple
add name="INTER" target-addresses=172.16.1.0/24 dst-address=0.0.0.0/0 \
interface=all parent=none packet-marks=inter direction=both priority=1 \
queue=default-small/default-small limit-at=0/0 max-limit=512000/512000 \
total-queue=default-small disabled=no

add name="LOKAL" target-addresses=172.16.1.0/24 dst-address=0.0.0.0/0 \
interface=LAN parent=none packet-marks=iix direction=both priority=1 \
queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
total-queue=default-small disabled=no

Berikutnya, edit user profile seperti contoh dibawah:

[xxx@xxx] ip hotspot user profile> print
Flags: * - default
 0 * name="default" address-pool=hs-pool-2 keepalive-timeout=2m
     status-autorefresh=1m shared-users=1 rate-limit="64k/64k 128k/128k"
     on-login=:foreach i in [/queue simple find dynamic=yes] do={ /queue simple
              set $i parent="INTER" }\r\n\r\n:foreach n in=[/queue simple find
              priority=1] do={ /queue simple move $n [:pick [/queue simple
              find] 0] }\r\n\r\n:foreach n in=[/queue simple find priority=2]
              do={ /queue simple move $n [:pick [/queue simple find] 0] }
     transparent-proxy=no

Pastikan address-pool nya sesuai dengan yang di tempat anda.

Hostspot dengan pemisahan pembatasan internasional dan baypass lokal selesai sudah dan siap dipergunakan.

Versi mikrotik yang saya pakai masih 2.9.50 belum upgrade ke versi 3.x.
Saya memakai 2 interface ethernet.

> interface print
Flags: X - disabled, D - dynamic, R - running
 #    NAME            TYPE             RX-RATE    TX-RATE    MTU
 0  R WAN             ether            0          0          1500
 1  R LAN             ether            0          0          1500

Untuk memisahkan traffic inter dan lokal saya mengambil script yang di tulis di mikrotik.co.id.
Terutama untuk firewall mangle-nya.

/ip firewall mangle
add chain=prerouting action=mark-connection new-connection-mark=iix-con \
    passthrough=yes in-interface=LAN dst-address-list=nice comment="marking iix" \
    disabled=no
add chain=prerouting action=mark-packet new-packet-mark=iix \
    passthrough=no connection-mark=iix-con comment="" disabled=no
add chain=prerouting action=mark-packet new-packet-mark=inter \
    passthrough=no comment="marking internasional" disabled=no

Fitur hotspot di mikrotik secara otomatis akan membuat queue simple untuk setiap user yang login.
Pada kondisi ini semua traffic akan masuk kedalam queue-nya, baik internasional atau lokal.

Untuk mensiasati hal ini perlu dibuatkan dibuatkan rule queue baru untuk
menangani traffic internasional dan lokal.

/queue simple
add name="INTER" target-addresses=172.16.1.0/24 dst-address=0.0.0.0/0 \
interface=all parent=none packet-marks=inter direction=both priority=1 \
queue=default-small/default-small limit-at=0/0 max-limit=512000/512000 \
total-queue=default-small disabled=no

add name="LOKAL" target-addresses=172.16.1.0/24 dst-address=0.0.0.0/0 \
interface=LAN parent=none packet-marks=iix direction=both priority=1 \
queue=default-small/default-small limit-at=0/0 max-limit=0/0 \
total-queue=default-small disabled=no

Berikutnya, edit user profile seperti contoh dibawah:

[xxx@xxx] ip hotspot user profile> print
Flags: * - default
 0 * name="default" address-pool=hs-pool-2 keepalive-timeout=2m
     status-autorefresh=1m shared-users=1 rate-limit="64k/64k 128k/128k"
     on-login=:foreach i in [/queue simple find dynamic=yes] do={ /queue simple
              set $i parent="INTER" }\r\n\r\n:foreach n in=[/queue simple find
              priority=1] do={ /queue simple move $n [:pick [/queue simple
              find] 0] }\r\n\r\n:foreach n in=[/queue simple find priority=2]
              do={ /queue simple move $n [:pick [/queue simple find] 0] }
     transparent-proxy=no

Pastikan address-pool nya sesuai dengan yang di tempat anda.

Hostspot dengan pemisahan pembatasan internasional dan baypass lokal selesai sudah dan siap dipergunakan.

%d bloggers like this: