Untuk generate SSL Certificate Let’s Encrypt gratis menggunakan DNS-Challenge (tanpa perlu IP Public) di MikrotikRouterOS v7. Metode ini memanfaatkan fitur IP Cloud (DDNS-Dynamic DNS) milik Mikrotik untuk validasi DNS, tanpa memerlukan exposing port 80 ke public internet. Nantinya bisa kita gunakan untuk akses service HTTPS/ port 443 router mikrotik, misalnya untuk akses WebFig, REST-API atau URL HTTTPS Portal Hotspot. Lock icon di browser menunjukkan koneksi aman (tidak ada warning).
Prasyarat (Prerequisites)
Minimal yang dibutuhkan Untuk menggunakan fitur cloud DNS-Challenge untuk mendapatkan Certificate Let’s Encrypt di Mikrotik :
- RouterOS minimal v7.22++ — Fitur cloud-dns challenge dengan command CLI di artikel ini hanya tersedia di versi 7.22++ ke atas.
- Koneksi Internet – Router Anda terhubung ke internet.
- Tanggal/Jam Router Akurat (NTP Server): Pastikan tanggal dan jam pada router sudah benar supaya validasi sertifikat tidak gagal atau dianggap kedaluwarsa sebelum digunakan.
- IP Cloud (DDNS) aktif — Router Anda harus terdaftar di Mikrotik IP Cloud dan DDNS sudah diaktifkan. Setiap router akan mendapatkan domain otomatis dengan format
[kode-unik].sn.mynetname.net. - Tidak perlu public IP — Ini adalah keunggulan metode ini; Anda bisa berada di belakang NAT dengan DNS-Challenge .
Berikut adalah panduan final untuk generate sertifikat SSL Let’s Encrypt menggunakan fitur ACME terbaru di MikroTik RouterOS v7 (versi v7.22 ke atas).
Dokumentasi ini mencontohkan bagaimana melakukan konfigurasi SSL Let’s Encrypt di MikroTik RouterOS v7 menggunakan metode DNS-Challenge dengan memanfaatkan fitur MikroTik IP Cloud / DDNS di MikroTik RouterOS v7 (versi v7.22 ke atas)
Membuat Trusted HTTPS SSL Let’s Encrypt Metode DNS-Challenge
Memasang sertifikat SSL/TLS di MikroTik RouterOS sangat penting untuk mengamankan akses ke WebFig, API, dan SSTP VPN. Umumnya, metode verifikasi HTTP-01 memerlukan port 80 publik yang langsung terbuka ke router. Tapi, bagaimana jika router berada di belakang NAT/CGNAT atau Anda enggan membuka port HTTP demi alasan keamanan?
Sinkronisasi Waktu (NTP Client)
Sertifikat SSL sangat sensitif terhadap waktu. Pastikan router Anda menggunakan SNTP Client yang aktif.
/system ntp client
set enabled=yes
/system ntp client servers
add address=0.id.pool.ntp.org
add address=1.id.pool.ntp.org
Aktifkan MikroTik IP Cloud DDNS
Pertama, aktifkan fitur IP Cloud untuk mendapatkan nama domain gratis bawaan MikroTik (*.sn.mynetname.net) yang sudah support verifikasi DNS-Challenge dari server MikroTik ke Let’s Encrypt:
/ip/cloud set ddns-enabled=yes
Untuk melihat nama domain unik router Anda, jalankan perintah:
[adam@mikrotik] > ip/cloud/print
ddns-enabled: yes
ddns-update-interval: none
update-time: yes
public-address: 125.160.119.4
dns-name: 123456789abc.sn.mynetname.net
status: updated
back-to-home-vpn: revoked-and-disabled
Catat nama domain yang muncul pada baris dns-name (Contoh: 123456789abc.sn.mynetname.net).
Request Let’s Encrypt SSL Certificate di MikroTik
Setelah DDNS aktif, kita dapat langsung meminta (request) sertifikat SSL dari Let’s Encrypt melalui perintah /certificate/add-acme dengan memasukkan URL direktori Let’s Encrypt dan nama domain Cloud Anda:
/certificate/add-acme directory-url=https://acme-v02.api.letsencrypt.org/directory domain-names=123456789abc.sn.mynetname.net
(Ganti 123456789abc.sn.mynetname.net dengan domain IP Cloud asli milik router Anda)
Kenapa ini lebih menguntungkan?
- Otomatis DNS-Challenge: RouterOS akan langsung mengenali domain
*.sn.mynetname.netdan otomatis memproses verifikasi menggunakan DNS-01 Challenge. Anda tidak perlu membuka port 80 di firewall. - Auto-Renewal Otomatis: Berbeda dengan versi lama yang kadang perlu di trigger ulang, komponen ACME baru ini akan otomatis memperbarui sertifikat saat masa berlakunya tersisa 20% (sudah berjalan 80% dari total masa aktif).
Verifikasi Certificate
Sistem akan memproses permintaan ke Let’s Encrypt. Tunggu beberapa detik hingga status menunjukkan bahwa sertifikat berhasil dibuat dan di-download.
Untuk memeriksa status sertifikat di winbox pada menu System > Certificate
[adam@mikrotik] > certificate/print
Flags: K - PRIVATE-KEY; a - ACME-MANAGED
Columns: NAME, TRUST-STORE, COMMON-NAME, SUBJECT-ALT-NAME, SKID
# NAME TRUST-STORE COMMON-NAME SUBJECT-ALT-NAME SKID
0 Ka acme_cert_123456789abc.sn.mynetname.net all 123456789abc.sn.mynetname.net DNS:123456789abc.sn.mynetname.net A476CDF6CF4418928D083E36DEA20677BC339056
Sertifikat baru akan muncul dengan tanda flag a (acme-managed). Artinya, sertifikat ini akan otomatis diperbarui oleh RouterOS sebelum masa berlakunya habis.
Pasang SSL pada Services MikroTik
Setelah sertifikat terbit, Anda bisa langsung menggunakannya untuk mengamankan WebFig (HTTPS), API-SSL atau service lainnya:
/ip service set www-ssl certificate=acme_cert_123456789abc.sn.mynetname.net disabled=no
/ip service set api-ssl certificate=acme_cert_123456789abc.sn.mynetname.net disabled=no
Dan cek kembali pada IP > Services.
[adam@mikrotik] > ip/service/print
Flags: D - DYNAMIC; X - DISABLED, I - INVALID; c - CONNECTION
Columns: NAME, PORT, PROTO, CERTIFICATE, VRF, MAX-SESSIONS, LOCAL, REMOTE
# NAME PORT PROTO CERTIFICATE VRF MAX-SESSIONS LOCAL REMOTE
9 www-ssl 443 tcp acme_cert_123456789abc.sn.mynetname.net main 20
16 api-ssl 8729 tcp acme_cert_123456789abc.sn.mynetname.net main 20
untuk service www-ssl, api-ssl sudah menggunakan certificate yang sudah kita dapatkan dari Let’s Encrypt.
Akses dari Jaringan Lokal (LAN)
Jika anda tidak mempunyai IP Public di interface WAN atau mikrotik Anda di bawah Modem/Router ISP, kita tidak bisa langsung saja mengakses nama domain tersebut. Agar nama domain DNS Cloud (sn.mynetname.net) bisa di akses dari jaringan LAN, tambahkan Static DNS di mikrotik kita dan arahkan ke IP interface LAN. Contohnya:
/ip/dns/static
add address=192.168.88.1 name=123456789abc.sn.mynetname.net type=A
Ganti:
- 192.168.88.1 dengan IP address interface lokal router Anda (biasanya ether1 atau bridge interface).
- 123456789abc.sn.mynetname.net dengan domain DDNS Anda yang sebenarnya.
- Pastikan IP DNS perangkat user mengarah ke dns server router mikrotik.
Dengan cara ini, saat Anda mengakses https://123456789abc.sn.mynetname.net dari device di LAN, DNS akan mengarahkan ke IP lokal router (192.168.88.1), dan Anda bisa mengakses WebFig atau service HTTPS lainnya dengan certificate yang valid (tidak ada warning SSL).
Test Akses HTTPS
Test akses WebFig dengan HTTPS menggunakan domain DDNS Anda. Buka browser dan akses:
https://123456789abc.sn.mynetname.net
Ganti domain sesuai milik Anda. Jika semuanya benar:
- Browser akan menampilkan WebFig atau service yang Anda tuju
- Lock icon di browser menunjukkan koneksi aman (tidak ada warning)
- Certificate info menunjukkan Let’s Encrypt sebagai issuer
Kesimpulan
Anda telah berhasil menggenerate SSL certificate yang valid dan trusted dari Let’s Encrypt menggunakan DNS Challenge, tanpa memerlukan public IP atau exposing port 80. Certificate ini akan otomatis di-renew setiap 80% dari masa berlakunya (kurang lebih setiap 2 bulan untuk certificate 3 bulan).
Keuntungan metode DNS Challenge:
- Tidak perlu public IP
- Tidak perlu membuka port 80 ke internet
- Auto-renewal otomatis
- Certificate yang valid (tidak ada warning SSL).
Good issue,