1 poin oleh GN⁺ 22 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • DynIP adalah layanan DNS dinamis untuk homelab, router edge, dan tim infrastruktur, yang menawarkan pembaruan 60 detik serta tier gratis
  • Mendukung pembaruan RFC 2136 TSIG, REST API, dan UDP/53, serta terintegrasi dengan FortiGate, OPNsense, OpenWRT, dan MikroTik
  • Mendukung IPv6 bersama IPv4 untuk memperbarui record A dan AAAA secara berdampingan, mencakup dual-stack maupun zone khusus IPv6
  • DNSSEC mengotomatiskan pembuatan kunci penandatanganan, publikasi parent zone, dan penandatanganan record, serta diperlukan untuk penerbitan sertifikat Let’s Encrypt
  • Dengan BYOD, Anda dapat menghubungkan domain milik sendiri untuk membuat subdomain dinamis, tetapi memerlukan delegasi ke ns1.dynip.dev dan ns2.dynip.dev

Ikhtisar DynIP

  • DynIP adalah layanan DNS dinamis untuk homelab, router edge, dan tim infrastruktur, dengan keunggulan pembaruan 60 detik, tier gratis, RFC 2136 TSIG, penggunaan domain sendiri, dan DNSSEC
  • Dirancang agar saat router mengirim pembaruan, hostname dapat di-resolve dengan benar secara global dalam sekitar 60 detik
  • Menyediakan TTL 60 detik, propagasi berbasis NOTIFY, dan nameserver multi-region
  • Menyediakan pendaftaran gratis dan dokumentasi

Standar DNS dan integrasi router

  • Mendukung RFC 2136 TSIG sehingga dapat digunakan di FortiGate, OPNsense, OpenWRT, dan router yang mendukung DNS UPDATE
  • Pengguna MikroTik dapat memakai integrasi HTTP API native
  • Metode yang didukung mencakup RFC 2136 TSIG, REST API, dan pembaruan native UDP/53
  • Pada layar snippet konfigurasi, pengguna dapat membuat dan menyalin blok konfigurasi berdasarkan jenis perangkat, alamat IP tujuan, domain, dan kunci TSIG
  • Selama zone baru masih dipropagasikan ke nameserver, pembaruan RFC 2136/TSIG dari FortiGate harus menunggu
  • Pembaruan HTTP API seperti cURL, PowerShell, Python, dan MikroTik bekerja seketika

IPv6 dan DNSSEC

  • Mendukung IPv6 bersama IPv4 sehingga record A dan AAAA dapat diperbarui secara berdampingan
  • Mendukung konfigurasi dual-stack maupun zone khusus IPv6
  • Untuk menerbitkan sertifikat Let’s Encrypt, DNSSEC harus diaktifkan pada zone tersebut
  • Saat DNSSEC diaktifkan, pembuatan kunci penandatanganan, publikasi parent zone, dan penandatanganan semua record DNS dilakukan secara otomatis
  • Pengaturan DNSSEC adalah prosedur sekali jalan, dan setelah itu zone akan tetap dalam keadaan signed
  • Estimasi waktu yang ditampilkan adalah 30 detik

Mulai cepat dan pengelolaan zone

  • Alur mulai cepat adalah memasukkan nama perangkat, memilih domain dasar, lalu mengklik Create Zone untuk membuat zone
  • Dari tombol Snippets di samping domain baru, pengguna bisa mengambil konfigurasi, memilih jenis perangkat, lalu menyalin blok konfigurasi yang dihasilkan ke CLI router
  • IPv4 dan IPv6 dideteksi serta diperbarui secara otomatis berdasarkan koneksi masuk
  • Daftar zone menampilkan domain dan alat, IP saat ini, TSIG Secret, DNSSEC, dan status sertifikat SSL
  • Pada tiap zone, pengguna dapat mengelola status kunci, snippet, penghapusan, notifikasi, waktu sinkronisasi, aktif/nonaktif DNSSEC, serta unduh/perbarui/terbitkan sertifikat SSL

Menggunakan domain sendiri

  • Fitur Custom Namespaces (BYOD) memungkinkan Anda menghubungkan domain milik sendiri ke DynIP dan membuat subdomain dinamis di bawah namespace tersebut
  • Untuk mengaktifkan namespace, Anda harus membuat kedua record NS di registrar domain
  • Delegasi satu NS akan ditolak
  • Record NS yang diperlukan adalah ns1.dynip.dev dan ns2.dynip.dev
  • Verifikasi pengaturan disediakan dalam alur untuk memeriksa apakah delegasi sudah aktif atau tindakan apa yang masih diperlukan di registrar

