Ringkasan DNS Umum

Halaman ini menyediakan ringkasan Domain Name System (DNS).

Untuk ringkasan Cloud DNS, lihat ringkasan Cloud DNS. Untuk mengetahui istilah kunci terkait Cloud DNS, lihat Istilah utama.

DNS adalah {i>database<i} terdistribusi hierarkis yang menyimpan alamat IP dan data lainnya dan mengizinkan kueri berdasarkan nama.

Dengan kata lain, DNS adalah direktori nama domain yang dapat dibaca dan diterjemahkan menjadi alamat IP numerik yang digunakan oleh komputer untuk berkomunikasi satu sama lain. Misalnya, saat Anda mengetik URL ke browser, DNS akan mengonversi URL tersebut menjadi alamat IP server web yang terkait dengan nama tersebut. Direktori DNS disimpan dan didistribusikan di seluruh dunia pada server nama domain yang diperbarui secara rutin.

Konsep berikut berguna saat bekerja dengan DNS.

Jenis server DNS

Server DNS menyimpan {i>database<i} nama domain, lalu memproses nama domain berdasarkan kueri DNS yang berasal dari klien dalam sebuah jaringan.

Server otoritatif

Server otoritatif adalah server yang menyimpan data nama DNS, termasuk A, AAAA, dan CNAME.

Server non-otoritatif membuat file cache berdasarkan kueri sebelumnya untuk domain. Data ini tidak menyimpan catatan nama asli.

Resolver rekursif

Resolver rekursif adalah server yang mengirimkan kueri ke server otoritatif atau non-otoritatif untuk mendapatkan resolusi. Resolver rekursif disebut karena melakukan setiap kueri untuk nama tertentu dan menampilkan hasil akhir.

Hal ini berbeda dengan resolver iteratif, yang hanya menampilkan rujukan ke server DNS berikutnya yang mungkin memiliki jawaban.

Misalnya, saat me-resolve nama google.com., resolver rekursif harus menentukan siapa yang resmi untuk . (zona root DNS). Selanjutnya, kode ini akan meminta server nama tersebut yang berwenang untuk .com.. Terakhir, GPU meminta server nama yang otoritatif untuk google.com., dan rdata untuk data A akan ditampilkan ke klien.

Berikut adalah contoh penggunaan resolver rekursif. Jika Anda menjalankan dig +trace google.com, resolver rekursif akan melakukan tindakan berikut (8.8.8.8/Google Public DNS adalah salah satu resolver tersebut):

 dig +trace google.com
; <<>> DiG 9.11.5-P4-5.1-Debian <<>> +trace google.com
;; global options: +cmd
.           168383  IN  NS  a.root-servers.net.
.           168383  IN  NS  b.root-servers.net.
.           168383  IN  NS  c.root-servers.net.
.           168383  IN  NS  d.root-servers.net.
.           168383  IN  NS  e.root-servers.net.
.           168383  IN  NS  f.root-servers.net.
.           168383  IN  NS  g.root-servers.net.
.           168383  IN  NS  h.root-servers.net.
.           168383  IN  NS  i.root-servers.net.
.           168383  IN  NS  j.root-servers.net.
.           168383  IN  NS  k.root-servers.net.
.           168383  IN  NS  l.root-servers.net.
.           168383  IN  NS  m.root-servers.net.
.           168383  IN  RRSIG   NS 8 0 518400 20190810170000 20190728160000 59944 .
    ITqCp5bSKwoG1P76GpNfDanh4fXxOtHuld5SJzEm9ez0U/K7kpmBm4TE
    cw82zuqtZlqiGOuq+90KHJEhD1fdX3FujgDqe3kaY/41LgFIo76RBeMP
    CorYg29lKQOBf7pLPiJWewFmnLsRXsvENzxNXl9mynX80EQSS2YlCWpr
    47i2j5SFpGDzmxls7LinB4VvwVLhy0FPwBaVc5NVqQoFS5ZkfKXCUz8x
    urExPT2OtPJeDiGzrQGmT6vDbYZtJRWWGK5tPIKZQyF/08YSJlrjebNa
    1nKZVN8SsO8s7elz6JGmdoM6D/1ByLNFQmKvU55ikaVSnXylqixLbJQI 7LyQoA==
;; Received 525 bytes from 127.0.0.1#53(127.0.0.1) in 22 ms

