routeros-scripts-main/README-ID.md

8.9 KiB

Skrip RouterOS - Panduan Bahasa Indonesia

🇮🇩 Distribusi Pribadi untuk Penggunaan Lokal

PERHATIAN: Repository ini adalah distribusi pribadi untuk kebutuhan internal Dumai, Riau. Tidak ada garansi resmi atau dukungan. Gunakan dengan risiko Anda sendiri.

Daftar Isi

Tentang

Ini adalah kumpulan script untuk mengotomasi dan memperluas fitur MikroTik RouterOS. Script ini terinspirasi dari eworm-de/routeros-scripts tetapi dikustomisasi untuk kebutuhan lokal.

Fitur Utama

  • Backup otomatis (cloud, email, upload server)
  • Monitor kesehatan router (CPU, RAM, temperature)
  • Notifikasi via Telegram, Email, Ntfy
  • Update sertifikat otomatis
  • DHCP ke DNS integration
  • Firewall address-list update otomatis
  • Dan banyak lagi...

Syarat & Ketentuan

Kebutuhan RouterOS

  • RouterOS v7.x (minimal)
  • Untuk RouterOS v6, gunakan branch routeros-v6
  • Storage minimal: 100MB kosong (untuk script + backup)
  • RAM minimal: 128MB (untuk eksekusi script)

Fitur yang Harus Enable (RouterOS 7.17+)

Ada beberapa router modern yang menggunakan "Device Mode" dengan fitur terbatas. Pastikan enable:

scheduler - untuk auto-run script
fetch - untuk download script dari GitHub

Instalasi Cepat

Untuk pengguna yang sudah tahu RouterOS, copy-paste command ini di Terminal:

{ :local BaseUrl "https://raw.githubusercontent.com/dumkot/routeros-sc/main/"; :local CertCommonName "ISRG Root X2"; :local CertFileName "ISRG-Root-X2.pem"; :local CertFingerprint "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470"; :local CertSettings [ /certificate/settings/get ]; :if (!((($CertSettings->"builtin-trust-anchors") = "trusted" || \ ($CertSettings->"builtin-trust-store") ~ "fetch" || \ ($CertSettings->"builtin-trust-store") = "all") && \ [[ :parse (":return [ :len [ /certificate/builtin/find where common-name=\"" . $CertCommonName . "\" ] ]") ]] > 0)) do={ :put "Importing certificate..."; /tool/fetch ($BaseUrl . "certs/" . $CertFileName) dst-path=$CertFileName as-value; :delay 1s; /certificate/import file-name=$CertFileName passphrase=""; :if ([ :len [ /certificate/find where fingerprint=$CertFingerprint ] ] != 1) do={ :error "Something is wrong with your certificates!"; }; :delay 1s; }; :put "Renaming global-config-overlay, if exists..."; /system/script/set name=("global-config-overlay-" . [ /system/clock/get date ] . "-" . [ /system/clock/get time ]) [ find where name="global-config-overlay" ]; :foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={ :put "Installing $Script..."; /system/script/remove [ find where name=$Script ]; /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ($BaseUrl . $Script . ".rsc") output=user as-value ]->"data"); }; :put "Loading configuration and functions..."; /system/script { run global-config; run global-functions; }; :if ([ :len [ /certificate/find where fingerprint=$CertFingerprint ] ] > 0) do={ :put "Renaming certificate by its common-name..."; :global CertificateNameByCN; $CertificateNameByCN $CertFingerprint; }; };

Lalu lanjutkan ke Konfigurasi.

Instalasi Lengkap

1. Download Sertifikat (Pilih 1)

Opsi A: RouterOS 7.19+ (ada built-in certificate store)

Jika RouterOS Anda sudah v7.19+, jalankan ini untuk enable built-in trust:

/certificate/settings/set builtin-trust-store=fetch;

Opsi B: Manual download (untuk RouterOS lama)

Download sertifikat ISRG Root X2 dari browser Anda, lalu import di RouterOS:

/tool/fetch "https://raw.githubusercontent.com/dumkot/routeros-sc/main/certs/ISRG-Root-X2.pem" dst-path="isrg-root-x2.pem";
/certificate/import file-name="isrg-root-x2.pem" passphrase="";

Verifikasi:

/certificate/print where fingerprint="69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470";

2. Download Script Inti

:foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={ /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ("https://raw.githubusercontent.com/dumkot/routeros-sc/main/" . $Script . ".rsc") output=user as-value ]->"data"); };