Sinkronisasi cepat dan otomatisasi

  • Quick Sync adalah fitur untuk langsung menyamakan zone yang dipilih dengan alamat IP eksternal perangkat saat ini
  • Menampilkan IP jaringan yang terdeteksi dan memungkinkan pengguna memperbarui zone yang dipilih sekaligus
  • Dengan token sesi, Anda dapat mengirim permintaan POST ke endpoint /register untuk mendaftarkan zone baru secara terprogram
curl -X POST "{{ backendUrl }}/register?subdomain=my-new-router&base_domain={{ baseDomains[0] }}" \
     -H "Authorization: Bearer {{ token }}"
  • Token sesi kedaluwarsa saat logout, sehingga untuk otomatisasi jangka panjang harus menggunakan token API
  • API tokens adalah fitur Pro ke atas, dan dapat digunakan untuk otomatisasi seperti skrip pemantauan, pipeline CI, dan integrasi MSP
  • Token API tidak kedaluwarsa saat logout, dapat dibatasi ke cakupan read-only atau akses penuh, dan bisa dicabut kapan saja
  • Token API baru hanya ditampilkan sekali saat dibuat, jadi harus disimpan di password manager atau penyimpanan secret

Paket harga dan keamanan akun

  • Layar paket harga menampilkan tier langganan, status, tanggal perpanjangan atau tanggal berakhirnya akses, siklus penagihan, jumlah zone yang digunakan, dan jumlah maksimum domain
  • Jika paket diturunkan, hanya zone tertua hingga batas yang diizinkan yang akan tetap aktif, sedangkan zone lainnya akan terkunci dan tidak dapat menerima pembaruan IP
  • Jika pembayaran gagal, metode pembayaran perlu diperbarui agar akses tetap dipertahankan
  • Keamanan akun mendukung 2FA email dan TOTP, dan saat TOTP diaktifkan, itu akan menggantikan 2FA email
  • Pengaturan TOTP terdiri dari memindai kode QR di Google Authenticator, Authy, atau aplikasi 2FA pilihan, lalu memverifikasi kode

Tautan terkait