com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            86400   IN  DS  30909 8 2
    E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.            86400   IN  RRSIG   DS 8 1 86400 20190811170000 20190729160000 59944 .
    KXPRdZspxd6hZYRFx3cj7Yp3d6HDzOG5CmoK46ZrrlKnZkCYMPKzyFQ2
    15pA+jZ37MbQbhe6+S+C4AHWqv95DDsue85ha3ZmWGhnJxcLnDaL5Twp
    Z/W/a+1cTHhhbMZua1riw74mqvzRAF1kVerj7jrvWnOAOZCh69Dr4AFJ
    gRN4MAn+wCZDmPQCtkcGVJ9vyNV7Xra45B4ISqEo0xi8CXewp9cc+aW5
    TSjFRhj1RM9d3k+3Mrq6AAV8dVgWofYTg6Ihph/SfoIx4TrTrEbgfdsv
    MvuLPXvK6Y7oSh5WknbFduw7HQdo1jH3/QR54FORswBJT8VmYD7Zii88 tAjbRQ==
;; Received 1170 bytes from 192.58.128.30#53(j.root-servers.net) in 2 ms

google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.
    CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 -
    CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
    CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2
    86400 20190803044434 20190727033434 17708 com.
    rMmiNL7bYvJpB3Bc+WnqS2iiczm2PwxBvJcl7SL/vcTj88GsxM1ycTSV
    PsHZHxfrv1dv2C5BCSZ+mzeVBu8upLoeraQy+UVf3VXyt3i3rNGzcXYV
    8HSrHcXrRoAJopFim3Ge1xdZ+uERg3cTIcN2tJxxkCeqt/EcUTqtQl8t EAc=
    S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN NSEC3 1 1 0 -
    S84CFH3A62N0FJPC5D9IJ2VJR71OGLV5 NS DS RRSIG
    S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. 86400 IN RRSIG NSEC3
    8 2 86400 20190804045723 20190728034723 17708 com.
    jypPsaWVop9rzuf70CFYyiK0hliiJ+YYtkjgb3HVj9ICc57kLmv9DkvG
    DddF5GBQpqNEakzyJtya179MAdDT7RhJB4XfmY6fu5I5QTeIjchfP5wt
    7gU1AL7cqTmBAo2RWu62vtUytV09+O3KGFq5O+Cwr11dSTfq1yYyw6YW cMI=
;; Received 772 bytes from 192.41.162.30#53(l.gtld-servers.net) in 2 ms

google.com.     300 IN  A   172.217.7.14
;; Received 55 bytes from 216.239.32.10#53(ns1.google.com) in 13 ms

Setiap klien DNS mengajukan kueri ke server nama. Resolver rekursif mengkueri server nama lainnya, hingga ke server nama tingkat atas, jika diperlukan. Data NS untuk zona pada server nama level atas mengarahkan resolver ke bawah ke server nama lain, yang akhirnya mencapai server nama yang meng-cache zona atau server otoritatif untuk zona tersebut.

Zona

Zona publik

Zona publik dapat dilihat oleh internet. Anda dapat membuat data DNS di zona publik untuk memublikasikan layanan Anda di internet. Misalnya, Anda dapat membuat data A di zona publik yang disebut example.com. (perhatikan titik akhir) untuk www.example.com. situs publik Anda.

Zona pribadi

Zona pribadi adalah zona apa pun yang tidak dapat dikueri melalui internet publik.

Subzona yang didelegasikan

DNS memungkinkan pemilik zona menggunakan data NS untuk mendelegasikan subdomain ke server nama yang berbeda. Resolver mengikuti data ini dan mengirimkan kueri untuk subdomain ke server nama target yang ditentukan dalam delegasi.

Misalnya, Anda dapat membuat zona terpisah untuk example.com dan subdomain.example.com, masing-masing dengan server nama otoritatifnya sendiri. Karena subdomain.example.com adalah domain turunan dari example.com, metode untuk mengaktifkan server nama otoritatif agar subdomain ditempatkan dari zona domain induk disebut delegasi. Delegasi pada dasarnya adalah pointer ke server nama otoritatif untuk subdomain. Untuk mengaktifkan delegasi di Cloud DNS, Anda dapat menambahkan data NS untuk subdomain di zona domain induk.

DNS Horizon terpisah

Horizon terpisah adalah istilah yang digunakan untuk menjelaskan instance ketika dua zona, satu untuk digunakan oleh jaringan internal dan satu lagi untuk digunakan oleh jaringan eksternal (biasanya internet), dibuat untuk domain yang sama. DNS Split-horizon memungkinkan Anda menyajikan jawaban yang berbeda (kumpulan data resource berbeda) untuk nama yang sama, bergantung pada siapa yang bertanya.

Misalnya, Anda dapat menyediakan versi pengembangan atau staging aplikasi jika kueri berasal dari jaringan pengembangan, dan versi produksi atau publik aplikasi jika kueri berasal dari internet publik.

Piringan hitam

Kumpulan data adalah pemetaan antara resource DNS dan nama domain. Setiap data DNS memiliki jenis (nama dan nomor), waktu habis masa berlaku (waktu aktif), dan data khusus jenis.

