Friday, December 26, 2025

Installasi zerotier di Container Mikrotik

Mikrotik telah menyediakan paket untuk Zerotier, namun hanya tersedia pada arsitektur ARM dan ARM64. Untuk mengatasi permasalahan tersebut, zerotier dapat diinstallasi melalui mikrotik container. Permasalahannya mikrotik container hanya tersedia pada arsitektur ARM, ARM64 dan x86. 

Penulis menggunakan mikrotik x86 untuk melakukan Installasi zerotier melalui container yang ada di mikrotik. Mikrotik container hanya tersedia mulai ROS 7, bila ROS anda masih dibawah ROS 7 wajib melakukan upgrade.


Langkah yang perlu dilakukan sbb:

Pastikan package container telah terinstall di mikrotik. Bila belum terinstall, silahkan didownload di websites mikrotik.com/download dan sesuaikan dengan versi ROS yang terinstall.




Pastikan mode container telah aktip, bila belum segera diaktipkan dengan perintah dibawah, selanjutnya restart mikrotik.


/system/device-mode/update container=yes 





tambahkan virtual ethernet dengan ip address yang diinginkan, misalnya 172.17.0.2 sedangkan untuk gataways kita gunakan 172.17.0.1 yang akan dikonfigurasikan di bridge.



/interface/veth/add name=veth1 address=172.17.0.2/24 gateway=172.17.0.1


Tambahkan Bridge dan IP address untuk bridge. Bedagan IP address bridge dengan ip address untuk virtual ethernet.


/interface/bridge/add name=containers
/ip/address/add address=172.17.0.1/24 interface=containers


Tambahkan virtual ethernet ke dalam bridge yang telah dibuat.


/interface/bridge/port add bridge=containers interface=veth1


Tambahkan NAT untuk outgoing container.

/ip/firewall/nat/add chain=srcnat action=masquerade src-address=172.17.0.0/24


Sampai disini konfigurasi untuk container sudah selesai. Selanjutnya container yang akan kita tambahkan perlu dikonfigurasikan melalui menu container

Pada contoh kali ini, saya akan menambahkan installasi zerotier dari hub.docker.com. Yang perlu disiapkan disini untuk mendukung container zerotier adalah net, cap-add,TZ dan device, maka perlu ditambahkan pada environment. Untuk mengaktipkan timezone, diperlukan penambahan modul tzdata.

Selanjutnya tambahkan environment melalui terminal mikrotik atau langsung pada container.

/container/envs/add key=net name=zerotier value=host
/container/envs/add key=cap-add name=zerotier value=NET_ADMIN,SYS_ADMIN,SYS_TIME
/container/envs/add key=TZ name=zerotier value="Asia/Makassar" /container/envs/add key=device name=zerotier value=/dev/net/tun

hasilnya sebagai berikut:





Selanjutnya tambahkan sumber images dari container, misalnya diambail dari dokcer.com dengan alamat https://registry-1.docker.io



/container/config/set registry-url=https://registry-1.docker.io 


Terdapat banyak container zerotier di hub.docker.com, namun yang akan kita gunakan adalah https://hub.docker.com/r/gists/zerotier

dari hasil percobaan, hanya container ini yang berhasil terhubung ke zerotier.com dan konfigurasinya lebih nyaman, tidak terhubung dimungkinkan karena versi ROS yang ada bugs dan tidak dapat terhubung ke zerotier.



/container/add remote-image=gists/zerotier:latest interface=veth1 envlist=zerotier

atau melalui winbox seperti gambar berikut :



Tunggu beberapa menit sampai zerotier di download dan di extract dalam container, sampai tanda E hilang dan berganti menjadi S.

Selanjutnya aktipkan zerotier dengan menekan tombol start.




Sampai disini, installasi zerotier telah selesai dengan status zerotier aktip (tanda huruf R). Selanjutnya kita perlu menghubungkan zerotier di mikrotik ke server zerotier.com. Pastikan di zerotier.com sudah membuat account dan mengaktipkan network di zerotier.com

