Hampir semua jaringan menutup banyak hal, tetapi jarang sekali menutup DNS. Alasannya sederhana. DNS (Domain Name System) adalah sistem yang menerjemahkan nama seperti indowebsite.co.id menjadi alamat IP. Tanpa itu, perangkat Anda tidak bisa menemukan apa pun di internet — termasuk halaman login jaringan itu sendiri. Karena itu port 53 nyaris selalu dibiarkan terbuka, bahkan sebelum kuota data Anda terisi.

Celah itulah yang dimanfaatkan Slow DNS. Alih-alih memakai jalur internet biasa yang tertutup, teknik ini memotong seluruh percakapan Anda menjadi potongan-potongan kecil, lalu menyamarkannya sebagai pertanyaan alamat kepada server DNS. Hasilnya sebuah koneksi yang berfungsi di tempat koneksi lain gagal, dengan konsekuensi yang perlu Anda pahami sebelum memakainya.

Slow DNS Adalah Terowongan Data yang Menumpang Kueri DNS

Slow DNS adalah teknik membungkus lalu lintas internet ke dalam kueri dan jawaban DNS. Data pun mengalir lewat jalur yang biasanya hanya dipakai untuk menanyakan alamat. Istilah teknis payungnya adalah DNS tunneling (terowongan DNS). Di kalangan pengguna Indonesia, nama "Slow DNS" merujuk pada satu bentuk spesifik dari teknik itu: terowongan DNS yang ujungnya disambungkan ke akun SSH. Karena itu ia sering pula disebut SSH over DNS.

Dua salah paham sering muncul saat orang mencari tahu apa itu Slow DNS, dan keduanya perlu diluruskan sejak awal. Slow DNS bukan nama layanan DNS publik seperti 8.8.8.8 atau 1.1.1.1, dan bukan istilah untuk DNS yang lambat menjawab. Ia adalah metode, dan kata "slow" di depannya menggambarkan hasil dari metode tersebut.

Perbandingan berikut membantu. Bayangkan gedung yang penjaganya hanya mengizinkan satu interaksi: bertanya alamat ruangan. Anda tidak boleh menitipkan paket maupun mengirim surat. Slow DNS menyiasatinya dengan memecah isi surat menjadi ratusan pertanyaan alamat yang panjang dan aneh, lalu menyusun ulang jawabannya di sisi lain. Penjaganya tetap merasa hanya melayani pertanyaan alamat.

Asal Nama "Slow" dan Mengapa Slow DNS Memang Lambat

Kata "slow" bukan cacat penamaan. Ia menggambarkan batas yang melekat pada bentuk pesan DNS itu sendiri, dan batas itu bisa dihitung.

Standar DNS membatasi panjang total sebuah nama menjadi 255 byte, dengan tiap potongan nama (label, bagian yang dipisahkan titik) maksimal 63 byte. Data biner tidak bisa ditulis apa adanya di dalam nama domain. Ia harus dikodekan lebih dulu dengan base32, pengkodean yang hanya memakai huruf dan angka. Ongkosnya, ukuran data membengkak sekitar 60 persen. Setelah dikurangi zona terowongan, penanda sesi, dan penanda panjang, yang tersisa untuk data Anda hanya sekitar 138 byte per kueri.

Arah sebaliknya jauh lebih lapang. Jawaban dikirim dalam TXT record, yang bisa memuat data biner dengan tambahan ukuran hanya 0,4 persen, dan lazimnya dibatasi 1.232 byte per jawaban. Selisihnya menghasilkan asimetri sekitar 8,9 kali antara arah turun dan arah naik. Inilah sebabnya membuka halaman terasa jauh lebih ringan daripada mengunggah foto.

Batas nama DNS 255 byte dikurangi zona dan penanda menyisakan 138 byte muatan per kueri.
Batas nama DNS 255 byte dikurangi zona dan penanda menyisakan 138 byte muatan per kueri.

