Kau bisa bersembunyi dari kesalahanmu, tapi tidak dari penyesalanmu. Kau bisa bermain dengan dramamu, tapi tidak dengan karmamu.

  • About

    Seorang Teknisi Jaringan yang pernah berkecimpung di Internet Service Provider (ISP) dan akhirnya memutuskan diri untuk menjadi freelancer yang berdomisili di Solo, Surakarta Hadiningrat.

  • Services

    Melayani jasa pasang Internet berbasis Wireless maupun Fiber Optic, Jasa Pasang Tower/Pipa, Pointing Wireless, Setting Router, CCTV, Hotspot, Proxy, Web Server, Network Managed dan Monitoring

  • Contact

    Berbagai saran, kritikan, keluhan dan masukan akan sangat berarti bagi saya. Anda dapat menghubungi/whatsapp saya di nomor:08564-212-8686 atau melalui BBM:2128686

    Tuesday, October 23, 2018

    apt install git gstreamer1.0-plugins-base gstreamer1.0-plugins-good gir1.2-gstreamer-1.0 python-gst-1.0 python-redis python-gi python-setuptools -y
    apt install git python-gst0.10 python-redis gstreamer0.10-plugins-base gstreamer0.10-plugins-bad gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-tools python-gobject python-gobject-2 gstreamer0.10-alsa python-setuptools -y
    apt install gstreamer-tools -y
    apt install redis-server -y
    apt install pulseaudio -y
    apt install python-pip -y
    apt install python3-gi -y
    sed -i.bak 's/bind 127.*/bind 0.0.0.0/' /etc/redis/redis.conf
    /etc/init.d/redis-server restart
    #pip install --user --upgrade setuptools wheel
    cd /usr/local/lib/python2.7/dist-packages
    wget https://pypi.python.org/packages/source/O/OpenOB/OpenOB-3.2.0.tar.gz
    # copykan openob ke existing direktori openob
    # lalu
    # openob 192.168.242.11 node-fm test-link tx 192.168.15.10

    Sunday, August 26, 2018


    Yeah, kali ini saya akan share script untuk me-generate netwatch. Hanya untuk catatan pribadi aja sih

    langsung saja

    :for x from=2 to=254 step=8 do={/tool netwatch add host="10.10.40.$x" interval=00:00:03 down-script=":local client [/tool netwatch get [/tool netwatch find host=\"10.10.40.$x\"] comment ];\n\n :log error \"\$client down\";\n\n /system script run telolet" up-script=":local client [/tool netwatch get [/tool netwatch find host=\"10.10.40.$x\"] comment ];\n\n :log warning \"\$client up\";\n\n /system script run up"}

    Saturday, June 2, 2018


    :foreach i in=[/ip firewall address-list find list=350 ] do={
    :local addrlist350 [/ip firewall address-list get $i address ]
    :log warning $addrlist350
    /ip fire mangle add chain=postrouting dst-address=$addrlist350 connection-mark=ggc_conn action=mark-packet new-packet-mark="ggc_$user" comment=$user

    Friday, June 1, 2018


    tambahkan script di scheduler dengan run startup
    :if ([:len ($000 || $150 || $200 || $250 || $300 || $350)] = 0) do={
    :global 000 10.8.8.0/27
    :global 150 10.8.8.32/27
    :global 200 10.8.8.64/26
    :global 250 10.8.8.128/26
    :global 300 10.8.8.192/27
    :global 350 10.8.8.224/27
    }

    kemudian bikin pool-ip
    /ip pool
    add name=000 ranges=10.8.8.2-10.8.8.30
    add name=150 ranges=10.8.8.33-10.8.8.62
    add name=200 ranges=10.8.8.65-10.8.8.126
    add name=250 ranges=10.8.8.129-10.8.8.191
    add name=300 ranges=10.8.8.193-10.8.8.222
    add name=350 ranges=10.8.8.225-10.8.8.254

    tambahkan di profile-pppoe on login
    :local parent PPPOE
    :local ippppoe [/ip address get [/ip address find interface=$user] network]
    :local ipclient
    :local iprouter [/ip address get [find  comment=$user] address ]
    :for i from=( [:len $iprouter] - 1) to=0 do={
    :if ( [:pick $iprouter $i] = "/") do={
    :set $ipclient ([:pick $iprouter 0 $i] +1)
    }
    }

    :if ($ippppoe in $suspend) do={
       :if ([:len [/ip firewall address-list find list=cidr_suspend comment=$user]] = 0 ) do={
       /ip firewall address-list add address=$ipclient list=cidr_suspend comment=$user
       }
    /queue simple add target=$ipclient name=$user parent=$parent max-limit=5000000/5000000
    }
    :if ($ippppoe in $150) do={
    /queue simple add target=$ipclient name=$user parent=$parent max-limit=2000000/2000000
    /ip firewall address-list remove [find list=cidr_suspend comment=$user]
    }
    :if ($ippppoe in $200) do={
    /queue simple add target=$ipclient name=$user parent=$parent max-limit=2500000/2500000
    /ip firewall address-list remove [find list=cidr_suspend comment=$user]}
    :if ($ippppoe in $300) do={
    /queue simple add target=$ipclient name=$user parent=$parent max-limit=3000000/3000000
    /ip fire mangle add chain=postrouting dst-address=$ipclient connection-mark=ggc_conn action=mark-packet new-packet-mark="ggc_$user" comment=$user
    /queue tree add name=$user limit-at=2000000 max-limit=5000000 parent=DN-PPPOE packet-mark="ggc_$user"
    /ip firewall address-list remove [find list=cidr_suspend comment=$user]
    }
    :if ($ippppoe in $350) do={
    /queue simple add target=$ipclient name=$user parent=$parent max-limit=3000000/3500000
    /ip fire mangle add chain=postrouting dst-address=$ipclient connection-mark=ggc_conn action=mark-packet new-packet-mark="ggc_$user" comment=$user
    /queue tree add name=$user limit-at=2000000 max-limit=8000000 parent=DN-PPPOE packet-mark="ggc_$user"
    /ip firewall address-list remove [find list=cidr_suspend comment=$user]
    }


    tambahkan di profile-pppoe on logout
    :log error "$user logout $ipclient"
    /queue simple remove [find name=$user]
    /queue tree remove [find name=$user]
    /ip fire mangle remove [find comment=$user]



    Kali ini saya akan berikan tips anti mainstream, dimana deliver ke pelanggan menggunakan ip static, namun secara management user dicontrol oleh userman. Teknik ini dibuat karena problem yang penulis alami ketika deliver bandwidth ke pelanggan mengalami kendala link dan perangkat yang dipasang pppoe-client tidak sempurna jika menggunakan produk selain mikrotik (tplink, tenda, maupun ubnt).
    Problem menggunakan TPLINK = dialup lama
    Problem menggunakan TENDA = dialup cenderung lebih cepat daripada TPLINK namun tetap saja ada jeda waktu yang membuat risih pelanggan, karena established pppoe butuh waktu yang cukup lama.
    Problem menggunakan UBNT = sama persis seperti TENDA maupun TPLINK.

    Nah, dari problem diatas, kita siasati seperti berikut :

    1. Sediakan Router utama, yang berisi userman berikut limiternya
    2. Sediakan Router khusus untuk dial pppoe-client
    3. Buat Point to point ip static antara ROUTER2 ke masing masing client, usahakan namanya sama dengan pppoe-client.
    4. Bikin semua point to point via pppoe dengan menggunakan kedua router tersebut
    5. Untuk Router point nomor 2, nantinya digunakan untuk dial semua user. Kemudian bikin environment gimana caranya agar ip p2p static dibikin mark-routing ke pppoe-client tadi.
    6. Dengan begitu, untuk 1 user memerlukan 1 mangle dan 1 mark routing, dan ini nanti kita buat secara otomatis berdasarkan user yang berhasil dial dengan status R pada interface pppoe-client.
    7. Trafik pppoe-client dan limiter pppoe-client tetap dibaca oleh Router point 1.
    8. Done !
    Ok langsung saja, script pada profile default ppp, pada on logon kasih script berikut :

    :local iface [/interface pppoe-client get [find running=yes] name]
    :local ipaddress ([/ip address get [find  comment=$iface] address ])
    :for i from=( [:len $ipaddress] - 1) to=0 step=-1 do={
          :if ( [:pick $ipaddress $i] = "/") do={
             :set ipaddress ( [:pick $ipaddress 0 $i] +1)
             }
          }
    :log warning $ipaddress
    /ip firewall mangle add comment=$iface chain=prerouting src-address=$ipaddress action=mark-routing new-routing-mark=$iface passthrough=no
    /ip route add routing-mark=$iface gateway=$iface

    Lalu untuk on logout script :
    :local iface [/interface pppoe-client get [find running=no] name]
    :log error "$iface removed"
    /ip fire mangle remove [find comment=$iface]
    /ip route remove [find routing-mark=$iface]

    Semoga bermanfaat.

    Monday, May 21, 2018


    Pernah mengalami seperti ini :

    Yubs, tentu sangat membosankan bukan? kenapa terjadi seperti itu ? jawabannya adalah karena si mbah google mendeteksi adanya malware atau sejenis spam yang melakukan query tertentu pada mesin pencarian google sehingga perlu adanya pembatasan atau pencegahan query. Bisa dibayangkan jika aktivitas spamming ini tidak diatasi pihak google. Tentu hal ini sudah dipikirkan mbah google agar kejadian ini teratasi dengan cara memberikan captcha. Perlu diketahui, ada beberapa kasus dimana tidak semua komputer terkena spam, mengenai hal ini saya kurang paham methode apa yg dipakai google untuk menerapkan pencegahan, karena fakta di lapangan ketika 1 ip public indih*me dishare ke banyak user, tidak semua kena spam. Namun jika terus menerus kena spam, dalam kurun waktu sekitar 30 menit maka semua komputer muncul captcha. Solusi satu-satunyanya saat ini harus generate ip baru. Nah lalu bagaimana cara mendeteksi kena spam ? tentu kita memanfaatkan domain ipv4.google.com/sorry/ bla bla bla yang akan kita tangkap dan kita eksekusi perintah untuk redial pppoe indih*me.

    Baiklah langsung saja, kali ini saya akan bagi tips versi kedua yang mana pada script ini ada pembaharuan sehingga lebih valid. Karena terkadang akses ke google kena spam hanya ke beberapa pc saja dan pc lainnya tidak kena. solusinya gunakan layer7.
    Pertama tama, buat regex layer7 pada mikrotik kasih nama spamgoogle :
    ^.*(ipv4.google.com)

    kemudian buat rule firewall filter agar address yg kena spam masuk ke address-list. (sesuaikan cidr_nat adalah pool ip client anda)
    /ip fi fi add action=add-src-to-address-list address-list=kena_spam address-list-timeout=\
    none-dynamic chain=forward comment=kena_spam layer7-protocol=spamgoogle protocol=tcp src-address-list=cidr_nat
    kemudian buat script seperti berikut dan jangan lupa buat schedulernya.
    :global iface 0pppoe0
    :global currentIP
    #:if ([:len [/ip firewall address-list find list=kena_spam dynamic=yes ]] != 0 ) do={
    :if ([/ip firewall address-list print  count-only where list=kena_spam] >=5) do={
    :log error "akses google kena spam"
    /in pppoe-client disable $iface
    :delay 2
    /in pppoe-client enable $iface
    :delay 2
    :set $currentIP ([/ip address get [find interface="$iface"] address])
    :for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
          :if ( [:pick $currentIP $i] = "/") do={
             :set currentIP [:pick $currentIP 0 $i]
             }
          }
    :foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
    :log warning "telah digenerate dengan ip baru : $currentIP"
    :local router [/system identity get name]
    :local time [/system clock get time]
    :local date [/system clock get date]
    :local voltage [/system health get voltage]
    :local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
    :local pesan ("[ $router ]%0A" ."GENERATE IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada : %0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
    /tool fetch url="https://api.telegram.org/bot38xx21546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20xx3762&text=$pesan" keep-result=no
    }
    :if ($currentIP  in 10.0.0.0/8) do={
    :log error "dapet ip private! redial kembali untuk mendapatkan ip kepala 36";
    /in pppoe-client disable $iface
    :delay 2
    /in pppoe-client enable $iface
    :delay 2
    :set $currentIP ([/ip address get [find interface="$iface"] address])
    :for i from=( [:len $currentIP] - 1) to=0 step=-1 do={
          :if ( [:pick $currentIP $i] = "/") do={
             :set currentIP [:pick $currentIP 0 $i]
             }
          }
    :foreach i in=[/ip firewall address-list find list=kena_spam ] do={:put $i; /ip firewall address-list remove $i }
    :log warning "telah digenerate dengan ip baru : $currentIP"
    :local router [/system identity get name]
    :local time [/system clock get time]
    :local date [/system clock get date]
    :local voltage [/system health get voltage]
    :local tegangan (. [:pick $voltage 0 2] . "," . [:pick $voltage 2 3] ." volt")
    :local pesan ("[ $router ]%0A" ."GENERATE IP%0A$currentIP:81/userman%0A103.77.159.87:81/userman%0AKENA SPAM pada : %0A" . $time .", ".$date. "%0AVoltase saat ini $tegangan.")
    /tool fetch url="https://api.telegram.org/bot38xx921546:AAGn69QpFDuLSOQd3E3JtI5nhfUmg05hQys/sendMessage?chat_id=-20353xx762&text=$pesan" keep-result=no
    }

    hasilnya :


    dan telah dilaporkan ke telegram Anda. semoga bermanfaat