1. Home
  2. Docs
  3. MikroTik
  4. System
  5. Cara Mendapatkan Certificate SSL Let's Encrypt di MikroTik Dengan DNS-Challenge

Cara Mendapatkan Certificate SSL Let’s Encrypt di MikroTik Dengan DNS-Challenge

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?

  1. Otomatis DNS-Challenge: RouterOS akan langsung mengenali domain *.sn.mynetname.net dan otomatis memproses verifikasi menggunakan DNS-01 Challenge. Anda tidak perlu membuka port 80 di firewall.
  2. 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).

FAQ

Tags ,
guest

1 Comment
Oldest
Newest Most Voted
Bop
Bop
1 year ago

Good issue,