Namun penyebab paling menentukan bukan ukuran, melainkan aturan giliran bicara. Server DNS tidak pernah boleh mengirim data lebih dulu; ia hanya boleh menjawab. Terowongan pun harus terus-menerus bertanya, bahkan ketika tidak ada yang ingin dikirim, semata agar server punya kesempatan menitipkan jawaban. Dengan jarak bolak-balik 120 milidetik ke resolver, satu kueri berjalan sendirian hanya menghasilkan sekitar 9 kbps ke atas dan 82 kbps ke bawah. Aplikasi klien mengirim banyak kueri sekaligus untuk menutupi hal ini, tetapi lantainya tetap ditentukan oleh latensi.

Angka lapangan mengonfirmasi hitungan di atas. Iodine, pendahulu teknik ini, mencatat 43,6–677,2 kbit per detik saat lewat resolver normal. Angka puluhan Mbit per detik hanya tercapai pada mode langsung ke server tanpa resolver — mode yang justru tidak tersedia di jaringan yang membatasi Anda.

Cara Kerja Slow DNS: Perjalanan Satu Paket Data

Berikut perjalanan satu potong data dari perangkat Anda sampai kembali lagi.

  1. Aplikasi klien menangkap lalu lintas Anda: Permintaan dari peramban tidak dikirim ke internet, melainkan ditampung oleh aplikasi terowongan di perangkat Anda.
  2. Data dipecah dan dienkripsi: Potongan data dibungkus dalam lapisan enkripsi, diberi penanda urutan, lalu diberi Client ID. Angka acak 64 bit itu menggantikan peran alamat IP, karena server tidak pernah melihat alamat asli Anda.
  3. Hasilnya dikodekan menjadi nama domain: Potongan tadi diubah ke base32, dipotong menjadi label berukuran maksimal 63 karakter, lalu diakhiri zona terowongan. Bentuknya menjadi nama panjang seperti ingesrkokreujy6zum...c3d.jmrxwg2lp.id.domain.com.
  4. Kueri dikirim sebagai pertanyaan biasa: Perangkat Anda menanyakan nama itu ke resolver umum, misalnya 1.1.1.1. Bagi jaringan operator, ini hanya kueri DNS.
  5. Resolver meneruskannya ke server terowongan: Karena zona itu didelegasikan ke server Anda, resolver mana pun akan mengantar kueri tersebut sampai ke tujuan. Server membongkar nama, menyusun ulang data, dan meneruskannya ke internet.
  6. Jawaban pulang lewat TXT record: Hasilnya dikembalikan sebagai isi TXT record, dibongkar oleh aplikasi klien, dan disajikan ke peramban Anda seolah tidak terjadi apa-apa.

Seluruh siklus ini berulang ratusan kali per detik. Setiap kali Anda menggulir satu halaman, jaringan operator melihat ribuan pertanyaan alamat yang tidak pernah ditanyakan manusia mana pun.

Enam langkah Slow DNS: data ditangkap, dienkripsi, dikodekan base32, dikirim sebagai kueri, dijawab lewat TXT record.
Enam langkah Slow DNS: data ditangkap, dienkripsi, dikodekan base32, dikirim sebagai kueri, dijawab lewat TXT record.

Tiga Hal yang Harus Ada Sebelum Slow DNS Bisa Berjalan

Slow DNS adalah rantai tiga bagian. Kalau satu bagian hilang, tidak ada yang berfungsi.

Pertama, domain dengan delegasi. Pemilik layanan menyiapkan satu subdomain khusus, misalnya id.domain.com. Di sana dipasang dua catatan DNS: sebuah A record yang menunjuk alamat IP server, dan sebuah NS record yang menyerahkan pengelolaan subdomain itu ke server tersebut. Delegasi inilah yang membuat resolver publik mana pun bersedia mengantarkan kueri sampai ke server terowongan. Anda bisa memeriksanya sendiri dengan nslookup atau dig.