Lihat terlebih dahulu, zerotier ada di nomor berapa dengan perintah dibawah


/container/print


Misalnya zerotier ada di urutan ke 0, makan kita akan masuk ke container zerotier dengan perintah dibawah



/container/shell 0



Tambahkan modul tzdata di container dengan command berikut:



apk add tzdata


melalui container mikrotik, kita berikan perintah dibawah ini untuk mendaftarkan zerotier di mikrotik ke zerotier.com, ganti network-id-zerotier dengan kode yang didapatkan dari zerotier.



zerotier-cli join <network-id-zerotier>


setelah menjalankan perintah diatas, selanjutnya masuk kembali ke websites zerotier.com dan berikan authorize ke host yang baru tergabung ke jaringan anda di zerotier.

Sampai disini, container zerotier mikrotik telah aktip dan dapat di ping dari komputer yang telah terhubung ke zerotier.

Gambar dibawah merupakan hasil ping ke container zerotier di mikrotik dari komputer yang telah terhbung ke mikrotik.




Selanjutnya buatkan sebuah file dengan nama /entrypoint.sh di root directory, sesuaikan dengan ip address dan konfigurasi zerotier yang anda miliki. pastikan iptables sudah terinstall di container anda.




#!/bin/sh
set -e

echo "Setting up iptables rules..."

# Forwarding rule
iptables -A FORWARD -j ACCEPT

# DNAT rule
iptables -t nat -A PREROUTING -d 10.10.11.200/32 -j DNAT --to-destination 172.18.0.1

# MASQUERADE rules
iptables -t nat -A POSTROUTING -o veth1-zerotier -j MASQUERADE
iptables -t nat -A POSTROUTING -o ztpxxxxxx -j MASQUERADE

echo "iptables rules applied successfully."

# Execute the container's main command (CMD)
exec "$@"


Selanjutnya buka container zerotier, cari bagian entrypoint dan tambahkan file /entrypoint.sh





Bila tidak ada masalah, seharusnya mikrotik anda sudah bisa dibuka dari internet melalui zerotier.


tambahan :

Mikrotik RouterOS 7.23 mulai melakukan tambahan untuk health status, kita dapat menambahkan command untuk melakukan pengecekan healthtly pada zerotier dengan menambahkan kode di tab healthcheck pada kolom Healthcheck Cmd 



ping -c 1 10.10.11.200 || exit 1









Sunday, December 14, 2025

Menjadwalkan Backup Mikrotik dengan schedule

Script dibawah silahkan copy paste di Mikrotik system schedulu dan sesuaikan dengan jadwal yang akan dieksekusi, misalnya tiap 1 bulan akan melakukan backup system.



:log info "STARTING BACKUP";

#ambil nama mikrotik, tanggal dan tahun

:local identity [/system identity get name];
:local date [/system clock get date];
:local time [/system clock get time];

#ambil data tanggal bulan tahun

:local year [:pick $date 7 11];
:local month [:pick $date 0 3];
:local day [:pick $date 4 6];


#ganti nama bulan menjadi angka

:local monthNum [:tonum ([:find "janfebmaraprmayjunjulaugsepoctnovdec" $month]/3)]

:if ($monthNum < 10) do={ :set monthNum "0$monthNum" }


#gabungkan tahun bulan dan tanggal 

:local mydatetime ($year .  $monthNum .$day)


#gabungkan tanggal dan jam

:local timestamp ($mydatetime . "-" . [:pick $time 0 2] . [:pick $time 3 5] . [:pick $time 6 8]);

:local filename ($identity . "-" . $timestamp);

#lakukan proses backup normal dan plain text

/system backup save name=$filename;

/export file=$filename;


#tampilkan di logs

:log info "BACKUP FINISHED: $filename";

 








catatan :