3. Jalankan Script

/system/script { run global-config; run global-functions; };

Lihat di terminal apakah ada error. Jika ada, itu biasanya berarti RouterOS perlu update.

4. Konfigurasi

Edit file global-config-overlay sesuai kebutuhan Anda:

/system/script/edit global-config-overlay source;

Kemudian jalankan ulang:

/system/script/run global-config;

5. Auto-Update (Opsional)

Jika ingin script auto-update setiap hari:

/system/scheduler/add name="ScriptInstallUpdate" start-time=startup interval=1d on-event=":global ScriptInstallUpdate; \$ScriptInstallUpdate;";

Konfigurasi

File global-config-overlay berisi pengaturan yang Anda butuhkan. Copy bagian yang Anda inginkan dari global-config (tanpa -overlay) ke global-config-overlay.

Contoh Konfigurasi

Backup Email

:global BackupPassword "sangat-rahasia";
:global BackupSendEmail 1;
:global SendNotification 1;
:global NotificationEmail "admin@dumai.go.id";
:global MailServer "mail.dumai.go.id";
:global MailFrom "router@dumai.go.id";

Telegram Notification

:global NotificationTelegram 1;
:global TelegramBotToken "123456:ABCdefg...";
:global TelegramChatID "123456789";

Monitor Kesehatan

:global HealthNotification 1;
:global HealthTempWarn 60;
:global HealthTempCrit 80;

Setelah ubah, jalankan:

/system/script/run global-config;

Update Script

Jika sudah terpasang, untuk update semua script ke versi terbaru:

$ScriptInstallUpdate;

Jika ada update script baru atau changelog, Anda akan dapat notifikasi otomatis.

Menambah Script Baru

Misalnya ingin tambah check-routeros-update:

$ScriptInstallUpdate check-routeros-update;

Lalu biasanya perlu tambah scheduler:

/system/scheduler/add name="check-routeros-update" interval=1d start-time=startup on-event="/system/script/run check-routeros-update;";

List Script Tersedia

Script Fungsi
backup-cloud Upload backup ke Mikrotik cloud
backup-email Kirim backup via email
backup-partition Simpan config ke partition fallback
backup-upload Upload backup ke server FTP/HTTP
check-certificates Monitor & renew sertifikat
check-health Monitor CPU, RAM, suhu
check-routeros-update Cek update RouterOS
dhcp-to-dns Sync DHCP lease ke DNS
fw-addr-lists Update firewall address-list otomatis
netwatch-notify Notifikasi host up/down
telegram-chat Bot Telegram untuk kontrol router
update-gre-address Update GRE config dengan IP dinamis
Lihat semua...

Troubleshooting

Masalah: Script tidak bisa download

Error: failure: certificate not found

Solusi: Pastikan sertifikat sudah import dan trusted. Lihat bagian "Download Sertifikat".

Masalah: Notifikasi tidak jalan

Cek:

  • Email: Setting MailServer, MailFrom sudah benar?
  • Telegram: Bot token dan Chat ID valid?
  • Ntfy.sh: Token valid dan endpoint terbuka?

Jalankan test:

:global SendNotification 1;
/system/script/run send-notification;

Masalah: Script jalankan error

Lihat log:

/log print where topics~"script";

Biasanya error adalah karena RouterOS terlalu lama (perlu update). Update dulu, lalu coba ulang.

FAQ

Q: Apakah ini resmi dari Mikrotik?

A: Tidak. Ini adalah distribusi pribadi yang terinspirasi dari eworm-de/routeros-scripts.

Q: Apakah aman dipakai di production?

A: Tergantung. Sudah dicoba di lingkungan lokal, tapi tidak ada garansi. Test di router non-critical dulu.

Q: Bagaimana jika ada bug?

A: Issues/reports bisa ke repository ini, tapi tidak ada SLA. Untuk support profesional, hubungi eworm-de upstream atau profesional lokal.

Q: Bisa pake di RouterOS v6?

A: Ada branch terpisah routeros-v6. Tapi maintenance sudah minimalis.

Q: Bisa contribute / fork?

A: Ya, silakan fork dan adjust sesuai kebutuhan. Jangan lupa credit upstream eworm-de jika buat public fork.

Upstream & Kredit

Lisensi

GNU General Public License v3 (GPLv3) - Lihat LICENSE


Catatan: Versi Inggris lengkap ada di README.md