Kedua, server terowongan beserta pasangan kuncinya. Di sisi server berjalan program yang mendengarkan kueri DNS, umumnya di port 5300 dengan port 53 diteruskan ke sana. Program itu membangkitkan sepasang kunci: kunci privat disimpan di server, kunci publik dibagikan kepada pengguna sebagai deretan 64 digit heksadesimal. Ujung terowongan lalu diarahkan ke layanan SSH di mesin yang sama.

Ketiga, sisi klien. Pengguna membutuhkan akun SSH dan aplikasi seperti HTTP Custom atau Open Tunnel. Tiga kolom yang harus diisi sebenarnya adalah cerminan langsung dari dua bagian sebelumnya:

Kolom di aplikasiIsinyaPerannya
Domain Name Server1.1.1.1, 8.8.8.8, atau resolver lainKurir yang mengantar kueri Anda
Name ServerZona terowongan, misal id.domain.comAlamat tujuan yang didelegasikan
Public Key64 digit heksadesimalBukti bahwa server yang menjawab memang server yang benar

Kolom Public Key sering diisi tanpa dipahami maksudnya. Fungsinya adalah enkripsi ujung ke ujung sekaligus verifikasi lawan bicara, sehingga resolver di tengah tidak bisa membaca atau memalsukan isi terowongan.

Tiga komponen Slow DNS — domain berdelegasi, server berkunci, akun dan aplikasi — beserta kolom isian yang mewakilinya.
Tiga komponen Slow DNS — domain berdelegasi, server berkunci, akun dan aplikasi — beserta kolom isian yang mewakilinya.

Mengapa Kueri DNS Tetap Lolos Saat Kuota Anda Habis

Pertanyaan yang paling sering muncul adalah mengapa jalur ini tidak ikut terblokir. Jawabannya terletak pada urutan proses masuk ke sebuah jaringan.

Jaringan berbayar, hotspot hotel, dan WiFi bandara umumnya memakai captive portal (halaman login yang muncul otomatis sebelum Anda diizinkan berselancar). Halaman itu sendiri adalah sebuah alamat yang harus diterjemahkan lebih dulu. Karena itu aturan penyaringan di lapisan tersebut wajib membiarkan kueri DNS lewat sebelum pengguna terautentikasi. Kalau tidak, halaman login-nya tidak akan pernah tampil.

Pola yang sama berlaku pada jaringan seluler saat kuota habis. Perangkat masih perlu menerjemahkan nama untuk mencapai halaman pembelian paket. Lalu lintas DNS pun tetap dilayani, dan umumnya tidak dihitung sebagai pemakaian data.

Perlu ditegaskan: ini bukan celah pemrograman yang bisa ditambal lewat pembaruan, melainkan konsekuensi dari urutan autentikasi jaringan. Menutupnya sepenuhnya berarti membuat halaman login tidak bisa diakses. Karena itu yang ditempuh pengelola jaringan bukan menutup, melainkan membatasi.

dnstt dan iodine: Perangkat Lunak di Baliknya

Slow DNS bukan protokol tersendiri, melainkan nama populer untuk sekumpulan program. Yang dipakai mayoritas layanan hari ini adalah dnstt, buatan David Fifield, dengan dokumentasi protokol yang dipublikasikan pada 2020. Jejaknya mudah dikenali: nama berkas dnstt-server dan dnstt-client, port 5300, serta kunci publik 64 digit yang muncul di hampir semua skrip pemasangan yang beredar.

Susunan lapisannya berjalan dari bawah ke atas. Paling dasar, pesan DNS diantar lewat UDP biasa, DoH, atau DoT. Di atasnya KCP menyusun ulang paket yang hilang atau datang tidak berurutan. Lapisan berikutnya, kerangka enkripsi Noise, mengamankan isinya. Paling atas, smux memungkinkan banyak koneksi berbagi satu terowongan. Kombinasi ini membuat terowongan tetap utuh meskipun jalur pembawanya sangat tidak andal.