script diatas berjalan pada ROS 6, sedangkan di ROS 7 perlu sedikit modifikasi pada pick date dengan output yang dihasilkan date dengan format yyyy-mm-dd. 




Friday, December 05, 2025

Installasi Sistem Operasi Armbian di STB HG680P

Armbian merupakan sistem operasi berbasis Linux yang merupakan turunan dari Debian atau Ubuntu. HG680P merupakan STB untuk menjalankan siaran IPTV Online. 



STB HG680P merupakan perangkat yang sangat ringan dengan penggunaan listrik yang ramah sebesar 12Volt, banyak beredar dipasaran karena sudah tidak digunakan oleh pelanggan dari provider internet seperti indihome.  Installasi di STB680H sangat mudah bila dibandingkan dengan perangkat STB lainnya seperti STB B860H yang sangat ribet perlu interaksi dengan IC yang ada didalam PCB saat proses installasi.
Installasi Armbian di STB bekas ini tentunya memiliki tujuan diantaranya mengganti Sistem Operasi bawaah dari ISP yang hanya bisa dipakai oleh ISP bersangkutan untuk menampilkan siaran TV, youtube dan tidak dapat digunakan untuk ISP lainnya, selain itu dapat digunakan untuk keperluan konfigurasi server yang sangat berguna seperti server proxy, router, NAS, dan lainnya.


Installasi yang dilakukan kali ini untuk keperluan membangun Server ringan dari STB bekas ini dengan tujuan membuat server DNS, Server proxy serta keperluan lainnya. 


Bahan yang diperlukan sebagai berikut :

1. STB HG680P
2. MMC minimal 8Gb
3. Card Reader
4. software Balena Etcher untuk write image Armbian
5. Komputer/Laptop
6. kabel HDMI to HDMI
7. TV yang support HDMI
8. dan Sistem Operasi Armbian


Silahkan Sistem Operasi Armbian di download di alamat dibawah, pilih kode armlogic-s905x jenis server karena tujuannya untuk membuat server, bukan untuk menampilkan siaran TV.



Setelah Armbian didownload, aktipkan Balena Etcher dan lakukan flashing di MMC yang sudah disediakan, sampai menampilkan flash complete seperti gambar dibawah.




Hidukkan TV dan masukan kabel HDMI ke STB. Masukan Memory MMC yang sudah sukses di flash tadi ke STB HG680P, pastikan MMC sudah terkunci. Selanjutnya hidupkan STB dengan menekan tombol ON.
Apabila tidak ada masalah dengan MMC dan STB, maka akan secara otomatis di TV menampilkan urutan pembacaan sistem Operasi Armbian.

Masukan password root baru, bila diminta oleh sistem dan tekan Ctrl + C bila ada permintaan penambahan user baru. Bila password sudah sukses, akan menampilkan shell/prompt dari linux

langkah selanjutnya ketikan perintah di shell armbian dan tunggu sampai proses selesai.

armbian-install

Terakhir berikan perintah :

poweroff

Selanjutnya, matikan STB dan cabut MMC, dan nyalakan kembali STB. Apabila tidak ada masalah, secara otomatis STB sudah memiliki sistem Operasi Armbian.

Installasinya simple dan mudah.










Thursday, December 04, 2025

Blokir iklan/ads youtube melalui firewall mikrotik

Iklan sangat mengganggu ketika kita membuka youtube. Iklan dengan hitungan detik mampu membuat kita menunggu sampai video yang akan kita putar selesai menampilkan iklan.

Gambar dibawah menampilkan link iklan youtbe yang terdeteksi di aplikasi pi-hole. Beberapa cara sudah dilakukan seperti memblokir melalui aplikasi pi-hole di Linux, hasilnya youtube tidak bisa dibuka saat pertamakali loading. 



 

 

Beberapa link iklan youtube akan kita blokir melalui layer7 dengan regex seperti dibawah dengan cara masuk ke menu IP - Firewall -  Layer 7 Protocol atau masukan command berikut di terminal mikrotik :


