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

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

Dokumentasi ini mencontohkan cara mendapatkan SSL Certificate Let’s Encrypt tanpa IP Public. Metode ini memanfaatkan fitur IP Cloud (DDNS) 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 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.16 — Fitur cloud-dns challenge hanya tersedia di versi 7.16 ke atas.
  • 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.

Membuat Trusted HTTPS SSL Let’s Encrypt Metode DNS-Challenge

Metode DNS-Challenge adalah metode untuk mendapatkan Trusted SSL Certificate yang berguna jika dalam network kita tidak mempunyai public IP atau tidak bisa mengekspos service http port 80 router mikrotik ke public internet seperti yang dibutuhkan untuk generate SSL menggunakan metode http-challenge.

Verifikasi dan Aktifkan IP Cloud (DDNS)

Pertama, pastikan fitur IP Cloud sudah aktif 

/ip cloud set ddns-enabled=yes

Cek dns name yang kita dapatkan:

[adam@mikrotik] > ip cloud print                          
          ddns-enabled: yes
  ddns-update-interval: 10m
           update-time: yes
        public-address: 180.252.45.24
              dns-name: b8710bxxxxx.sn.mynetname.net
                status: updated
               warning: Router is behind a NAT. Remote connection might not work.

pada kolom dns-name, domain tersebut yang kita bisa gunakan untuk akses web service https mikrotik di browser (https://b8710bxxxxx.sn.mynetname.net).

Generate SSL Certificate Let’s Encrypt di MikroTik

Selanjutnya generate SSL certificate menggunakan lets encrypt dengan menjalankan perintah berikut :

/certificate enable-ssl-certificate

Perintah ini akan:

  • Menghubungi server Let’s Encrypt
  • Melakukan validasi DNS secara otomatis menggunakan protokol ACME DNS-01
  • Menggenerate certificate baru
  • Secara otomatis menerapkan certificate ke service www-ssl (port 443)

Akan muncul status di terminal mikrotik kita progress: [success] ssl certificate updated indikasi kita sudah berhasil mendapatkan SSL certificate menggunakan lets encrypt di mikrotik.

Verifikasi Certificate

Anda bisa cek di winbox pada menu System > Certificate

Certificate Let's Encrypt MikroTik

Dan cek kembali pada IP > Services.

[[email protected]] > ip service print
Flags: X - DISABLED, I - INVALID
Columns: NAME, PORT, ADDRESS, CERTIFICATE, VRF, MAX-SESSIONS
#   NAME     PORT  ADDRESS          CERTIFICATE                    VRF   MAX-SESSIONS
4   www-ssl   443                   b8710bxxxxx.sn.mynetname.net  main            20
7   api-ssl  8729                   b8710bxxxxx.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=b8710bxxxxx.sn.mynetname.net type=A

Ganti:

  • 192.168.88.1 dengan IP address interface lokal router Anda (biasanya ether1 atau bridge interface)
  • b8710bxxxxx.sn.mynetname.net dengan domain DDNS Anda yang sebenarnya

Dengan cara ini, saat Anda mengakses https://b8710bxxxxx.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://b8710bxxxxx.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

How can we help?