Halaman ini memberikan ringkasan tentang Domain Name System (DNS).
Untuk ringkasan Cloud DNS, lihat ringkasan Cloud DNS. Untuk istilah utama yang terkait dengan Cloud DNS, lihat Istilah utama.
DNS adalah database terdistribusi hierarkis yang menyimpan alamat IP dan data lainnya serta memungkinkan kueri berdasarkan nama.
Dengan kata lain, DNS adalah direktori nama domain yang dapat dibaca yang diterjemahkan ke alamat IP numerik yang digunakan oleh komputer untuk berkomunikasi satu sama lain. Misalnya, saat Anda mengetik URL di browser, DNS akan mengonversi URL menjadi alamat IP server web yang terkait dengan nama tersebut. Direktori DNS disimpan dan didistribusikan di seluruh dunia di server nama domain yang diperbarui secara berkala.
Konsep berikut berguna saat menggunakan DNS.
Jenis server DNS
Server DNS menyimpan database nama domain, lalu memproses nama domain berdasarkan kueri DNS yang berasal dari klien dalam jaringan.
Server otoritatif
Server otoritatif adalah server yang menyimpan data nama DNS, termasuk A, AAAA, dan CNAME.
Server tidak resmi membuat file cache berdasarkan kueri sebelumnya untuk domain. Database ini tidak menyimpan data nama asli.
Resolver rekursif
Resolver rekursif adalah server yang mengirim kueri ke server resmi atau non-resmi untuk resolusi. Resolver rekursif disebut demikian karena menjalankan 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 otoritatif untuk .
(zona root DNS). Kemudian, server tersebut akan menanyakan
server nama yang otoritatif untuk .com.
. Terakhir, server tersebut akan meminta server nama
yang memiliki otoritas untuk google.com.
, dan rdata untuk data A
akan ditampilkan ke klien.
Berikut adalah contoh cara kerja 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 membuat kueri server nama. Resolver rekursif mengkueri server nama lain, hingga ke server nama level teratas, jika diperlukan. Data NS untuk zona di server nama tingkat atas mengarahkan resolver ke bawah ke server nama lain, yang pada akhirnya menjangkau server nama yang meng-cache zona atau server resmi untuk zona tersebut.
Zona
Zona publik
Zona publik dapat dilihat di internet. Anda dapat membuat data DNS di zona publik untuk memublikasikan layanan di internet. Misalnya, Anda dapat membuat data A di zona publik yang disebut example.com.
(perhatikan titik di akhir) untuk situs publik www.example.com.
.
Zona pribadi
Zona pribadi adalah zona 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 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 resminya sendiri. Karena
subdomain.example.com
adalah domain turunan dari example.com
, metode untuk mengaktifkan
server nama otoritatif agar subdomain dapat ditemukan 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 Split horizon
Split horizon adalah istilah yang digunakan untuk menggambarkan instance saat dua zona, satu untuk digunakan oleh jaringan internal dan yang lainnya untuk digunakan oleh jaringan eksternal (biasanya internet), dibuat untuk domain yang sama. DNS split-horizon memungkinkan Anda menayangkan jawaban yang berbeda (kumpulan data resource yang 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.
Data
Data adalah pemetaan antara resource DNS dan nama domain. Setiap kumpulan data DNS memiliki jenis (nama dan nomor), waktu habis masa berlaku (time to live), dan data khusus jenis.
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 alamat IPv6-nya.
- CNAME: Data nama kanonis, yang menentukan nama alias.
- MX: Data mail exchange, yang digunakan dalam merutekan 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 zona. Setiap zona yang dihosting di server DNS harus memiliki data SOA (start of authority). Anda dapat mengubah data sesuai kebutuhan (misalnya, Anda dapat mengubah nomor seri menjadi angka arbitrer untuk mendukung pembuatan versi berbasis tanggal).
Kumpulan data
Kumpulan data dengan nama dan jenis yang sama, tetapi dengan nilai data yang berbeda, disebut kumpulan data. Saat Anda membuat data, jika terdapat satu kumpulan dengan nama dan jenis yang sama, maka data ditambahkan ke kumpulan yang cocok ini. Jika tidak ada kumpulan yang cocok, satu kumpulan baru akan dibuat lalu 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 data, pastikan 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 untuk meng-cache respons NO DATA
ke kueri.
Hal ini dapat menyebabkan kueri yang tidak terduga dalam jumlah besar terhadap zona terkelola publik Anda oleh resolver rekursif pihak ketiga saat resolver mengkueri zona terkelola publik Anda untuk menemukan data yang tidak ada.
Misalnya, ada dua subdomain, example.com
dan
subdomain.example.com
di Cloud DNS. Data NS dan SOA untuk
subdomain.example.com
tidak cocok. Tidak satu pun 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 meng-cache
tidak adanya data AAAA di zona tersebut. Hal ini akan menyebabkan kueri
dicoba lagi. Server tersebut akan mengkueri semua server nama Cloud DNS untuk mendapatkan informasi ini.
Registrar
Registrar nama domain 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 server nama caching atau otoritatif.
Nomor seri SOA
Nomor seri SOA adalah nomor versi untuk zona DNS. Agar semua server nama memiliki versi zona terbaru, server tersebut harus memiliki nomor serial SOA yang sama. Nomor seri data SOA yang dibuat di zona terkelola DNS monoton bertambah dengan setiap perubahan transaksional pada kumpulan data zona.
Namun, Anda dapat mengubah nomor seri data SOA menjadi angka arbitrer, termasuk tanggal berformat ISO 8601, seperti yang direkomendasikan dalam RFC 1912.
DNSSEC
Domain Name System Security Extension (DNSSEC) mengatasi kerentanan pada data DNS. DNSSEC adalah serangkaian spesifikasi IETF yang menyediakan autentikasi data DNS, penolakan keberadaan yang diautentikasi, dan integritas data ke klien DNS (resolver). Singkatnya, DNSSEC menyediakan cara bagi software untuk memverifikasi asal data DNS dan memvalidasi bahwa data tersebut belum diubah dalam pengiriman.
Untuk mengetahui detail selengkapnya tentang DNSSEC, lihat RFC 4033.
Untuk mengetahui daftar terminologi DNS umum, 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 menggunakan zona terkelola, lihat Membuat, mengubah, dan menghapus zona.