Apa itu DNS?
DNS, atau Sistem Nama Domain, ialah sistem penamaan teragih yang membantu aplikasi mencari sumber rangkaian. Nama laman web boleh diselesaikan kepada alamat IPv4 atau IPv6, manakala rekod lain mengarahkan e-mel atau mengenal pasti pelayan nama autoritatif. Nama domain tidak semestinya menghala ke satu pelayan sahaja.
Cara carian DNS berfungsi
Peranti anda biasanya meminta jawapan daripada penyelesai rekursif. Jika penyelesai itu tiada jawapan dalam cache, ia mengikut rantaian delegasi DNS dari akar, melalui domain peringkat atas, hingga ke pelayan autoritatif yang bertanggungjawab ke atas nama tersebut. Pelayan autoritatif menerbitkan data zon, dan penyelesai memulangkan jawapan yang berkaitan kepada klien. Pendaftar dan pengendali DNS boleh jadi organisasi yang berbeza.
Penyelesai menyimpan jawapan dalam cache untuk tempoh yang berkait dengan tempoh hayat setiap rekod, atau TTL. Sesetengah jawapan negatif juga boleh disimpan dalam cache. Akibatnya, pengguna berlainan mungkin melihat keputusan berbeza sejurus selepas sesuatu rekod ditambah atau diubah. Menukar pelayan nama di pendaftar mengubah delegasi, manakala menyunting rekod A pada pelayan autoritatif sedia ada mengubah data zon. Kedua-duanya operasi yang berbeza.
Rekod DNS yang biasa
Rekod A memetakan nama kepada alamat IPv4 dan rekod AAAA memetakannya kepada alamat IPv6. MX mengenal pasti pelayan pertukaran mel, NS mengenal pasti pelayan nama autoritatif, CNAME mencipta alias nama, dan TXT membawa teks untuk tujuan seperti pengesahan domain atau pengesahan mel. Semak jenis rekod yang diminta secara khusus: rekod MX yang berfungsi tidak memberitahu apa-apa tentang sama ada laman web boleh dicapai.
Apabila memindahkan laman, mengemas kini rekod alamatnya mungkin sudah memadai. Jika anda turut menukar penyedia DNS, salin rekod MX, TXT dan rekod lain yang diperlukan sebelum menukar delegasi. Rekod mel yang tertinggal boleh mengganggu penghantaran walaupun laman web masih boleh dibuka. Jawapan DNS hanya menerangkan data penamaan; ia tidak dapat membuktikan bahawa pelayan menerima sambungan, mempunyai sijil TLS yang sah atau menjalankan aplikasi yang sihat.
Privasi dan DNSSEC
Pertanyaan DNS tradisional antara klien dengan penyelesainya secara amnya tidak disulitkan. DNS over HTTPS dan DNS over TLS menyulitkan bahagian perjalanan itu, walaupun penyelesai yang dipilih masih dapat melihat pertanyaan yang diprosesnya. DNSSEC mengesahkan data DNS yang ditandatangani apabila rantaian kepercayaannya sah; ia tidak menyulitkan pertanyaan atau menjadikan laman web selamat. Mekanisme ini menyelesaikan masalah yang berbeza.
Penyelesaian masalah langkah demi langkah
Jika laman baharu tidak dapat dibuka, buat pertanyaan rekod A dan AAAA laman itu dan kenal pasti pelayan nama autoritatifnya. Bandingkan jawapan pelayan tersebut dengan jawapan daripada satu atau lebih penyelesai rekursif. Jika jawapan autoritatif sudah baharu tetapi jawapan rekursif masih lama, cache berkemungkinan besar puncanya. Jika jawapan autoritatif itu sendiri salah, semak zon dan delegasi. Catat nama, jenis rekod, penyelesai dan masa yang tepat untuk pasukan sokongan.
Setelah DNS memberikan alamat yang dijangka, siasat lapisan seterusnya secara berasingan: kebolehcapaian rangkaian, respons pelayan, TLS dan ralat aplikasi. Urutan ini mengelakkan anda menukar rekod DNS yang betul semata-mata untuk membetulkan masalah pelayan web. Asas protokol ini didokumenkan dalam RFC 1034 dan RFC 1035.
Privasi penyelesai dan kebocoran DNS
DoH atau DoT menyulitkan bahagian antara klien dan penyelesai, tetapi pemilihan penyelesai ialah perkara berasingan. Pelayar, sistem pengendalian dan VPN boleh menggunakan tetapan yang berbeza. Lihat apa yang diperhatikan oleh ujian kebocoran DNS dan DoH berbanding DoT.