Saya berhenti mempercayai Cloudflare dengan DNS saya dan menyiapkan DNS saya sendiri


Mengubah pengaturan DNS Anda adalah salah satu cara termudah untuk menambah privasi pada jaringan Anda. Saya telah mengganti pengaturan DNS pada kebanyakan perangkat saya selama bertahun-tahun untuk alternatif yang lebih cepat dan lebih aman daripada pengaturan DNS default ISP saya, dengan hasil yang sangat baik.

Tetapi saya ingin melangkah lebih jauh dan menyimpan semua permintaan DNS saya di jaringan saya sendiri, meningkatkan privasi saya lebih jauh lagi.

Jadi, saya mengambil laptop lama, sebuah salinan server Proxmox sumber terbuka, dan mulai bekerja. Dan mengingat saya tidak memiliki banyak pengalaman dengan Linux, server, dan sebagainya, menjalankan DNS sendiri adalah proses yang cukup lancar dan mudah.

Apa yang saya gunakan untuk server DNS rumah saya

Namun, ada pilihan lain

Untuk ini, saya menggunakan Honor MagicBook 14 tahun 2021 dengan CPU Intel i5-1135G7, grafis Intel Xe terintegrasi, RAM 8GB DDR4, dan SSD 512GB. Ini bukan laptop yang paling kuat, tetapi memiliki daya yang lebih dari cukup untuk menjalankan server Proxmox dasar dengan beberapa mesin virtual untuk layanan yang berbeda (lebih banyak akan datang dalam beberapa minggu ke depan!).

Anda dapat menjalankan Proxmox pada perangkat keras yang jauh lebih tua jika itu yang Anda miliki, asalkan memiliki CPU 64-bit (pada dasarnya semua PC dan laptop modern), virtualisasi Intel VT/AMD-V, dan setidaknya 2GB RAM. Oh, dan port Ethernet onboard juga membantu, tetapi seperti yang saya temukan, adaptor Ethernet ke USB yang layak juga bisa menyelesaikan pekerjaan.

Mengenai hal itu, jika Anda menggunakan adaptor, pastikan itu menggunakan chipset Realtek RTL8153, karena memiliki dukungan Linux yang terbaik dan membuat pengaturan jaringan Anda sedikit lebih mudah dibandingkan beberapa alternatif lainnya. Misalnya, salah satu alternatif chipset adaptor Ethernet-ke-USB utama, AX88179, dikenal menimbulkan masalah dengan Proxmox.

Kemudian, saya memutuskan untuk menggabungkan Unbound DNS dengan AdGuard untuk membuat solusi DNS internal yang komprehensif. Dalam tumpukan DNS dasar ini, Unbound menyelesaikan permintaan DNS (pada dasarnya mengubah nama domain yang dapat dibaca manusia menjadi alamat IP yang dapat dibaca mesin), dan AdGuard menyediakan pemblokiran, penyaringan, dan lainnya.

Dalam kombinasi, ini memberi Anda DNS yang sangat kuat, pribadi, dan berpotensi bebas iklan untuk semua perangkat di jaringan Anda, semuanya demi beberapa jam pekerjaan.

Juga, perhatikan bahwa meskipun saya menggunakan laptop lama dengan Proxmox, itu bukan satu-satunya cara untuk melakukan ini. Anda juga bisa menggunakan Raspberry Pi dengan Unbound dan Pi-hole untuk mencapai hasil yang serupa; itu hanya tergantung apa yang Anda punya atau ingin Anda beli.

Sebelum menghapus mesin Anda, dapatkan beberapa informasi jaringan

Anda akan membutuhkannya selama instalasi Proxmox

Catatan cepat tentang alamat IP: alamat yang digunakan di seluruh panduan ini — 192.168.1.1 untuk gateway, 192.168.1.10 untuk Proxmox, 192.168.1.11 untuk kontainer DNS — mencerminkan pengaturan jaringan saya sendiri. Jaringan Anda mungkin menggunakan rentang yang sama sekali berbeda, seperti 192.168.0.x atau 10.0.0.x. Selalu gunakan informasi gateway dan subnet dari output ipconfig Anda sendiri daripada menyalin alamat saya secara langsung. Salah melakukan hal ini adalah kesalahan pengaturan yang paling umum. Hal ini bisa diperbaiki (seperti yang saya alami!), tetapi memiliki alamat IP yang benar dari awal membuat hidup Anda jauh lebih mudah.

