Halaman ini menyediakan ringkasan Domain Name System (DNS).
Untuk ringkasan tentang Cloud DNS, lihat Ringkasan Cloud DNS. Untuk istilah penting yang terkait ke Cloud DNS, lihat Istilah utama.
DNS adalah {i>database<i} terdistribusi hierarkis yang menyimpan alamat IP dan data dan memungkinkan penggunaan 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. Sebagai misalnya, saat Anda mengetik URL ke {i>browser<i}, DNS mengonversi URL menjadi IP alamat server web yang terkait dengan nama itu. Direktori DNS tersebut disimpan dan didistribusikan di seluruh dunia pada server nama domain yang diperbarui secara rutin.
Konsep berikut berguna ketika bekerja dengan DNS.
Jenis server DNS
Server DNS menyimpan {i>database<i} nama domain, dan kemudian memproses nama domain berdasarkan kueri DNS yang berasal dari klien dalam jaringan.
Server otoritatif
Server otoritatif adalah server yang menyimpan catatan nama DNS, termasuk A, AAAA, dan CNAME.
Server non-otoritatif menyusun file cache berdasarkan kueri sebelumnya untuk domain. Properti ini tidak menyimpan kumpulan data nama asli.
Resolver rekursif
Resolver rekursif adalah server yang mengirimkan kueri ke resource atau server non-otoritatif untuk resolusi. {i>recursive resolver<i} disebut karena ia melakukan setiap kueri untuk nama tertentu dan mengembalikan hasil akhirnya.
Berbeda dengan resolver iterasi, yang hanya menampilkan rujukan ke server DNS berikutnya yang mungkin memiliki jawabannya.
Misalnya, saat me-resolve nama google.com.
, resolver rekursif
harus menentukan siapa yang berwenang untuk .
(zona root DNS). Lalu menanyakan
server nama yang otoritatif untuk .com.
. Terakhir, sistem akan menanyakan nama
server yang otoritatif untuk google.com.
, dan rdata untuk kumpulan data A
dikembalikan ke klien.
Berikut ini adalah contoh praktik resolver rekursif; jika Anda menjalankan
dig +trace google.com
, resolver rekursif melakukan hal berikut
(8.8.8.8/Google Public DNS adalah salah satu resolver):
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 membuat kueri nama lain server, hingga ke server nama tingkat atas, jika diperlukan. Tujuan Data NS untuk zona di nama tingkat atas server mengarahkan resolver ke bawah ke server nama lain, yang akhirnya mencapai baik nama server yang meng-{i>cache<i} zona atau server otoritatif untuk zona waktu.
Zona
Zona publik
Zona publik dapat dilihat oleh internet. Anda dapat membuat
pencatatan DNS di
zona publik untuk mempublikasikan
layanan Anda di internet. Sebagai contoh, Anda mungkin
buat data A di zona publik yang disebut example.com.
(perhatikan bahwa
dot) untuk situs publik Anda www.example.com.
.
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 catatan ini dan mengirim 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 otoritatif-nya sendiri. Karena
subdomain.example.com
adalah domain turunan dari example.com
, metode untuk mengaktifkan
server nama otoritatif untuk subdomain
yang akan ditempatkan dari induk
zona domain disebut delegasi. Delegasi pada dasarnya
adalah penunjuk ke
server nama otoritatif
untuk subdomain. Untuk mengaktifkan delegasi di
Jika menggunakan Cloud DNS, Anda dapat menambahkan data NS untuk subdomain di zona tersebut
dari domain induk.
DNS cakrawala terpisah
Horizon terpisah adalah istilah yang digunakan untuk menggambarkan suatu kejadian ketika dua zona, satu zona digunakan oleh jaringan internal dan lainnya untuk digunakan oleh jaringan eksternal (biasanya internet), dibuat untuk domain yang sama. DNS Split-horizon memungkinkan Anda menyajikan jawaban yang berbeda (kumpulan data sumber daya yang berbeda) untuk nama yang sama tergantung pada siapa yang bertanya.
Misalnya, Anda dapat menyediakan versi pengembangan atau staging dari jika kueri berasal dari jaringan pengembangan, dan produksi atau versi publik aplikasi Anda jika kueri tersebut berasal dari internet publik.
Catatan
Pencatatan adalah pemetaan antara sumber daya DNS dan nama domain. Setiap individu Pencatatan DNS memiliki jenis (nama dan nomor), waktu kedaluwarsa (waktu aktif), dan jenis data tertentu.
Beberapa jenis data yang umum digunakan adalah:
- A: Data alamat, yang memetakan nama host ke alamat IPv4-nya.
- AAAA: Data Alamat IPv6, yang memetakan nama host ke IPv6 alamat IPv6
- CNAME: Data nama kanonis, yang menentukan nama alias.
- MX: Catatan pertukaran email, yang digunakan dalam mengarahkan permintaan ke email server web.
- NS: Data server nama, yang mendelegasikan zona DNS ke data otoritatif server tertentu.
- PTR: Data pointer, yang menentukan nama yang terkait dengan alamat IP.
- SOA: Otoritas, yang digunakan untuk menentukan server nama utama dan administrator yang bertanggung jawab atas suatu zona. Setiap zona yang di-{i>host<i} di server DNS harus memiliki catatan SOA (awal otoritas). Anda dapat mengubah data sesuai kebutuhan (misalnya, Anda dapat mengubah nomor seri menjadi nomor arbitrer untuk mendukung pembuatan versi berbasis tanggal).
Kumpulan data
Kumpulan data dengan nama dan jenis yang sama tetapi dengan nama yang berbeda nilai data yang disebut kumpulan {i>record<i}. Saat Anda membuat kumpulan data, jika himpunan dengan nama dan jenis yang sama ada, {i>record<i} 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 kumpulan data yang memiliki nama dan jenis:
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 daftar jenis data yang didukung di Cloud DNS, lihat Jenis data DNS yang didukung.
Delegasi subdomain
Saat membuat kumpulan data, pastikan data NS dan SOA sesuai dengan masing-masing
lainnya. Data NS dan SOA yang bertentangan dapat menyebabkan beberapa resolver menolak
delegasi sebagai tidak valid dan menolak untuk meng-cache respons NO DATA
terhadap kueri.
Hal ini dapat mengakibatkan sejumlah besar kueri yang tidak terduga terhadap publik
zona terkelola oleh resolver rekursif pihak ketiga saat resolver mengkueri
zona terkelola publik untuk
catatan 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 satu pun zona berisi AAAA
{i>record<i}. Saat beberapa resolver rekursif pihak ketiga mengkueri subdomain.example.com
untuk data AAAA dan menerima respons NO DATA
, jika resolver mendeteksi
delegasi subdomain.example.com
yang tidak valid, mereka menolak untuk meng-cache
tidak adanya data AAAA di zona tersebut. Hal ini mengakibatkan percobaan ulang
terhadap kueri. Mereka membuat kueri semua server nama
Cloud DNS, pada gilirannya, untuk
tidak akurat atau tidak sesuai.
Pendaftar
{i>registrar<i} nama domain adalah organisasi yang mengelola pemesanan nama domain internet untuk zona publik. Registrar harus diakreditasi oleh registry domain level teratas umum (gTLD) atau 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 penyimpanan dalam cache atau nama yang kredibel server web.
Nomor seri SOA
Nomor seri SOA adalah nomor versi untuk zona DNS. Untuk semua server nama yang terbaru dengan versi zona, mereka harus memiliki SOA yang sama nomor seri. Nomor seri data SOA yang dibuat di zona terkelola DNS secara monoton meningkat setiap kali ada perubahan transaksi ke kumpulan {i>record <i}di zona.
Namun, Anda dapat mengubah nomor seri catatan SOA menjadi termasuk tanggal berformat ISO 8601, seperti yang disarankan dalam RFC 1912.
DNSSEC
Domain Name System Security Extension (DNSSEC) mengatasi kerentanan ke data DNS. DNSSEC adalah rangkaian spesifikasi IETF yang menyediakan otentikasi data DNS, penolakan keberadaan yang diotentikasi, dan otentikasi data integritas data ke klien DNS (resolver). Singkatnya, DNSSEC menyediakan cara untuk {i>software<i} untuk memverifikasi asal data DNS dan memvalidasi bahwa asal data DNS belum diubah saat transit.
Untuk mengetahui detail selengkapnya tentang DNSSEC, lihat RFC 4033.
Untuk daftar terminologi umum DNS, lihat RFC 7719.
Langkah selanjutnya
- Untuk mulai menggunakan Cloud DNS, lihat Panduan memulai: Menyiapkan data DNS untuk nama domain dengan Cloud DNS.
- Untuk menambahkan, menghapus, atau memperbarui data, lihat Menambahkan, mengubah, dan menghapus data.
- Untuk bekerja dengan zona terkelola, lihat Membuat, mengubah, dan menghapus zona.