Pendahulunya, iodine, sudah ada sejak 2006 dan masih dipakai di lingkungan pengujian jaringan. Perbedaan keduanya menentukan pilihan di lapangan:

iodine (2006)dnstt (2020)
Jalur pembawaUDP DNS sajaUDP, DoH, dan DoT
Tipe recordNULL, TXT, SRV, MX, CNAME, ATXT saja
PengkodeanBase32 sampai Base128, otomatisBase32
Enkripsi bawaanTidak adaNoise, server terverifikasi
Mode langsungAda, jauh lebih cepatTidak ada

Kemampuan dnstt melewati DoH dan DoT itulah yang membuatnya bertahan. Ketika sebuah jaringan memaksa semua kueri DNS melewati resolvernya sendiri, iodine kehilangan mode cepatnya, sementara dnstt masih bisa menumpang koneksi HTTPS ke resolver publik.

Kelebihan Slow DNS Dibanding Metode Tunneling Lain

  1. Tidak bergantung pada celah tertentu: Metode terowongan lain sering mengandalkan bug host — alamat tertentu yang tidak dihitung operator. Alamat semacam itu berumur pendek dan berganti terus. Slow DNS memakai jalur DNS yang sifatnya struktural, sehingga tidak ikut mati saat satu alamat ditutup.
  2. Jalurnya nyaris tidak pernah tertutup rapat: Selama halaman login jaringan masih bisa tampil, ada kueri DNS yang lolos. Ini membuat Slow DNS bekerja di tempat VPN dan proksi biasa langsung gagal.
  3. Isinya terenkripsi ujung ke ujung: Lapisan Noise memastikan resolver di tengah hanya melihat data teracak. Perlu dicatat, yang dilindungi adalah isi, bukan fakta bahwa Anda sedang memakai terowongan.
  4. Bisa menumpang DoH dan DoT: Kueri terowongan dapat dibungkus lagi di dalam HTTPS ke resolver publik. Jaringan lokal pun tidak melihat kueri DNS yang aneh sama sekali.

Kelemahan dan Risiko Slow DNS yang Perlu Anda Pertimbangkan

Kekurangan Slow DNS jauh lebih berat daripada daftar di atas, dan sebagian besarnya bukan soal kecepatan.

  1. Ujung terowongan berada di komputer orang lain: Ini risiko terbesar dan paling jarang disadari. Seluruh lalu lintas Anda keluar dari server milik penyedia akun. Situs berlogo gembok tetap terlindungi enkripsi HTTPS, tetapi penyedia tetap melihat setiap nama situs yang Anda kunjungi, waktu aksesnya, dan seluruh isi koneksi yang tidak terenkripsi. Akun gratis berumur 3–7 hari yang dibagikan massal bukan pihak yang layak diberi posisi seistimewa itu.
  2. Kecepatan dan latensi jauh di bawah koneksi biasa: Lebar pitanya berkisar puluhan kilobit per detik, dengan jeda ratusan milidetik. Panggilan video, permainan daring, dan unggahan berkas praktis tidak bisa dilakukan.
  3. Sesi mudah putus: Resolver publik menerapkan pembatasan laju dan penyimpanan sementara jawaban. Akibatnya terowongan sering perlu disambung ulang setiap beberapa menit.
  4. Melanggar ketentuan layanan operator: Memakai kuota yang tidak dibayar adalah pelanggaran perjanjian berlangganan, dengan konsekuensi yang menjadi tanggungan pengguna.
  5. Pemakaiannya mudah terlihat: Penulis dnstt sendiri menyatakan bahwa pengamat di antara resolver dan server terowongan dapat dengan mudah mengetahui sebuah terowongan sedang dipakai. Yang tersembunyi hanya isinya.