/ip firewall address-list

add address=192.168.2.0/24 list=LOKAL

add address=10.10.10.0/24 list=LOKAL

add address=10.10.20.0/24 list=LOKAL

add address=10.10.21.0/24 list=LOKAL

add address=192.168.18.0/24 list=LOKAL

add address=192.168.19.0/24 list=LOKAL


/ip firewall layer7-protocol

add name=YoutubeAds regexp="^.+r[0-9]+\\.[a-z0-9-]+\\.googlevideo+\\.com.*\$"

add name=YoutubeAds2 regexp="^.+r+[a-z0-9-]+\\.googlevideo+\\.com.*\$"

add name=YoutubeAds3 regexp="^.+r+[a-z0-9-]+\\.gvt1+\\.com.*\$"


/ip firewall mangle

add action=mark-connection chain=forward comment="Blocking Youtubeads" \   

dst-address-list=!LOKAL layer7-protocol=YoutubeAds2 new-connection-mark=\   

YoutubeAds-Connection passthrough=yes src-address-list=LOKAL

add action=mark-connection chain=forward dst-address-list=!LOKAL \   

layer7-protocol=YoutubeAds new-connection-mark=YoutubeAds-Connection \

passthrough=yes src-address-list=LOKAL

add action=mark-connection chain=forward dst-address-list=!LOKAL \

layer7-protocol=YoutubeAds3 new-connection-mark=YoutubeAds-Connection \

passthrough=yes src-address-list=LOKAL


/ip firewall filter
add action=reject chain=forward comment=YoutubeAds connection-mark=\
YoutubeAds-Connection protocol=tcp reject-with=icmp-network-unreachable




Hasilnya seperti gambar dibawah :






Catatan :

Konfigurasi firewall diatas mampu mendeteksi alamat iklan youtubes, namun  masih tampil terutama saat membuka video youtube pertamakali. Sampai saat ini belum ada yang bisa memblokir melalui pi-hole ataupun firewall. Satu-satunya cara dengan menambahkan adblock di browser komputer mampu memblokir iklan youtube, namun untuk aplikasi youtube di android belum ada aplikasi yang mampu memblokir.







Monday, December 01, 2025

Script backup otomatis mikrotik ke cloud

Mikrotik akan melakukan backup setiap sebulan sekali ke cloud mikrotik, silahkan copy paste script berikut di terminal mikrotik, hasilnya bisa dilihat di System - Schedule.


 

/system scheduler

add interval=30d name=cloud-backup on-event="/system backup cloud remove-file number=0\r\n:delay10\r\n/system backup cloud upload-file action=create-and-upload password=password" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=jan/01/2022 start-time=03:00:00


Hapus atau disable untuk user Hotspot yang telah expired menggunakan schedule

 User mikrotik yang telah melewati masa aktip akan terus menerus bisa login, cara mengatasinya tambahkan script berikut di profile hotspot.


1. Masuk ke hotspot, cari tab "user profile", pilih profile yang akan dikonfigurasikan

2. Setelah profile aktip, cari tab script dan tambahkan script berikut :


:local pengguna $user;

:local date [/system clock get date];

:local time [/system clock get time];

:log warning "$pengguna telah login pada jam $time";


{


#tambahkan comment tanggal login pertama kali

 :if ( [ /ip hotspot user get $pengguna comment ] = "" ) do={

  [ /ip hotspot user set $pengguna comment=$date ]

 }


#tambahkan di schedule sesuai masa aktip

#hapus di schedule bila masa aktip selesai


 :if ([/system scheduler find name=$pengguna]="") do={

 /system scheduler add name=$pengguna interval=30d on-event="/ip hotspot user disable [find name=$pengguna]\r\n/ip hotspot active remove [find name=$pengguna]\r\n/ip hotspot user set comment=\"\" [find name=$pengguna]\r\n/system scheduler remove [find name=$pengguna]"


 }

}






 Catatan :