1 komentar

 
GN⁺ 22 jam lalu
Opini Hacker News
  • Saya Daniel, network engineer dari Swedia, dan membuat DynIP karena merasa layanan DDNS yang ada masih tertinggal di pola jaringan era 2010-an
    Protokol pembaruan khusus HTTP, dukungan IPv6 yang lemah, tidak adanya DNSSEC, dan minimnya dukungan perangkat modern terus berulang, dan DynIP menjadikan RFC 2136 / pembaruan TSIG sebagai jalur utama kelas satu
    FortiGate generic DDNS dan MikroTik /tool dns-update bekerja tanpa klien terpisah, dan untuk penggunaan lain juga disediakan HTTP API
    Server DNS otoritatif dapat diakses lewat IPv6, AAAA glue dipublikasikan pada parent zone .dev, dan zone pelanggan menerbitkan A/AAAA serta mendukung klien khusus IPv6
    Pada zone yang dipilih, DNSSEC bisa diaktifkan dengan satu toggle, dan Anda dapat membawa domain sendiri lewat delegasi subdomain
    Arsitekturnya menggunakan primary tersembunyi yang tidak menerima trafik publik, serta dua secondary yang tersebar secara geografis di Swedia dan Swiss yang memverifikasi TSIG secara lokal lalu meneruskannya ke primary
    Alamat RFC 1918 dan CGNAT juga diizinkan di record, sehingga armada seluler pada private APN bisa memakai hostname DNS publik yang stabil untuk menunjuk ke IP internal
    Ada juga container Docker kecil bernama ghcr.io/33k-org/dynip-updater, dan stack yang dipakai adalah PowerDNS 4.8 authoritative, FastAPI, Postgres, Postfix, Cloudflare, dan Paddle, berjalan di dynip.dev serta memiliki tier gratis

    • Saya bukan ahli khusus di bidang DDNS, tetapi desec.io juga layak dilihat karena menawarkan fungsi serupa
      Layanan ini menyediakan fitur seperti IPv6, DNSSEC, dan penggunaan domain sendiri, merupakan proyek open source, dan juga menjalankan layanan hosting gratis yang stabil
      Mungkin saya tidak menemukannya di dokumentasi, tetapi di sana ada dukungan IPv6 prefix delegation, sehingga saat prefix IPv6 yang diberikan ISP ke router berubah, Anda bisa memperbarui hanya network prefix dari domain tertentu
      Di Eropa, prefix ini tidak tetap dan berubah setiap kali ISP tersambung ulang, jadi fitur untuk mempertahankan bagian host sambil memperbarui bagian network secara otomatis sangat berguna
      Contoh: /update?myipv6:nas.home.mydomain.tld=2003:e6:bee:affe::/56
    • Di Firefox Focus pada Android, situsnya tidak berfungsi kecuali perlindungan pelacakan bawaan dimatikan
      Saat menekan tautan verifikasi email, tidak ada konfirmasi selesai atau tampilan status sama sekali, jadi cukup membingungkan
    • Jika menekan “change password” di dashboard, tautan reset dikirim lewat email, tetapi halaman reset hanya bisa dibuka dari sesi yang sudah logout
      Dalam keadaan masih login, tautan itu diarahkan ke beranda dashboard, jadi pengguna biasa kemungkinan menerima email tepat setelah menekan tombol ganti kata sandi dan harus logout lebih dulu
      Akan lebih mulus jika emailnya menyebutkan “logout dulu”, atau jika tautannya mengakhiri sesi saat ini lalu menampilkan halaman reset
    • Saya penasaran apakah dukungan L402 bisa dipertimbangkan agar agen dapat membeli layanan
    • Saya khawatir mengizinkan alamat RFC 1918 dan CGNAT di record bisa menimbulkan masalah keamanan, misalnya memasukkan private server milik orang lain ke domain sendiri untuk melakukan serangan jenis XSS
      Saya samar-samar ingat hal seperti ini dulu dianggap tabu dalam keamanan
  • Pitch-nya terlihat cukup bagus, tetapi saya tidak punya waktu untuk langsung mencobanya sekarang
    Namun, kalau saya tidak membaca penjelasan di komentar sini, saya rasa saya akan langsung menutup tab dari landing page-nya
    Maaf kalau terlalu blak-blakan, tetapi halamannya terlihat seperti landing page generik bergaya AI yang umum, dan bukan berarti memang begitu, tetapi karena penjelasannya bagus, akan lebih baik jika diberi lebih banyak karakter agar terasa berbeda
    Juga sebaiknya jangan membuat akun Hacker News khusus proyek
    “Jangan jadikan username sebagai nama perusahaan atau nama proyek. Itu memberi kesan HN dipakai untuk promosi dan membuat Anda terlihat tidak berpartisipasi sebagai manusia. Tidak harus memakai nama asli, tetapi harus ada sinyal bahwa yang hadir adalah manusia, bukan merek. Jika ingin mengubah username, kirim email ke hn@ycombinator.com.”
    https://news.ycombinator.com/item?id=22336638
    https://news.ycombinator.com/showhn.html juga bisa dijadikan referensi

    • Masukan yang bagus, dan tidak perlu minta maaf
      Saat ini saya masih berada di tahap punya hal-hal yang saya tahu dan belum tahu, harapan dan mimpi, serta kumpulan pengetahuan teknis yang cukup besar, dan saya memang tidak terlalu kuat di sisi desain, tetapi untuk sekarang saya rasa masih oke
    • Komentar panjang di sini juga terlihat seperti tulisan generik hasil LLM yang sangat kentara
      Menurut Pangram nilainya 100%, dan sejujurnya bahkan tanpa alat seperti itu pun sudah cukup mudah dikenali, jadi agak suram melihat tidak sedikit orang di sini yang masih tidak bisa membedakannya
  • Senang melihat ada kompetisi masuk ke area ini
    Namun, jika ingin self-hosting tanpa terlalu peduli pada keandalan atau kemudahan penggunaan, bind9 juga mendukung RFC 2136 DNS UPDATE dan DNSSEC
    Dalam konfigurasi saya, router rumah tidak bisa berbicara DNS UPDATE, jadi saya juga membuat sendiri executable Go kecil yang mengubah permintaan HTTP

    • BIND bisa melakukan banyak hal termasuk RFC 2136, dan saya sudah melihat berbagai opsi sebelum menetapkan arsitektur saat ini
      Saya membuat beberapa test case di FortiGate, dan DynIP awalnya juga dimulai sebagai bentuk salin-tempel sederhana khusus FortiGate di atas DNS internal
      Ada contoh kode yang bisa dipakai secara internal di berbagai host Windows maupun Linux, dan jika ada perangkat IoT di homelab, ada juga contoh Arduino
      Membuat executable Go juga arah yang bagus, jadi silakan pantau pembaruan di bawah /docs
  • Dukungan RFC 2136 layak mendapat poin bonus, dan mudah dipakai dengan external-dns
    Sudah bertahun-tahun saya memakai Kubernetes on-prem dan external-dns bersama server BIND self-hosted dengan konfigurasi minimal pada host publik

    • Kombinasi external-dns + RFC 2136 adalah nilai plus yang bagus
      Panduan operasional fleet sudah ada, dan pola Kubernetes adalah perluasan yang alami, jadi sepertinya perlu menulis panduannya
  • Dulu saya membuat sendiri skrip OpenWrt DDNS untuk memperbarui AWS Route 53 atau Cloudflare DNS, dan itu sudah cukup menyelesaikan kebutuhan
    Setelah Tailscale hadir, saya tidak lagi terlalu memikirkan DDNS maupun CGNAT

    • Tailscale, Netbird, dan WireGuard semuanya luar biasa, dan sekarang benar-benar zaman yang menyenangkan karena ada alat-alat seperti ini
      Saya juga sudah menulis panduan di https://dynip.dev/guides/tailscale yang menjelaskan bagaimana dan mengapa keduanya bisa berdampingan
      Skrip OpenWrt DDNS memang agak merepotkan karena key dan secret, tetapi saya cukup puas karena fitur snippet membuat saya tidak perlu menebak-nebak “cara kerjanya bagaimana?”
    • Sekarang saya memakai keduanya
      Untuk layanan publik saya memakai DynIP, dan untuk hal-hal yang hanya saya sendiri yang perlu akses saya memakai Tailscale, sehingga permukaan serangan berkurang besar
      Syukurlah, saya juga tidak perlu memikirkan CGNAT
  • Saya mencoba mendaftar, tetapi email verifikasi tidak sampai
    Tepat setelah mendaftar juga tidak ada jejak serupa di log server email, dan meskipun saya meminta kirim ulang beberapa kali, sampai 6–7 jam kemudian tetap tidak ada apa pun di kotak masuk

    • Saya sudah memicu pengiriman ulang untuk semua email yang belum terverifikasi, jadi mungkin token verifikasi baru sudah dibuat
    • Jika Anda memberi tahu alamatnya, saya akan cek
  • Saya penasaran apakah token autentikasi di tier gratis memang kedaluwarsa setelah 24 jam
    Saya melihat klaim exp pada JWT, dan ingin mengetahui bagian ini sebelum menghabiskan waktu untuk migrasi
    Intinya adalah apakah tier gratis berkelanjutan atau tidak

    • “long-lived token” di sini berarti token API administrasi untuk pembuatan, penghapusan, kueri zona, atau otomatisasi ala Terraform, bukan kunci TSIG untuk pembaruan DNS yang sebenarnya
      Semua zona mendapat kunci TSIG sendiri di semua tier, dan pembaruan aktual ditangani oleh kunci itu
      Tier gratis mengelola zona lewat dashboard, sedangkan tier berbayar juga menyediakan token API tambahan untuk pengelolaan terprogram
      Jadi token autentikasi dipakai sebagai bearer untuk API, sedangkan TSIG tetap valid selama domainnya tidak dihapus
      Tier gratis mengizinkan 5 zona dan masing-masing memiliki kunci TSIG terpisah yang selalu aktif, jadi selama Anda tidak membuat, memperbarui, dan menghapus ratusan zona, tidak perlu membayar
  • Terima kasih atas banyak komentar dan pertanyaan yang luar biasa; saya baru kembali setelah beberapa jam mengantar putri saya ke kelas renang dan akan lanjut membaca utas ini

    • Renang itu bagus, dan mekanika fluida juga penting
      Saya jadi penasaran apakah Anda juga mempertimbangkan sesuatu seperti https://github.com/hickory-dns/hickory-dns
      Tentu saja, tidak semua hal harus dibuat dengan Rust
  • Terlihat menarik, dan saya memakai DDNS untuk menyediakan beberapa layanan dari server rumah ke klien eksternal
    Saat ini saya memakai NO-IP DDNS, dan tier gratisnya cukup murah hati, tetapi saya tidak suka karena tidak mendukung hal seperti Let’s Encrypt
    Saya sedang mempertimbangkan membeli domain di Cloudflare, tetapi penasaran apa tepatnya yang membedakan DynIP

    • Jika ketidakpuasan Anda saat ini dengan NO-IP adalah tidak bisa memakai Let’s Encrypt, berarti Anda sebenarnya sudah menemukan fitur pembeda yang relevan bagi Anda
  • Pembaruan khusus HTTP(S) ala tahun 2000-an juga bagus
    Dengan hanya curl/wget/fetch, ini bisa berjalan di mana saja, dan kalau mau cukup tambahkan token
    Sepertinya duckdns juga masih mendukung cara seperti ini, dan karena tidak perlu klien khusus, ini bisa dipakai hampir di mana saja

    • curl/wget/fetch ala dyndns memang valid, dan Anda bisa melihat kemampuan khusus lain yang tersedia di /docs
      Tujuan di sini bukan hanya mencakup curl/wget/fetch, tetapi mencoba menangani basis fitur yang lebih luas