Bagi Anda yang memakai terowongan demi privasi, perhatikan juga bahwa aplikasi klien mengubah pengaturan DNS perangkat. Kalau sebagian kueri tetap keluar lewat jalur bawaan, terjadi DNS leak yang membocorkan daftar situs yang Anda buka.

Slow DNS dan DNS yang Lambat: Dua Hal Berbeda yang Sering Tertukar

Istilah "slow DNS" dipakai untuk dua hal yang berbeda. Selain teknik terowongan di atas, frasa yang sama dipakai untuk keluhan teknis: resolusi DNS yang lambat, atau slow DNS lookup. Gejalanya khas — website menggantung beberapa detik sebelum mulai memuat, padahal setelah terbuka semuanya normal.

Kalau itu yang Anda alami, tiga penyebab berikut mencakup sebagian besar kasus:

  • Resolver bawaan yang jauh atau padat: Waktu jawab di atas 100 milidetik sudah terasa. Membandingkannya dengan resolver publik biasanya langsung menunjukkan selisihnya.
  • Nameserver domain yang lambat menjawab: Kalau yang lambat hanya satu domain, masalahnya ada di sisi pengelola domain itu, bukan di jaringan Anda.
  • Penyimpanan sementara yang rusak di perangkat: Membersihkan cache DNS lokal menyelesaikan kasus yang muncul tiba-tiba setelah perubahan alamat.

Ukur dulu sebelum mengganti apa pun. Perintah nslookup atau dig menampilkan waktu jawab dalam milidetik, dan angka itu memisahkan masalah resolver dari masalah koneksi.

Cara Admin Jaringan Mendeteksi dan Membatasi Slow DNS

Kalau Anda mengelola jaringan atau server, terowongan DNS meninggalkan jejak yang cukup mencolok. Empat indikator berikut dipakai perangkat keamanan untuk mengenalinya.

  1. Panjang label yang tidak wajar: Nama domain buatan manusia jarang melebihi 20 karakter per label. Terowongan memakai 63 karakter penuh agar muatannya maksimal. Label di atas 50 karakter sudah pantas ditandai.
  2. Entropi yang tinggi: Nama hasil pengkodean tampak acak. Nilai entropi Shannon di atas sekitar 3,5–4,0 bit per karakter menandakan data terkode, bukan nama yang dipilih manusia.
  3. Proporsi TXT yang menonjol: Pada klien normal, kueri TXT biasanya di bawah 5 persen dari seluruh lalu lintas DNS. Terowongan mendorong angka itu jauh melewati 10 persen.
  4. Volume ke satu zona yang sama: Ribuan kueri kecil beruntun ke satu zona, sering disertai banyak jawaban NXDOMAIN, adalah pola yang tidak dihasilkan pemakaian biasa.
Terowongan DNS terlihat dari label di atas 50 karakter, entropi tinggi, rasio TXT lewat 10 persen, dan lonjakan kueri.
Terowongan DNS terlihat dari label di atas 50 karakter, entropi tinggi, rasio TXT lewat 10 persen, dan lonjakan kueri.

Untuk membatasinya, tiga langkah berikut memberi hasil paling besar. Arahkan seluruh kueri DNS keluar hanya ke resolver yang Anda tentukan, dan tolak sisanya di firewall. Terapkan Response Policy Zone di resolver internal untuk memblokir zona yang sudah dikenal sebagai zona terowongan. Terakhir, buang kueri berukuran tidak wajar, karena kueri sah hampir tidak pernah melewati 512 byte:

Bash
iptables -A INPUT -p udp --dport 53 -m length --length 512:65535 -j DROP

Perlu diingat bahwa aturan panjang paket saja tidak menghentikan varian yang menumpang DoH, karena kuerinya sudah terbungkus HTTPS ke resolver publik. Untuk kasus itu, penguncian resolver yang disebut lebih dulu jauh lebih efektif.

Kapan Slow DNS Masuk Akal Dipakai, Kapan Tidak