Ganti interval=30d sesuai keperluan anda, misalnya 1d untuk 1 hari


Tuesday, November 18, 2025

Mengaktipkan VLAN di Router OpenWRT yang menggunakan Access Point mode Bridge

Konfigurasi kali ini dibilang gampang-gampang susah untuk mengaktipkan vlan di router OpenWRT dengan menggunakan bridge untuk menggabungkan WAN dan LAN dengan tujuannya agar client HP/Laptop mendapatkan IP dari Router utama, bukan dari perangkat wifi. Setelah melakukan beberapa percobaan kebanyakan gagal, akhirnya mendapatkan solusi untuk kasus diatas.





Melihat gambar diatas, Router Utama mengaktipkan DHCP untuk IP 192.168.1.0/24 dan DHCP untuk VLAN 10.10.10.0/24.

WIFI menggunakan BRIDGE untuk meneruskan DHCP  KE Client yang didapatkan dari Router Utama, jadi tidak membuat IP sendiri ke client.

Disisi client kita hanya menginginkan IP dari VLAN yang diterima, bukan IP dari LAN. Konfigurasi yang kita inginkan misalnya client yang menggunakan Wifi dengan SSID A akan mendapatkan IP VLAN sedangkan WIFI dengan SSID B akan mendapatkan IP LAN.
























Beberapa kasus pengaktipan VLAN tidak dapat digunakan melalui cara diatas, misalnya ada bugs pada hardware dari Wifi yang digunakan.

Petunjuk dibawah dapat digunakan untuk mengaktipkan VLAN di Wifi Mode Bridge anda.











Sunday, November 16, 2025

Mikrotik Hotspot tidak bisa redirect ke Login Page Hotspot

Hotspot dari Mikrotik tidak bisa otomatis redirect ke Login Page Hotspot bisa disebabkan beberapa setting yang diperlukan. Kejadian ini biasanya terjadi pada konfigurasi Load Balancing 2 atau lebih ISP.

Cara mengatasi sebabagi berikut :


1. Login Ke Mikrotik. masuk ke IP - Firewall.

2. di Firewall, klik pada NAT dan tambahkan

Chain : pre-hotspot 
Dst - address Type : Address type : local dan aktipkan invert
Action : accept




3. Konfigurasi berikut dilakukan bila Hotspot masih belum bisa redirect ke login page.

Masuk ke Mangle, cari mark-connction yang berisi konfigurasi "per connection Classifier" 

Bila ditemukan, cari tab Extra dan tambahkan pada bagian hotspot : auth






Wednesday, November 12, 2025

Install Pi-hole pemblokir iklan dan content yang tidak diinginkan

Pi-hole merupakan software untuk memblokir iklan dan content yang tidak diinginkan seperti malware, phising, dll.

Installasi yang dilakukan disini pada  sistem operasi Linux Debian, sedangkan untuk distro lainnya hampir sama. 

Untuk melakukan installasi dapat dilakukan dari terminal linux anda dengan memberikan perintah :


curl -sSL https://install.pi-hole.net | bash


Apabila semua ketentuan terpenuhi akan muncul popup konfirmasi, silahkan tekan enter. Konfigurasi IP address disarankan menggunakan static IP, namun bila menggunakan DHCP pastikan server DHCP memberikan IP static, akan muncul tampilan seperti dibawah bila IP menggunakan IP dynamic.




Pilih continue dan lanjutkan installasinya sampai selesai dan menampilkan popup seperti dibawah 




Catat alamat websitesnya dan password yang ditampilkan, bila dikemudian hari anda lupa passwordnya dapat diganti dengan perintah dibawah :


pihole setpassword <passwordbaru>


Selanjutnya buka web browser dan ketikan alamat IP yang diberikan misalnya http://172.18.0.254/admin dengan password yang telah diberikan sebelumnya.




Setelah login, akan ditampilkan menu dari pihole dengan kondisi masih kosong, disini perlu sedikit konfigurasi agar server pihole anda lebih maksimal.