Langkah pertama dari proses ini adalah mencatat beberapa informasi jaringan dari mesin Anda saat ini.

  1. Buka Command Prompt/Terminal dan jalankan ipconfig
  2. Catat Gateway Default Anda (IP router Anda, biasanya 192.168.1.1) dan Alamat IPv4 dari mesin Anda saat ini.

Anda akan menggunakan IP gateway selama instalasi Proxmox, dan mengetahui rentang IP Anda saat ini berarti Anda dapat memilih IP statis untuk Proxmox yang tidak akan bertabrakan dengan apapun di jaringan Anda.

Sebagai contoh, jika gateway Anda adalah 192.168.1.1 dan PC Anda adalah 192.168.1.50, Anda bisa menetapkan Proxmox sesuatu seperti 192.168.1.10 — pastikan saja itu berada di luar jangkauan DHCP router Anda.

Jangan lakukan seperti yang saya lakukan saat instalasi dan menambahkan IP untuk antarmuka jaringan yang salah... percayalah, itu membutuhkan waktu lebih dari beberapa menit untuk mengetahuinya.

Unduh dan pasang Proxmox

Anda perlu menghapus perangkat Anda

Proxmox VE adalah hypervisor bare-metal — Anda menginstalnya sebagai pengganti OS, dan ini memungkinkan Anda menjalankan beberapa mesin virtual dan kontainer ringan melalui antarmuka berbasis browser. Ini adalah apa yang mengubah laptop lama menjadi server homelab yang layak. Ini juga berarti bahwa apapun yang ada di laptop lama Anda akan dihapus selama proses instalasi, jadi pastikan untuk mencadangkan segala sesuatu yang penting.

Untuk bagian dari proses ini, Anda akan memerlukan USB flash drive. Ini akan dihapus selama proses pembuatan ISO, jadi pastikan Anda telah mengosongkan semua data darinya.

  1. Kunjungi halaman unduhan Proxmox dan unduh versi terbaru Proxmox VE.
  2. Selanjutnya, arahkan ke Rufus dan unduh versi terbaru. Setelah Rufus selesai diunduh, jalankan program tersebut.
  3. Tekan tombol Pilih dan telusuri ke unduhan server Proxmox. Rufus seharusnya secara otomatis mendeteksi tipe ISO dan menyesuaikan pengaturannya secara otomatis.

Setelah Anda yakin, tekan Mulai dan biarkan proses instalasi ISO-ke-USB selesai.

Boot dari USB dan instal Proxmox

Proxmox berjalan langsung di perangkat keras Anda

Sekarang, Anda perlu menyambungkan laptop lama Anda ke router. Lakukan ini dengan kabel Ethernet. Seperti yang dikatakan, jika laptop Anda tidak memiliki port Ethernet, Anda akan membutuhkan adapter.

Setelah terhubung, masukkan USB Anda. Kemudian Anda perlu menyalakan laptop sambil menekan tombol urutan boot untuk mengakses urutan boot. Biasanya ini adalah F12, tetapi berbeda antara produsen — pencarian cepat di internet biasanya akan mengungkapkan apa yang Anda butuhkan.

Pilih drive tempat Anda menginstal Proxmox. Itu akan meluncur ke instalasi Proxmox, di mana Anda ingin memilih Install Proxmox VE (Graphical). Dari sini, Anda perlu memilih disk target, negara dan zona waktu Anda, antarmuka jaringan (misalnya, tempat Proxmox akan mengakses internet), nama host, alamat IP, server DNS, dan kombinasi email/password.

Inilah saatnya Anda membutuhkan informasi yang Anda salin dari ipconfig sebelum menginstal Proxmox. Masukkan Gateway Default Anda, dan pilih alamat IP yang sesuai. Misalnya, Gateway Default saya adalah 192.168.1.1, jadi saya akan menetapkan IP statis seperti 192.168.1.10/24, dan Anda siap untuk melanjutkan.

Pada bagian server DNS: ya, kami sedang menyiapkan solusi DNS, tetapi Anda masih perlu menambahkan satu di sini agar Proxmox dapat menggunakannya. Saya memilih 9.9.9.9, karena Quad9 adalah salah satu opsi favorit saya, tetapi ini dapat diubah nanti.

Tinjau ringkasannya, lalu klik Install. Anda sedang dalam perjalanan.

Hubungkan ke Proxmox dan buat kontainer DNS

