Mikrotik: membuat hotspot baypass traffic IIX

By human

Karena pertanyaan dari mas andy (andy_m3m@yahoo.co.id) di topik hotspot sebelumnya.

Saya buatkan post sendiri untuk masalah ini.

Di tempat saya, saya sudah mengaplikasikan ini sekitar 2~3 bulan yang lalu.
Pada saat itu memang kebutuhan saya untuk melimit internasional agar terbagi rata, tetapi untuk ke IIX tidak di limit. Rupa-nya tidak hanya saya yang berniat dengan konfigurasi seperti ini.

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.

24 Comments

  • At 2008.08.03 17:26, betmen said:

    mas boleh liat scriptnya g .. udah di coba script mas yg diatas .. cuman masih bingung :( .. maap klo oot …

    sy coba di topologi jaringan saya sperti ini

    net ——- MT + internal web-proxy ——– swicth —– client SOHO
    ————————————————|
    ————————————————|
    ————————————————|
    ——————————————— ap HOTSPOT ( senao )

    tolong di bantu mas … thx so much

    • At 2008.08.04 11:55, human said:

      Kalau bisa gambarnya pakai paint atau visio supaya mudah di pahami

    • At 2008.08.03 17:39, betmen said:

      trus gimana mas … klo umpamanya bandwithnya cuman 2 orang … contohnya 1 di client n 1 di hotspot … bisa ga bw nya di bagi rata , misalnya sy punya bw itu 1 mb .. jadi client soho dapet jatah 512 kbps and hotspotnya dapet 512 kbps ..

      sy masih bingung masalah pembagian bw nya nih :( …

      mohon di bantu yah mas

      :)

      • At 2008.08.04 11:55, human said:

        Kalau dari logika, bisa.

        Pastikan ether untuk hostpot dan untuk soho berbeda, supaya mudah mengaturnya.

        Lalu buat parent bandwith yang berisi parent untuk soho dan parent untuk hotspot.

      • At 2008.10.23 09:56, paijohar said:

        scriptnya saya coba terapkan di Mirkotik 2.9.27 kok gak bisa jalan ya mas,? di simple queue, dia selalu berada di bagian paling atas ….apakah tidak suport dgn versi 2.9.27 yah?

        MikroTik] ip hotspot user profile> add name=”uprof2″ address-pool=hs-pool-1 idle-timeout=none keepalive-timeout=2m status-autor
        efresh=1m shared-users=1 rate-limit=”128k/128k” on-login=:foreach i in [/queue simple find dynamic=yes] do={ /queue simple set $i pa
        rent=”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] }

        ambiguous input (i)
        no such argument (i)

        muncul pesen erornya seperti itu ?

        • At 2008.10.24 16:48, human said:

          Kalau baca errornya,
          sepertinya bahasa scriptnya tidak dikenali di v 2.9.27

          Pada waktu tulisan ini dibuat, saya pakai versi 2.9.50

        • At 2009.03.20 09:27, katrok said:

          mas aku pakai Mirkotik 2.9.27 dengan system hotspot gimana ya buat web proxy nya. sebelum aku pasang hotspot web proxy nya gak ada masalah tapi waktu aku pakai hotspot kok gak bisa ya…

          • At 2009.06.06 12:40, human said:

            Cek di firewallnya

          • At 2009.06.04 17:34, ardi said:

            mas untuk hotspot gimana pengaturan parentnya yah ?

            • At 2009.06.06 12:41, human said:

              Sama seperti waktu membuat queue simple atau queue tree di mikrotik

              • At 2009.06.20 20:34, ardi said:

                kalau di tmt saya itu dynamic?, kalo statik sy bisa buat parent

            • At 2009.07.10 16:33, vgate said:

              ati ati script hotspotnya untuk memindah dynamic user pada simple agar berada setelah static queue sepertinya tidak bekerja pada v3.24 ke atas…harus downgrade lagi dah hix

              • At 2009.07.13 09:42, human said:

                Terimakasih informasinya mas,

                Smoga ada yang bisa mengupdate scriptnya agar kompatible dengan versi 3.24

              • At 2009.12.30 23:38, wahyu said:

                tutorialnya sangat bermanfaat sekali
                jika yg pengen di bypas website website tertentu caranya gimana?
                misalkan facebook dan yg maen game poker tidak dilimit

                Thanks

                • At 2010.01.02 20:43, Fatra said:

                  Mas..sebelumnya sy ucapkan kalau tutorial ini sangat menarik.. :), tapi ada yg ingin sy tanyakan.. bagaimana script nya untuk mendteksi ip client yg terkoneksi terus langsung di masukkan ke queue tree.. misalnya begini : jika ada satu client yg konek internet dia akan mendapat semua jatah bandwidth trus jika ada dua client bandwidth nya langsung terbagi untuk dua client tsb., jika ada client yg udah gak konek si client tsb langsung dihapus dari queue tree.. mohon bantuannya Mas.. thanks sebelumnya..

                  • At 2010.02.25 00:26, yanto said:

                    mas kalau kita pakai speedy bisa gak international and IIX ya di pisahkan ? makasih…..

                    • At 2010.02.25 10:04, human said:

                      Bisa untuk semua ISP

                    • At 2010.05.21 23:08, ws said:

                      halo salam kenal mas,
                      tutorial ini sangat menarik, akan tetapi saya terapkan script nya di versi 3.20 yg saya pakai skrg tidak jalan mas, user tetap diluar, tdk mau spt pada gambar, kira2 salah saya dimana ya?
                      terima kasih

                      • At 2010.05.25 10:46, human said:

                        Script saya itu dibuat untuk v 2.9.50, mungkin perlu dimodifikasi agar jalan di 3.20

                      • At 2012.04.11 11:26, Rahmansyah said:

                        salam kenal mas.
                        Maaf, saya mau tanya.
                        di bagian “ip hotspot user profile> print” ada scrip on loginnya, tapi itu tentang memasukkan parent LOkal dan Inter.

                        Nah kalau saya mau masukkan paket mark secara otomatis diuser script nya gmn ya mas …
                        Terima kasih

                        • At 2012.04.13 13:20, human said:

                          maksudnya bagaimana ? saya tidak paham dengan pertanyaannya

                          • At 2012.04.14 00:38, Rahmansyah said:

                            Begini mas,
                            di tempat saya menggunakan hotspot, dan saya sedang mencoba proxy squid linux, nah untuk setting di mikrotik saya sudah membuat yang namanya packet mark di (ip->Firewall->Mangle).
                            Yang saya inginkan, bagaimana agar packet mark yang sudah saya buat bisa masuk otomatis ke user yang berada di simple queue …

                            ———————————————————
                            Kalau kita buka user di queue simple terdapat general, advanced,statisic… dll
                            nah di bagian advanced ada packet mark, kalau hotspot kan gak bisa di apa-apain itu mas.
                            Nah bagaimana caranya agar paket mark yang saya buat bisa masuk otomatis ke advanced -> packet mark…

                            Terima kasih sebelumnya mas …

                        • At 2012.05.11 05:54, epoy said:

                          mas maaf mau tanya, jika default nya kita limit hotspot memakai rate-limit (di profile) maka di simple queue “interface=all” kalau kita ingin menentukan interface nya ke interface tertentu untuk script nya bagaimana mas?

                          terima kasih sebelumnya

                          • At 2012.08.31 00:12, Ronald said:

                            mas, saya coba script untuk hotspot diatas tapi tidak jalan.
                            versi mikrotik yang saya gunakan v.5.20
                            bisa tolong di bantu kalau untuk versi 5.20 nya..

                            Terima kasih sebelumnya…

                            (Required)
                            (Required, will not be published)