Beberapa jenis catatan yang umum digunakan adalah:

  • A: Data alamat, yang memetakan nama host ke alamat IPv4-nya.
  • AAAA: Data Alamat IPv6, yang memetakan nama host ke alamat IPv6-nya.
  • CNAME: Data nama kanonis, yang menentukan nama alias.
  • MX: Data pertukaran email, yang digunakan dalam mengarahkan permintaan ke server email.
  • NS: Data server nama, yang mendelegasikan zona DNS ke server otoritatif.
  • PTR: Data pointer, yang menentukan nama yang terkait dengan alamat IP.
  • SOA: Start of Authority, digunakan untuk menetapkan server nama utama dan administrator yang bertanggung jawab atas suatu zona. Setiap zona yang dihosting di server DNS harus memiliki catatan SOA (awal otoritas). Anda dapat mengubah data sesuai kebutuhan (misalnya, Anda dapat mengubah nomor seri ke nomor arbitrer untuk mendukung pembuatan versi berbasis tanggal).

Kumpulan data

Kumpulan data dengan nama dan jenis yang sama namun dengan nilai data yang berbeda disebut kumpulan data. Saat Anda membuat data, jika set dengan nama dan jenis yang sama ada, data tersebut akan ditambahkan ke kumpulan yang cocok ini. Jika tidak ada kumpulan yang cocok, kumpulan baru akan dibuat dan ditambahkan ke daftar kumpulan data.

Ini adalah contoh kumpulan data dengan lebih dari satu data yang memiliki nama dan jenis yang sama:

Nama DNS Jenis TTL (detik) Data
db-01.dev.gcp.example.com A 50 10.128.1.35
db-01.dev.gcp.example.com A 50 10.128.1.10

Untuk mengetahui daftar jenis data yang didukung di Cloud DNS, lihat Jenis data DNS yang didukung.

Delegasi subdomain

Saat membuat kumpulan data, pastikan bahwa data NS dan SOA cocok satu sama lain. Data NS dan SOA yang bertentangan dapat menyebabkan beberapa resolver menolak delegasi sebagai tidak valid dan menolak menyimpan respons NO DATA ke dalam cache. Hal ini dapat menyebabkan sejumlah besar kueri yang tidak terduga terhadap zona terkelola publik Anda oleh resolver rekursif pihak ketiga saat resolver mengkueri zona terkelola publik Anda untuk mencari data yang tidak ada.

Misalnya, ada dua subdomain, example.com dan subdomain.example.com di Cloud DNS. Catatan NS dan SOA untuk subdomain.example.com tidak cocok. Tidak ada zona yang berisi data AAAA. Saat beberapa resolver rekursif pihak ketiga membuat kueri subdomain.example.com untuk data AAAA dan menerima respons NO DATA, jika resolver mendeteksi delegasi subdomain.example.com yang tidak valid, resolver akan menolak untuk menyimpan ketidakadaan data AAAA di zona tersebut. Hal ini menyebabkan percobaan ulang kueri. Mereka membuat kueri semua server nama Cloud DNS, pada gilirannya, untuk mendapatkan informasi ini.

Pendaftar

Domain name registrar adalah organisasi yang mengelola reservasi nama domain internet untuk zona publik. Registrar harus diakreditasi oleh registry domain level teratas generik (gTLD) atau registry domain level teratas kode negara (ccTLD). Ini adalah cara server nama tingkat atas menyetujui SOA dan memperbarui data NS untuk zona guna mengarahkan permintaan ke cache atau server nama yang otoritatif.

Nomor seri SOA

Nomor seri SOA adalah nomor versi untuk zona DNS. Agar semua server nama tetap terbaru dengan versi zona, server nama tersebut harus memiliki nomor seri SOA yang sama. Nomor seri data SOA yang dibuat di zona terkelola DNS secara monoton meningkat seiring dengan setiap perubahan transaksi pada kumpulan data zona.

Namun, Anda dapat mengubah nomor seri data SOA ke nomor arbitrer, termasuk tanggal berformat ISO 8601, seperti yang direkomendasikan dalam RFC 1912.

DNSSEC

Domain Name System Security Extension (DNSSEC) menangani kerentanan terhadap data DNS. DNSSEC adalah rangkaian spesifikasi IETF yang menyediakan autentikasi data DNS, penolakan eksistensi yang diautentikasi, dan integritas data untuk klien DNS (resolver). Singkatnya, DNSSEC menyediakan cara bagi software untuk memverifikasi asal data DNS dan memvalidasi bahwa data tersebut belum diubah saat dalam pengiriman.

Untuk detail selengkapnya tentang DNSSEC, lihat RFC 4033.

Untuk daftar terminologi DNS umum, lihat RFC 7719.

Langkah selanjutnya