Konfigurasi standar dari list alamat server list yang digunakan adalah https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts, bila diperlukan dapat ditambahkan beberapa sumber blocklist server yang anda ketahui. dalam kasus ini akan saya tambahkan sumber blocklis https://big.oisd.nl . Untuk menambahkannya, klik pada menu List dan masukan alamat diatas dan tekan tombol Add blocklist





blokclist server lain yang bisa ditambahkan :

https://phishing.army/download/phishing_army_blocklist.txt
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/popupads.txt
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/fake.txt
https://easylist-downloads.adblockplus.org/easylist.txt
https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/adblock/tif.txt
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/ultimate.txt



Lakukan update list agar sumber tadi bisa digunakan di server melalui menu Tool - Update Gravity, kemudian klik update pada menu tersebut.




Berikut hasil dari logs query yang dilayani server DNS Pi-hole yang terlihat menerima dan memblokir alamat websites yang diminta.



Gambar dibawah merupakan tampilan dari Dashboard dari statistik websites yang direquest, jumlah blokir, prosentase pemblokiran 28.4% dan jumlah list dari alamat blacklist.




Tambahkan schedule di crontab agar list tersebut setiap hari terupdate seperti contoh crontab dibawah ini.




Terakhir, agar pihole DNS ini bisa digunakan di komputer anda, lakukan konfigurasikan melalui router atau konfigurasi manual di network komputer anda dengan menambahkan alamat IP dari Pi-hole.


Konfigurasi di Mikrotik :

contoh script mikrotik untuk menambahkan alamat server DNS di server 192.168.2.2 sebagai berikut :


/ip dns set servers=192.168.2.2;

/ip firewall nat

add action=dst-nat chain=dstnat comment=DNS-Lokal-Blokir-Iklan dst-port=53 protocol=tcp src-address=!192.168.2.2 to-addresses=192.168.2.2 to-ports=53

add action=dst-nat chain=dstnat comment=DNS-Lokal-Blokir-Iklan dst-port=53 protocol=udp src-address=!192.168.2.2 to-addresses=192.168.2.2 to-ports=53



Konfigurasi script diatas akan menambahkan IP server DNS 192.168.2.2 ke konfiruasi DNS, selanjutnya menambahkan firewall NAT dengan ketentuan mengabaikan permintaan dns yang berasal dari server DNS, sedangakan permintaan dari IP lainnya diteruskan ke server DNS pada port 53. Konfigurasi ini dilakukan pada protocol TCP dan UDP.


Kesimpulan :

Konfigurasi Pi-Hole di jaringan lokal kita dapat menghemat bandwidth Internet, mengurangi beban websites yang tidak perlu diakses, selain itu perangkat yang digunakan yang terhubung ke internet lebih aman dari malware, phising, dll.

Kekurangannya diperlukan perangkat tambahan untuk installasi Pi-hole, baik itu komputer ataupun perangkat router lainnya seperti penggunaan STB bekas.

Kekurangan lainnya dalam metode ini yaitu request dns masih diteruskan ke dns server dari ISP yang digunakan, solusinya menggunakan VPN tunnel yang tidak melalui DNS ISP.



Wednesday, October 08, 2025

Cara mengatasi Fonts windows di Linux khususnya microsoft office windows yang tidak terbaca di aplikasi office Linux

 Untuk mengatasi font di windows yang tidak terbaca di applikasi Linux misalnya seperti openoffice, Libreoffice,ABIwords dan lainnya yang menyebabkan tampilan office di linux hancur. Perintah berikut dapat dilakukan untuk melakukan installasi fonts milik windows.



sudo apt update -y

sudo apt install ttf-mscorefonts-installer -y

Cara upload dengan git tanpa menyertakan folder tertentu

  Untuk mengupload kode menggunakan Git tanpa menyertakan folder tertentu, Anda perlu menggunakan file khusus bernama .gitignore . File ini...