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
- Syarat & Ketentuan
- Instalasi Cepat
- Instalasi Lengkap
- Konfigurasi
- Update Script
- List Script Tersedia
- FAQ
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,MailFromsudah 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
- Upstream utama: eworm-de/routeros-scripts - Christian Hesse
- Repository ini: Kustomisasi lokal oleh dumkot untuk Dumai, Riau
Lisensi
GNU General Public License v3 (GPLv3) - Lihat LICENSE
Catatan: Versi Inggris lengkap ada di README.md