Pastikan server Anda aktif dan berjalan

Setelah instalasi selesai, Anda dapat me-reboot mesin host. Saat dimuat ulang, seharusnya menampilkan alamat IP yang menampung Proxmox di jaringan Anda.

Di sinilah Anda memerlukan komputer lain. Masukkan alamat IP itu di perangkat lain, dan Proxmox seharusnya akan dimuat. Nama pengguna default adalah root, dan Anda akan memerlukan kata sandi yang Anda buat selama proses pengaturan instalasi server.

Setelah Anda masuk, saatnya untuk menyiapkan sebuah kontainer untuk tumpukan DNS. Alih-alih menginstal Unbound dan AdGuard langsung di host Proxmox, kita akan menggunakan kontainer LXC — lingkungan Linux yang ringan dan terisolasi yang menjaga segala sesuatu tetap rapi dan terpisah dari sistem host. Pikirkan seperti kotak mandiri di dalam server Anda yang menjalankan perangkat lunak sendiri secara independen.

  1. Klik node Anda di panel kiri. Namanya akan sesuai dengan apa yang Anda tetapkan sebagai hostname. Misalnya, milik saya hanya DNS.
  2. Selanjutnya, pilih lokal.
  3. Di panel tengah, pilih CT Templates, lalu tombol Templates di bagian atas.
  4. Cari debian 12 bookworm, lalu unduh.










Unduhan tidak akan memakan waktu lama. Sementara itu mengunduh, ada lebih banyak pengaturan yang perlu diurus. Di sudut kanan atas, pilih Buat CT. Dari sini, kerjakan melalui berbagai tab:

  • Umum: Tambahkan nama host (lagi, dns tidak apa-apa), dan kata sandi root.
  • Template: Pilih template Debian 12 Bookworm.
  • Disk: 8GB sudah cukup untuk Unbound dan AdGuard
  • CPU: 1 inti sudah cukup
  • Memori: 512MB RAM dan 512MB swap
  • Jaringan: Atur IPv4 ke Statis, lalu tambahkan alamat IP statis yang akan Anda gunakan untuk mengakses AdGuard. Misalnya, saya menambahkan 192.168.1.11/24, mengatur gateway ke 192.168.1.1 (seperti sebelumnya).
  • DNS: Biarkan sebagai default.

Dari sini, Anda dapat memilih Selesai, dan Proxmox akan membangun kontainer. Setelah muncul di panel kiri, pilih itu, klik Mulai, dan biarkan berjalan. Setelah mesin virtual berjalan, tekan Konsol untuk membuka shell di mana Anda dapat memasukkan perintah, kemudian input: apt update && apt upgrade -y

Jika Anda melihat kesalahan tentang kegagalan untuk menyelesaikan sumber paket, kontainer Anda mungkin tidak memiliki konektivitas jaringan — periksa kembali pengaturan IP dan gateway di tab Jaringan kontainer agar sesuai dengan rentang jaringan Anda yang sebenarnya. Setelah itu diatur, Anda siap untuk menginstal stack DNS.

Pasang dan konfigurasikan Unbound

Mesin di balik DNS pribadi Anda

Unbound adalah resolver DNS yang validasi dan rekursif. Tidak seperti hanya meneruskan kueri Anda ke Cloudflare atau Google, Unbound memulai dari server root DNS, mengirimkan kueri Anda langsung ke nameserver dan melewati pihak ketiga di tengah.

Buka kembali Konsol dari bagian sebelumnya dan masukkan apt install unbound -y

Setelah Unbound terpasang, masukkan nano /etc/unbound/unbound.conf.d/local.conf dan kemudian tempelkan yang berikut ini:

server :

verbositas: 1

antarmuka: 127.0.0.1

port: 5335

lakukan-ip4: ya

lakukan-udp: ya

lakukan-tcp: ya

kontrol-akses: 127.0.0.0/8 izinkan

sembunyikan-identitas: ya

sembunyikan-versi: ya

harden-glue: ya

harden-dnssec-stripped: ya

gunakan-huruf-besar-untuk-id: ya

prefetch: ya

num-thread: 1

cache-min-ttl: 300

cache-max-ttl: 86400

ukuran-cache-pesan: 50m

ukuran-cache-rrset: 100m

Simpan file dengan Ctrl+O, Enter, lalu Ctrl+X untuk keluar.