Dengan lebar pita realistis di kisaran 20–150 kbps, hanya kegiatan yang sangat ringan yang berjalan wajar: bertukar pesan teks, membuka halaman sederhana, dan mengecek surel tanpa lampiran. Memuat satu halaman berita modern berukuran 2 MB membutuhkan sekitar dua menit pada 150 kbps. Panggilan video, konferensi, dan unggahan berkas sebaiknya tidak dicoba sama sekali.

Sesuaikan pilihan dengan kebutuhan sebenarnya:

  • Butuh koneksi darurat yang dapat diandalkan: Paket data resmi tetap pilihan paling murah secara total. Anda juga tidak menitipkan lalu lintas ke pihak yang tidak dikenal.
  • Butuh membuka layanan di komputer lokal agar bisa diakses dari luar: ngrok menyelesaikan kebutuhan itu secara legal dan jauh lebih cepat.
  • Butuh menyembunyikan lalu lintas dari jaringan tempat Anda berada: VPN berbayar dengan kebijakan tanpa pencatatan memberi hasil yang lebih baik daripada terowongan DNS mana pun. Kalau kebutuhannya hanya membelokkan lalu lintas satu aplikasi, proxy sudah memadai.
  • Butuh menguji ketahanan jaringan sendiri terhadap terowongan DNS: Jalankan dnstt-server di VPS Indonesia milik sendiri dengan domain sendiri. Pengujian di infrastruktur yang Anda kuasai adalah satu-satunya pemakaian yang tidak menitipkan data ke orang lain.

Pertanyaan yang Sering Muncul Seputar Slow DNS

Apakah Slow DNS sama dengan VPN? Tidak. VPN membungkus lalu lintas ke dalam protokol yang memang dirancang untuk membawa data. Slow DNS menyelipkannya ke dalam kueri yang dirancang untuk menanyakan alamat. Keduanya terowongan, tetapi kapasitas rancangannya berbeda jauh.

Apakah akun Slow DNS gratis bisa dipakai selamanya? Umumnya tidak. Akun gratis dari penyedia populer berlaku 3–7 hari, dan harus dibuat ulang setelahnya. Pembatasan ini ada karena tiap akun membebani server penyedia.

Mengapa koneksi saya putus setiap beberapa menit? Resolver publik menerapkan pembatasan laju dan menyimpan jawaban sementara. Ketika sesi terowongan kehilangan sinkronisasi, aplikasi klien perlu memulai sesi baru. Memilih resolver lain atau mengurangi jumlah kueri serentak biasanya memperpanjang usia sesi.

Apakah Slow DNS membutuhkan akses root di ponsel? Tidak. Aplikasi klien memakai antarmuka VPN bawaan Android untuk menangkap lalu lintas, dan antarmuka itu tersedia tanpa root.

Bisakah Slow DNS dijalankan di komputer? Bisa, karena dnstt-client tersedia untuk Linux, Windows, dan macOS. Prosesnya membuka satu port lokal yang dipakai sebagai proksi oleh aplikasi lain, jadi tidak sesederhana memasang aplikasi di ponsel.

Kesimpulan

Slow DNS adalah teknik membungkus lalu lintas internet ke dalam kueri dan jawaban DNS, dengan implementasi paling umum berupa dnstt yang ujungnya disambungkan ke akun SSH. Ia lambat bukan karena kebetulan, melainkan karena satu kueri hanya mampu membawa sekitar 138 byte dan server DNS tidak pernah boleh bicara lebih dulu.

Sebagai bahan belajar, teknik ini menarik karena memperlihatkan betapa banyak yang bisa dititipkan pada protokol sesederhana DNS. Untuk pemakaian sehari-hari, dua hal membuatnya sulit direkomendasikan: kecepatannya hanya cukup untuk kegiatan paling ringan, dan seluruh lalu lintas Anda melewati server milik pihak yang tidak Anda kenal.

Semoga artikel ini membantu.