๐ Sertifikat SSL untuk Alamat IP
- HTTPS untuk Setiap IP: Dapatkan sertifikat SSL melalui Let's Encrypt untuk alamat IP mana pun
- Terjamin oleh Browser: Semua sertifikat resmi diverifikasi, tanpa kesalahan di browser
- Tanpa Pengaturan: Tidak diperlukan konfigurasi DNS atau server SSL
- Pembaruan Otomatis: Sertifikat diperbarui secara otomatis
๐ง Bagaimana Cara Kerjanya
Mendapatkan sertifikat SSL untuk alamat IP langsung tidak memungkinkan: pusat sertifikasi (termasuk Let's Encrypt) tidak memberikan sertifikat untuk IP tanpa domain. Layanan DNSBox menyelesaikan masalah ini โ Anda akan mendapatkan sertifikat SSL gratis untuk alamat IP publik mana pun dalam hitungan detik, tanpa perlu menyiapkan domain atau DNS sendiri.
Kami secara otomatis mengganti DNS dan melakukan validasi ACME, memberikan sertifikat dari Let's Encrypt melalui subdomain seperti 123.123.123.123.dnsbox.io
. Mendukung baik IPv4 maupun IPv6. Semuanya langsung bekerja โ cukup buka HTTPS ke IP yang diinginkan melalui DNSBox.
DNSBox secara otomatis memetakan alamat IP ke nama domain. Cukup kodekan IP dalam subdomain:
- IPv4:
1.2.3.4.dnsbox.io
โ1.2.3.4
- IPv6:
2a01-4f8-c17-b8f--1.dnsbox.io
โ2a01:4f8:c17:b8f::1
- HTTPS: Dapatkan sertifikat SSL yang sah melalui Let's Encrypt
- WebSocket: Dukungan penuh (header Upgrade dipertahankan)
๐ฏ Skenario Penggunaan
DNSBox adalah alat serbaguna untuk akses cepat ke alamat IP melalui DNS dan HTTPS, tanpa konfigurasi yang rumit:
- Pengembangan Web dan Pengujian: Buat domain sementara untuk server lokal dan jarak jauh. Ideal untuk mendemonstrasikan proyek kepada klien dan melakukan pengujian tanpa mengubah catatan DNS.
- Internet of Things (IoT): Pastikan akses yang stabil ke perangkat IoT di jaringan dinamis melalui nama domain permanen. Sederhanakan pengelolaan dan pemantauan perangkat.
- Server Sementara: Dapatkan domain sementara dengan cepat untuk demonstrasi dan proyek sementara. Tidak perlu membuang waktu untuk membeli dan mengonfigurasi domain terpisah.
- Penggunaan Korporat: Terapkan node DNSBox Anda sendiri untuk kontrol penuh atas DNS dan sertifikat SSL. Pastikan keamanan dan kerahasiaan data.
๐ Mengapa Anda Harus Menggunakan DNSBox untuk Mendapatkan SSL untuk IP?
- โจ Tidak perlu memiliki atau mengonfigurasi domain
- โจ Penerbitan sertifikat SSL Let's Encrypt tanpa domain
- โจ Bekerja dengan semua IP (IPv4 dan IPv6), tidak memerlukan alamat statis
- โจ Pengaturan otomatis DNS dan HTTPS
- โจ Cepat, dapat diandalkan, publik, dan cocok untuk produksi
- โจ Ideal untuk API, CI/CD, DevOps, server sementara, dan VPN
โ Pertanyaan yang Sering Diajukan
- Apa itu DNSBox? DNSBox memungkinkan Anda untuk mendapatkan sertifikat SSL gratis untuk alamat IP mana pun โ bahkan jika Anda tidak memiliki domain. Anda cukup menggunakan subdomain seperti 123.123.123.123.dnsbox.io, dan kami akan secara otomatis mengeluarkan dan memelihara sertifikat tersebut.
- Bagaimana cara menggunakan DNSBox? Cukup ganti IP Anda dalam URL dengan
IP.dnsbox.io
Contoh: https://167.172.5.205.dnsbox.io Kami akan mengonfigurasi DNS dan sertifikat untuk Anda โ tidak perlu melakukan apa-apa. - Bisakah saya menggunakan DNSBox untuk mendapatkan HTTPS di alamat IP tanpa domain? Ya. Inilah tugas utama DNSBox โ Anda mendapatkan sertifikat SSL untuk alamat IP tanpa perlu memiliki domain. Cukup gunakan subdomain seperti
IP.dnsbox.io
, dan kami akan melakukan verifikasi otomatis menggunakan ACME melalui Let's Encrypt. - Apakah ini aman? Ya. Kami menggunakan Let's Encrypt dan mengenkripsi koneksi melalui HTTPS. Anda juga dapat memverifikasi sertifikat yang diterbitkan secara mandiri.
- Apakah ini gratis? Ya, untuk penggunaan publik โ dan kode sumbernya terbuka.
- Dengan IP apa DNSBox dapat digunakan? Dengan alamat IPv4 dan IPv6 publik mana pun.
- Bagaimana jika saya memiliki IP dinamis? Anda bisa menggunakan DNSBox, tetapi sertifikat hanya berlaku untuk IP yang Anda tentukan. Untuk alamat dinamis, kami menyarankan untuk menggunakan layanan DDNS.
- Berapa lama sertifikat tersebut berlaku? Sertifikat Let's Encrypt berlaku selama 90 hari, dan kami memperbaruinya secara otomatis.
- Apakah saya bisa menggunakan DNSBox di lingkungan produksi? Ya. DNSBox dirancang untuk skenario produksi: CI/CD, API publik, situs web satu halaman, perangkat IoT โ semua yang memerlukan HTTPS untuk IP.
- Apakah saya perlu mendaftar? Tidak. Semua berfungsi tanpa akun.
- Apa yang terjadi jika server saya tidak merespons atau dimatikan? Jika koneksi tidak dapat dibuat ke alamat IP yang terdaftar di *.dnsbox.io, browser akan menunjukkan kesalahan standar. DNSBox akan terus melayani sertifikat dan akan berfungsi kembali begitu server tersedia.
- Bagaimana verifikasi IP dilakukan sebelum sertifikat dikeluarkan? Kami menggunakan verifikasi DNS melalui subdomain. Sistem DNSBox mengelola zona DNS dnsbox.io, sehingga dapat dengan cepat menambahkan catatan TXT yang diperlukan untuk Let's Encrypt.
- Bisakah saya menggunakan DNSBox dengan IP privat atau internal (misalnya, 192.168.0.1)? Tidak. Layanan ini hanya bekerja dengan alamat IP publik yang dapat diakses dari internet.
- Di mana kode sumbernya? Lihat di GitHub
๐งช Ingin Mengatur Sendiri?
DNSBox memungkinkan Anda untuk mendapatkan sertifikat SSL untuk alamat IP tanpa perlu membeli domain atau mengonfigurasi DNS โ Anda dapat menggunakan subdomain dengan format IP.dnsbox.io
, dan semuanya akan berfungsi "out of the box".
Namun, jika Anda ingin instansi sepenuhnya mandiri yang mengelola catatan DNS dan sertifikatnya sendiri, Anda perlu mengonfigurasi infrastruktur secara manual:
Apa yang diperlukan untuk penyebaran mandiri:
1. โ
Beli domain (misalnya, example.com
).
2. ๐ฅ Sewa setidaknya dua server dengan alamat IP statis publik โ mereka akan berfungsi sebagai server NS.
3. ๐ Buat catatan NS di registrar yang mengarah ke IP ini. Misalnya:
ns1.example.com โ 167.172.5.205
ns2.example.com โ 134.199.248.116
4. ๐ Instal DNSBox di setiap server dengan parameter yang benar:
bash <(curl -sSL https://install.dnsbox.io) \
--ip=167.172.5.205 \
--domain=example.com \
--ns=ns1
Penjelasan parameter:
--ip
โ alamat IP publik dari server saat ini (yang sama dengan yang ada di catatan NS).--domain
โ domain utama, misalnya example.com
.--ns
โ nama server NS saat ini (ns1
, ns2
, dll).
Tambahan:
--force-resolv
โ menonaktifkan systemd-resolved (jika port 53 digunakan).--debug
โ mengaktifkan pencatatan log terperinci (DNSBOX_DEBUG=true
).
๐ Setelah pengaturan, DNSBox Anda yang mandiri:
- akan berfungsi sebagai server NS otoritatif,
- menangani permintaan DNS,
- secara otomatis mendapatkan sertifikat SSL untuk alamat IP melalui Let's Encrypt,
- membuka akses HTTPS dan WSS tanpa keterikatan pada subdomain
dnsbox.io
.
๐ก Solusi ini sangat cocok jika Anda:
- ingin sepenuhnya mengendalikan infrastruktur,
- mengatur API, layanan pengembangan, atau VPN di IP "telanjang",
- membangun proyek mandiri yang membutuhkan HTTPS tanpa domain.
๐ Lihat kode sumber dan dokumentasi:
github.com/crypto-chiefs/dnsbox
โ Cara Memeriksa Jika Semua Berfungsi
Setelah mengonfigurasi DNSBox, penting untuk memastikan bahwa sertifikat SSL untuk alamat IP telah diterbitkan dengan sukses dan dapat diakses melalui HTTPS. Berikut adalah instruksi untuk dua skenario: menggunakan subdomain IP.dnsbox.io
dan penyebaran mandiri.
1. Jika Anda menggunakan IP.dnsbox.io
DNSBox secara otomatis mengonfigurasi DNS dan proxy HTTPS untuk IP Anda, sehingga semuanya berfungsi tanpa pengaturan tambahan.
Memeriksa Catatan DNS:
dig +short 167.172.5.205.dnsbox.io
Respon yang diharapkan adalah IP dari salah satu server NS DNSBox (misalnya, 167.172.5.205
, jika itu disebutkan saat penginstalan).
Memeriksa HTTPS di Browser:
https://167.172.5.205.dnsbox.io
๐ Browser harus menampilkan koneksi yang aman dengan sertifikat valid dari Let's Encrypt.
2. Jika Anda menginstal DNSBox secara mandiri
Dalam hal ini, Anda mengelola infrastruktur Anda sendiri: domain, catatan NS, dan server DNSBox. Periksa bahwa semuanya berfungsi dengan benar:
Memeriksa Catatan NS Domain:
dig NS example.com
Pastikan bahwa ns1.example.com.
, ns2.example.com.
, dan seterusnya kembali.
Memeriksa Alamat IP Server NS:
dig A ns1.example.com
dig A ns2.example.com
Respon harus mengandung alamat IP asli dari server VPS Anda.
Memeriksa Zona melalui Server NS Tertentu:
dig @167.172.5.205 A example.com
Pastikan domain memetakan alamat IP yang diharapkan.
๐ Jika terjadi kesalahan โ pastikan bahwa DNS berfungsi, catatan NS benar, dan DNSBox berjalan di semua server NS.
โ๏ธ Detail Teknis
Implementasi Dasar
- Ditulis dengan Go tanpa dependensi eksternal pada tingkat HTTP/DNS
- Menggunakan miekg/dns untuk server DNS kustom
- DNS built-in (UDP + TCP pada port 53), HTTPS (:443) dan REST API (:80)
- Satu binari dan systemd unit โ cocok untuk server, VPS, dan edge node
DNS dan Routing
Pemrosesan IP dari domain:
1.2.3.4.dnsbox.io
โ1.2.3.4
2a01-4f8-c17-b8f--1.dnsbox.io
โ2a01:4f8:c17:b8f::1
(ะณะดะต -- โ ::, - โ :)
Tipe permintaan DNS yang didukung:
- A, AAAA: IP dari nama domain
- TXT: Penyimpanan dan replikasi tantangan ACME
- NS, SOA, SRV: Dihasilkan secara dinamis (termasuk peer discovery)
- CNAME, MX, TXT: Dapat ditentukan secara manual melalui custom_domains.txt
Modul customdns
- Memungkinkan penambahan catatan A, CNAME, MX, TXT, AAAA melalui custom_domains.txt
- File terbenam sebagai embed.FS, tidak memerlukan manajer konfigurasi eksternal
- Bekerja secara paralel dengan pembuatan berdasarkan IP
TLS dan HTTPS
- Penerbitan sertifikat otomatis dari Let's Encrypt melalui dns-01
- Catatan TXT disimpan secara lokal dan disinkronkan antar node melalui REST API
- Enkripsi sertifikat antar node: ephemeral ECDH (X25519) + AES-GCM
- Sertifikat disimpan di /var/lib/dnsbox/certs dan otomatis tervalidasi pada setiap permintaan
WebSocket
- Mendukung Connection: Upgrade + Upgrade: websocket
- Bekerja dengan klien wss:// apa pun, termasuk browser dan alat CLI
Keamanan dan Pembatasan
- Pemblokiran IP melalui blacklist.txt (mendukung IPv4, IPv6, dan CIDR)
- Jawaban HTTPS dan DNS tidak diberikan untuk alamat yang diblokir
- Semua komunikasi peer menggunakan kunci sementara dan pengiriman terenkripsi
Penyebaran dan Konfigurasi
-
Dikelola melalui variabel lingkungan:
- DNSBOX_DOMAIN
- DNSBOX_IP
- DNSBOX_NS_NAME
- DNSBOX_DEBUG
- Instalasi satu perintah menggunakan curl | bash, pemasangan systemd unit
- Mendukung flag --force-resolv untuk menonaktifkan systemd-resolved
- Mendukung flag --debug untuk mengaktifkan semua log
Cara Mendapatkan Sertifikat SSL untuk Alamat IP
Pusat Sertifikasi (CA) biasa tidak mengeluarkan sertifikat untuk alamat IP secara langsung. DNSBox adalah layanan unik yang memungkinkan Anda mengatasi batasan ini dengan menggunakan substitusi DNS dinamis. Gunakan subdomain dalam format IP.dnsbox.io
, dan kami akan melakukan validasi melalui Let's Encrypt untuk mengeluarkan sertifikat HTTPS yang valid.
Ini adalah solusi ideal jika Anda membutuhkan SSL untuk server berdasarkan IP, HTTPS untuk API tanpa domain, atau Anda bekerja dengan IoT, lingkungan pengujian, atau terowongan, di mana tidak memungkinkan untuk mendaftarkan nama domain.