Unbound dikonfigurasi untuk mendengarkan di port 5335 daripada port DNS standar 53. Itu karena AdGuard Home akan menempati port 53 sebagai resolver utama Anda, sedangkan Unbound berada di belakangnya.

Prefetch memberitahu Unbound untuk menyegarkan entri cache populer sebelum kedaluwarsa, menjaga waktu respons tetap rendah untuk domain yang sering dikunjungi, sementara pengaturan ukuran cache memberi Unbound banyak memori untuk menyimpan hasil, sehingga kueri berulang hampir langsung kembali.

Sekarang, masukkan unbound-checkconf untuk memvalidasi file tersebut. Jika Anda menjalankan perintah itu dan menerima tidak ada kesalahan di file konfigurasi, Anda siap melanjutkan. Jika Anda menemui kesalahan di sini (ada beberapa masalah potensial), cobalah mencari di internet atau konsultasikan dengan chatbot AI seperti Claude.

  • Selanjutnya, restart Unbound menggunakan perintah berikut: systemctl restart unbound
  • Kemudian, jalankan tes cepat untuk memastikan Unbound menyelesaikan dengan benar: dig google.com @127.0.0.1 -p 5335

Jika semuanya baik-baik saja, Anda akan melihat Bagian Jawaban yang berisi alamat IP. Kali pertama Anda mencoba akan terasa sedikit lama, karena Unbound melakukan rekursi dari server DNS root. Semuanya baik dan normal. Setelah cache DNS terisi, pencarian berikutnya dan seterusnya akan lebih cepat.

Dengan Unbound berjalan, Anda memiliki resolver rekursif sepenuhnya pribadi yang berjalan di jaringan Anda. Selanjutnya, kita menambahkan AdGuard Home di atasnya untuk menambahkan pemblokiran, penyaringan, dan antarmuka web yang tepat.

Pasang dan konfigurasikan AdGuard Home

Pintu depan baru jaringan Anda untuk DNS









Unbound menangani penyelesaian rekursif, tetapi tidak memiliki antarmuka web, tidak ada pemblokiran, dan tidak ada visibilitas per perangkat. AdGuard Home mengisi semua kekurangan tersebut — ia berada di depan Unbound, menangani pemblokiran iklan dan pelacak di seluruh jaringan Anda, dan memberi Anda dasbor yang bersih yang menunjukkan dengan tepat apa yang sedang diminta setiap perangkat secara real time.

Pasang itu dengan perintah berikut:

curl -L https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_amd64.tar.gz -o AdGuardHome.tar.gz

tar -xzf AdGuardHome.tar.gz

cd AdGuardHome

./AdGuardHome -s install

Setelah selesai, Anda akan melihat daftar alamat tempat AdGuard Home tersedia. Dari perangkat lain di jaringan Anda, buka browser dan pergi ke:

http://192.168.1.11:3000

Setelah AdGuard Home dibuka, Anda perlu menjalankan panduan instalasi, yang akan memandu Anda melalui sebagian besar pengaturan yang Anda perlukan.

  • Port antarmuka web admin: Saya mengubah ini menjadi port 80, sehingga saya dapat mengakses dasbor di http://192.168.1.11 tanpa mengetik nomor port setiap kali
  • Port server DNS: Biarkan ini tetap 53 — itu adalah port DNS standar yang diharapkan semua perangkat
  • Nama pengguna dan kata sandi: Tetapkan sesuatu yang aman, Anda akan menggunakan ini untuk masuk ke dasbor

Selesaikan sisa layar wizard, dan Anda akan sampai di dasbor AdGuard Home. Sekarang, Anda perlu mengarahkan AdGuard Home ke Unbound untuk menghubungkan semuanya.

Di dasbor AdGuard, buka Pengaturan > Pengaturan DNS. Di bagian Server DNS Hulu, hapus apa pun yang sudah ada di sana dan masukkan 127.0.0.1:5335 lalu pastikan penyeimbangan beban dipilih.

Itu adalah instance Unbound Anda. Gulir ke bawah dan klik Test upstreams — seharusnya muncul konfirmasi hijau. Jika muncul, klik Apply.

Tambahkan daftar blokir ke AdGuard Home

Langkah berikutnya adalah menambahkan beberapa daftar blokir ke tumpukan DNS baru Anda. Secara default, AdGuard memblokir beberapa iklan dan pelacak, tetapi ada juga opsi untuk menambahkan daftar blokir pihak ketiga, yang membuat memiliki DNS sendiri menjadi sangat kuat.

Pergi ke Filter > Daftar blokir DNS > Tambahkan daftar blokir dan lihat melalui opsi bawaan. Saya sedang menjalankan empat daftar:

  • AdGuard DNS Filter: Daftar iklan dan pelacakan umum dengan lebih dari 165.000 aturan
  • Daftar Blokir Pro HaGeZI: Daftar pemblokiran iklan, pelacakan, dan malware yang lebih komprehensif dengan lebih dari 203.000 aturan
  • OISD Small: Daftar yang lebih kecil dan lebih khusus dengan lebih dari 57.000 aturan
  • Daftar Blokir URL Berbahaya (URLhaus): Daftar blokir khusus malware dan phishing yang dirancang untuk keamanan dan privasi, dengan lebih dari 14.000 aturan

Tentu saja, Anda bebas memilih dan menyaring dari daftar-daftar ini sesuai keinginan Anda. Setiap daftar memiliki penjelasan tentang apa yang diblokir dan bagaimana cara kerjanya. Namun, kombinasi dari daftar-daftar ini memberi Anda lebih dari 440.000 aturan yang mencakup iklan, pelacakan, dan malware — sebanding dengan apa yang ditawarkan layanan keamanan DNS khusus seperti Quad9, tetapi sepenuhnya di bawah kendali Anda.

Arahkan jaringan Anda ke AdGuard Home

Setiap perangkat tercakup secara otomatis

Pembaca, kita hampir sampai; garis finish sudah terlihat.

Dengan AdGuard Home dan Unbound berjalan, langkah terakhir adalah memberitahu jaringan Anda untuk benar-benar menggunakannya. Saat ini, perangkat Anda masih menggunakan DNS apapun yang diberikan router secara default, tetapi itulah yang sedang kita atur untuk diubah.

Untuk bagian ini, Anda perlu mengakses router Anda. Akses panel admin router Anda dan masuk. Alamat untuk panel admin router bervariasi antara produsen dan jaringan, jadi jika ragu, pencarian cepat di internet seharusnya dapat menunjukkan alamat IP yang benar.

Anda mencari kolom yang diberi label sesuatu seperti Custom DNS servers atau DNS server. Masukkan 192.168.1.11 dan simpan.

Router Anda sekarang akan memberikan 192.168.1.11 sebagai server DNS ke setiap perangkat di jaringan Anda melalui DHCP. Perangkat akan menangkap ini secara otomatis saat sewa mereka diperbarui — memutuskan dan menyambungkan kembali dari WiFi memaksa pembaruan segera jika Anda ingin mengujinya langsung.

Setiap panel admin router terlihat sedikit berbeda, jadi lokasi pasti pengaturan ini bervariasi. Jika Anda tidak dapat menemukannya segera, mencari "DNS" di dalam panel admin router Anda biasanya akan menampilkan halaman yang benar dengan cepat.

Uji konfigurasi DNS baru Anda

Sekarang, Anda seharusnya sudah sepenuhnya siap dan berjalan dengan DNS kustom.

Pergi ke dasbor AdGuard dan perhatikan log kueri saat perangkat di jaringan Anda terhubung dan mulai mengirim permintaan. Pada hari pertama saya dengan pengaturan ini berjalan, AdGuard memblokir sekitar 25% dari semua kueri DNS di jaringan saya, sebagian besar adalah panggilan pelacak dan endpoint telemetri dari perangkat yang sebelumnya tidak terpikirkan untuk saya konfigurasikan.

Begitu banyak perangkat terhubung ke solusi DNS rumah saya, saya duduk di 47,5% yang diblokir.

Satu hal yang patut diketahui: waktu respons akan terlihat tinggi segera setelah menambahkan daftar blokir; saya melihat sekitar 280ms pada hari pertama. Itu hal yang normal. Cache masih dingin, dan AdGuard sedang memproses sekumpulan aturan baru. Setelah 24 jam penggunaan rumah tangga normal, domain yang sering dikunjungi akan di-cache, dan rata-ratanya akan turun secara signifikan. Setelah beberapa hari penggunaan, ini turun menjadi sekitar 60ms.

Itu masih agak lambat dibandingkan dengan opsi DNS lain seperti Cloudflare dan Quad9, tetapi privasi dan kontrol tambahan lebih dari sepadan.

Artikel terkait