DNS atau Domain Name System adalah salah satu bagian terpenting dari internet. Siapapun yang menggunakan internet menggunakan layanan DNS setiap hari. Namun, itu juga diabaikan secara besar-besaran dibandingkan dengan hiruk-pikuk internet lainnya. Singkatnya, layanan DNS mengubah URL menjadi alamat IP. Seperti yang harus Anda ketahui sekarang, alamat IP adalah nomor unik yang mengidentifikasi semua yang terhubung ke jaringan. Jika Anda ingin mengejar karir di administrasi Linux, Anda harus memiliki pemahaman yang kuat tentang cara kerja DNS. Panduan ini memberikan gambaran umum tentang konsep inti DNS dan contoh praktis server DNS Ubuntu.
Mendalami Sistem Nama Domain (DNS)
Karena DNS terdiri dari beberapa layanan dan interaksi rumit di antara mereka, pengguna harus membiasakan diri dengan terminologi inti untuk memahami apa yang terjadi di balik layar. Itu sebabnya kami telah membagi seluruh panduan menjadi beberapa bagian. Yang pertama menawarkan pengenalan singkat tentang istilah dan konsep, sementara yang lain membahas alur kerja dan konfigurasi.
Ringkasan Persyaratan dan Konsep DNS Inti
Saat bekerja dengan DNS, Anda akan menghadapi berbagai istilah dan terminologi seperti Host, Zona, TLD, dan Resolver. Bagian di bawah ini memberikan pengantar singkat untuk beberapa konsep ini.
DNS
DNS atau Domain Name System adalah mekanisme yang menginterpretasikan Fully Qualified Domain Name (FQDN) ke alamat IP tertentu. Ini adalah alamat yang digunakan sistem kami untuk mengirim dan mengambil sumber daya web. DNS terdiri dari beberapa sistem dan melakukan komunikasi multi-arah untuk mengambil alamat IP yang terkait dengan URL.
Nama Domain
Nama domain adalah alamat yang dapat dibaca manusia yang terkait dengan sumber daya web. Mereka menghilangkan ambiguitas mengingat sejumlah besar alamat IP. Misalnya, google.com adalah nama domain untuk mesin pencari Google. Saat Anda memasukkan ini di bilah alamat browser Anda, itu menggunakan sistem DNS untuk menemukan alamat IP yang sebenarnya.
Alamat IP
Alamat IP adalah nomor unik yang ditetapkan untuk semua perangkat yang terhubung ke internet pada titik tertentu. Alamat IP memiliki beberapa kelas dan dua versi utama. Kebanyakan orang menggunakan IP versi 4 seperti yang sekarang. Alamat IPv4 terdiri dari empat oktet, masing-masing dipisahkan oleh titik "." simbol.
TLD
TLD s atau Domain Tingkat Teratas duduk di tingkat tertinggi dalam hierarki nama domain. Ini adalah bagian paling umum dari nama domain dan terletak di posisi terjauh di sebelah kanan. Misalnya, "com ” bagian adalah TLD dari URL www.example.com . Beberapa domain tingkat atas yang populer termasuk “com”, “org, “gov”, “net”, dan “edu”.
Host
Pemilik domain dapat menentukan beberapa host berbeda dalam domain tersebut. Ini dapat digunakan untuk mengakses layanan atau komputer terpisah. Sebagian besar server web dapat diakses melalui domain kosong seperti example.com atau melalui deklarasi host seperti www.example.com. Bagian "www" adalah tuan rumah di sini. Penggunaan umum lain dari sebuah host adalah menyediakan akses API seperti api.example.com.
Sub-Domain
- -Sub-Domain hanyalah bagian dari domain. Ini memungkinkan pemilik situs memiliki beberapa subdomain di bawah domain induk. Misalnya, domain yang disebut university.edu mungkin memiliki beberapa subdomain untuk setiap departemennya, seperti www.cs.university.edu atau www.phy.university.edu. Perbedaan antara host dan subdomain adalah bahwa yang pertama menentukan komputer atau layanan yang berbeda, sedangkan yang kedua membagi domain induk ke dalam grup yang berbeda.
Nama Domain yang Sepenuhnya Memenuhi Syarat
Nama Domain yang Sepenuhnya Memenuhi Syarat atau FQDN adalah domain absolut dari sebuah situs web. Ini mewakili akar domain yang dimaksud. Domain biasanya berisi beberapa sub-rute atau jalur seperti www.example.com/new/example. Di sini, bagian www.example.com adalah FQDN. Selain itu, FQDN selalu diakhiri dengan titik “.” simbol seperti “www.example.com.”. Namun, pengguna tidak diharuskan memasukkan titik akhir ini karena program klien akan menanganinya.
Server Nama
Dalam DNS, server nama adalah sistem komputer yang ditugaskan untuk menerjemahkan nama domain ke IP yang dapat dialamatkan. Mereka melakukan sebagian besar pekerjaan sebenarnya dalam infrastruktur DNS ubuntu. Karena server nama harus menangani ribuan permintaan per detik, mereka sering mengarahkan permintaan tambahan ke server baru. Selain itu, server nama juga dapat berfungsi sebagai server otoritatif. Dalam skenario ini, mereka menjawab pertanyaan yang berada di bawah kendali mereka dan melayani tanggapan yang di-cache dari server lain sebaliknya.
File Zona
File zona adalah file teks aktual yang menyimpan hubungan antara nama domain dan alamat IP terkait. Sistem DNS mengambil informasi IP FQDN dari dokumen ini. Mereka disimpan di server nama dan menentukan sumber daya mana yang dapat diakses untuk domain tertentu. Jika informasi tidak tersedia untuk file zona, mereka menunjuk ke lokasi yang memiliki data tersebut.
Server Root
Seperti yang sudah dibahas, DNS adalah sistem hierarkis yang terdiri dari komponen multi-level. Server root berada di bagian atas hierarki ini. Ini adalah server yang sangat kuat yang dikelola oleh banyak organisasi dan dikendalikan oleh ICANN (Internet Corporation for Assigned Names and Numbers) . Saat ini, ada 13 server root utama di seluruh dunia, dan masing-masing dicerminkan untuk meningkatkan ketersediaan.
Ketika seseorang meminta server root, permintaan tersebut diteruskan ke mirror terdekat. Server root menangani kueri terkait domain tingkat atas. Setiap kali ada sesuatu yang tidak dapat diselesaikan oleh server nama tingkat rendah, server root disajikan dengan pertanyaan itu. Namun, server root sebenarnya tidak memiliki informasi IP. Mereka malah menunjuk ke server nama yang mengelola TLD tertentu.
Server TLD
Server TLD berada di bawah server root dalam hierarki DNS. Server root mengarahkan entitas permintaan DNS ke server TLD dari permintaan itu. Server TLD kemudian mengarahkan kembali entitas yang meminta ke server nama, yang memiliki informasi IP spesifik untuk domain yang bersangkutan.
Server Nama Tingkat Domain
Server TLD mengalihkan entitas yang meminta ke server nama tingkat domain. Ini adalah server yang file zonanya berisi pemetaan IP untuk domain tersebut. Jadi, ini adalah server nama yang telah mendapatkan pengalamatan IP khusus untuk nama domain yang diminta.
Pemecah masalah
Penyelesai adalah entitas permintaan yang bertanggung jawab untuk mengambil informasi IP domain dari DNS. Biasanya, ini dikonfigurasi dalam sistem klien seperti di browser atau melalui pengaturan DNS ubuntu khusus. Kebanyakan orang menggunakan resolver DNS yang disediakan oleh ISP mereka. Penyelesai pada dasarnya adalah abstraksi yang memungkinkan pengguna akhir untuk tidak mengetahui apa yang terjadi di bawah tenda. Ini dapat bekerja secara rekursif hingga mengambil alamat IP dari domain tertentu.
Rekaman
Kami telah membahas bahwa server nama menyimpan domain ke pemetaan IP di file zona. Informasi dalam file zona disimpan sebagai catatan. Ada banyak jenis catatan dalam file zona. Kami menyentuh beberapa yang paling penting di sini.
Catatan SOA
SOA adalah singkatan dari Start of Authority dan merupakan catatan wajib untuk semua file zona. Catatan aktual pertama dalam file zona harus bertipe SOA. Mungkin perlu beberapa saat sebelum Anda sepenuhnya memahami catatan SOA. Sampai saat itu, ingat takeaways berikut. Pertama-tama, catatan SOA terlihat mirip dengan cuplikan berikut.
example.com. IN SOA ns1.example.com. admin.example.com. ( 12083 ; serial number 3h ; refresh interval 30m ; retry interval 3w ; expiry period 1h ; negative TTL )
Bagian-bagian penting adalah sebagai berikut.
- contoh.com – Ini adalah akar dari zona dan menetapkan bahwa file tersebut untuk “example.com.” domain.
- DI SOA – “IN” adalah singkatan dari internet, dan SOA mewakili fakta bahwa ini adalah rekor SOA.
- ns1.example.com. – Ini adalah server nama utama untuk “example.com.” domain. Juga, jika Anda telah mengonfigurasi DNS ubuntu dinamis, maka server nama utama Anda ada di sini.
- admin.example.com. – Ini adalah alamat email admin yang bertanggung jawab untuk zona khusus ini. Simbol “@” diganti dengan titik “.” simbol untuk alamat email.
- 12083 – Ini adalah nomor seri untuk zona ini, dan Anda harus menambah seri ini setiap kali Anda memperbarui file zona. Beginilah cara server sekunder menentukan bahwa perubahan telah terjadi di zona ini.
- 3j – Interval penyegaran untuk zona menentukan berapa lama server sekunder harus menunggu sebelum mencari perubahan dalam file zona server utama.
- 30m – Interval coba lagi dari suatu zona menentukan berapa lama server sekunder harus menunggu sebelum mencoba lagi untuk melakukan polling ke server utama.
- 3w – Ini adalah periode kedaluwarsa dan menentukan berapa lama server sekunder harus mencoba membangun komunikasi yang sukses. Jika koneksi tidak dapat dibuat dalam jangka waktu ini, server sekunder akan berhenti merespons sebagai otoritas untuk zona ini.
- 1j – Jika server nama tidak dapat menemukan nama yang diminta dalam file zona ini, itu akan menyimpan kesalahan nama untuk jangka waktu ini.
Catatan A dan AAAA
Catatan A dan AAAA memetakan host ke alamat IP yang sebenarnya. Catatan "A" memetakan host ke alamat IPv4 yang berfungsi, dan catatan "AAAA" memetakan host ke alamat IPv6. Di bawah ini adalah format umum untuk jenis rekaman ini.
hostname IN A IPv4Address hostname IN AAAA IPv6Address
Di bawah ini adalah contoh yang sesuai menggunakan server nama ns1 yang didefinisikan dalam catatan SOA.
ns1.example.com. IN A 111.112.221.222
Catatan “A” berikutnya mendefinisikan server web sebagai “www”.
www IN A 111.112.211.212
Catatan CNAME
Catatan CNAME mewakili alias untuk server nama yang ditentukan oleh catatan A atau AAAA. Misalnya, cuplikan berikut mendeklarasikan sebuah host yang disebut “server” menggunakan catatan A dan kemudian membuat alias “www” untuk host tersebut.
server IN A 111.111.111.111 www IN CNAME server
Namun, membuat alias dapat mengakibatkan penurunan kinerja karena memerlukan kueri tambahan ke server. Catatan CNAME biasanya digunakan untuk memberikan nama kanonik untuk sumber daya luar.
Data MX
Data MX digunakan untuk menentukan pertukaran email untuk nama domain dan membantu menerima komunikasi email yang tiba di server email Linux Anda. Tidak seperti kebanyakan jenis rekaman, mereka tidak memetakan host ke IP karena mereka berlaku untuk seluruh zona. Di bawah ini adalah contoh sederhana dari data MX.
IN MX 10 mail.example.com.
Perhatikan bahwa tidak ada host yang ditentukan dalam catatan ini, dan juga memiliki nomor baru "10". Ini digunakan untuk menunjukkan preferensi. Jika ada beberapa data MX, email akan diarahkan ke server yang memiliki nomor preferensi terendah.
Catatan NS
Catatan NS menentukan server nama yang digunakan untuk suatu zona. Meskipun mungkin tampak tidak relevan karena file zona sudah ada di server nama, itu digunakan karena beberapa alasan. Seperti biasanya, file zona yang dilayani oleh server DNS sebenarnya merupakan salinan cache dari server yang berbeda.
IN NS ns1.example.com. IN NS ns2.example.com.
Seperti data MX, data NS juga ditentukan untuk seluruh zona dan tidak memerlukan nama host. Selain itu, banyak DNS ubuntu berfungsi untuk menganggap file zona tidak valid jika tidak berisi banyak catatan ns. Jadi, sebagian besar file zona mendefinisikan lebih dari satu server nama.
Catatan PTR
Catatan PTR menentukan nama yang terkait dengan alamat IP yang berfungsi dan hanya merupakan kebalikan dari catatan A atau AAAA. Mereka harus dimulai dari .arpa root dan ditugaskan ke pemilik IP. Pendelegasian IP ke organisasi dan penyedia layanan ditangani oleh Regional Internet Registries (RIR) .
222.111.222.111.in-addr.arpa. 33692 IN PTR host.example.com.
Cuplikan di atas memberikan contoh dasar data PTR. Ini memetakan IP 222.111.222.111 ke “host.example.com.”.
Catatan CAA
Catatan CAA menentukan Certificate Authorities(CA) . yang mana diizinkan untuk menerbitkan sertifikat SSL/TLS untuk nama domain tertentu. Jika tidak ada catatan CAA yang ditentukan untuk domain, CA mana pun dapat menerbitkan sertifikat. Namun, jika CA didefinisikan secara eksplisit, maka hanya otoritas tertentu yang dapat mengeluarkan sertifikat.
example.com. IN CAA 0 issue "letsencrypt.org"
Catatan CAA terlihat seperti cuplikan di atas. Bidang host, IN, dan CAA adalah khusus DNS sedangkan flag (0), tag (masalah), dan nilai ("letsencrypt.org") khusus CAA. CA akan mengabaikan record jika flag disetel ke “0”, tetapi CA harus menahan diri untuk tidak mengeluarkan sertifikat jika disetel ke “1”.
Bagaimana Sebenarnya DNS Bekerja?
Sekarang setelah kita mempelajari semua istilah utama dan konsep terkait, kita dapat menemukan cara kerja permintaan DNS yang sebenarnya. Kami akan menawarkan ilustrasi dunia nyata yang sederhana dan menganalisis jalur kueri dengan cermat.
Katakanlah kita mencoba membuat koneksi dari perangkat laptop bertenaga Ubuntu saya ke situs web “www.example.com. “. Saya membuka browser internet, mengetik URL di bilah alamat dan tekan enter. Pada awalnya, klien atau browser saya, dalam hal ini, akan memeriksa apakah IP "www.example.com." sudah ada di cache-nya. Jika ditemukan, ia akan melewati semua langkah selanjutnya.
Ketika klien gagal menemukan IP di cache browser, itu meneruskan permintaan ke resolver atau server nama ISP dalam kasus saya. Penyelesai mencoba untuk melihat apakah ada pengguna lain yang baru-baru ini mengunjungi situs web ini dan, jika demikian, kemudian mencari IP dari cache-nya. Jika tidak, resolver meneruskan permintaan ke salah satu server nama root.
Server root mengembalikan alamat server nama TLD untuk domain tersebut, yaitu “.com ” server nama dalam contoh ini. Sekarang, resolver mengirimkan permintaan ke server TLD untuk melihat apakah ia memiliki hasil yang diharapkan. Namun, server TLD juga tidak memiliki informasi tersebut tetapi mengetahui server nama mana yang memilikinya. Ini mengembalikan alamat server nama yang memiliki domain ke pemetaan IP untuk URL kami.
Setelah resolver meminta server nama untuk domain kami, ia mengembalikan IP yang sesuai. Penyelesai kemudian hanya mengirimkan alamat IP yang sebenarnya ke program klien, yang sekarang dapat membangun komunikasi yang diperlukan.
Seperti yang Anda lihat, jalur permintaan DNS ubuntu total terdiri dari banyak kueri rekursif dan iteratif. Selain itu, beberapa lapisan cache ditambahkan ke mekanisme ini untuk membuat segalanya menjadi lebih sederhana dan lebih cepat. Itu sebabnya sebagian besar waktu, browser Anda tidak perlu menunggu permintaan DNS lengkap dilakukan. Misalnya, jika Anda membuka situs web populer seperti YouTube, kemungkinan besar cache ISP Anda sudah memiliki IP domain tersebut.
Selain itu, konfigurasi DNS Ubuntu dapat sangat bervariasi berdasarkan aplikasi dan peran server. Ketika dikonfigurasi sebagai server nama caching, server DNS akan menemukan jawaban untuk permintaan klien dan mengingat jawaban untuk pertanyaan berikutnya. Jika Anda mengatur DNS Anda menjadi server utama, itu akan membaca data untuk zona dari file zona dan akan menjadi otoritatif untuk zona itu saja. Saat dikonfigurasi sebagai server sekunder, itu akan mengambil data dari file zona server nama lain.
Memasang dan Mengonfigurasi Server DNS Ubuntu
Sekarang kita telah membahas cara kerja DNS dan sebagian besar konsep utama, kita dapat mulai membuat server DNS kita sendiri. Untuk bagian tutorial ini, kita akan menggunakan BIND (Daemon Penamaan Internet Berkley) program, yang merupakan implementasi DNS paling populer dan memberikan kinerja yang sangat solid bahkan di bawah beban berat.
Gunakan perintah sederhana berikut untuk menginstal BIND di mesin Ubuntu Anda. Kami juga menyarankan pengguna untuk mengunduh dnsutils , paket tangguh untuk menguji dan memecahkan masalah dengan server DNS Anda.
$ sudo apt install bind9 $ sudo apt install dnsutils
File konfigurasi untuk BIND terletak di /etc/bind direktori sistem file Linux Anda. Data konfigurasi utama disimpan di /etc/bind/named.conf mengajukan. /etc/bind/named.conf.options file digunakan untuk menyetel opsi global, /etc/bind/named.conf.local untuk mengonfigurasi zona, dan /etc/bind/named.conf.default-zones file untuk mengelola zona default.
Sebelumnya, Ubuntu menggunakan /etc/bind/db.root file untuk menjelaskan server nama root. Sekarang, ia menggunakan file /usr/share/dns/root.hints sebagai gantinya. File ini dengan demikian dirujuk dalam /etc/bind/named.conf.default-zones berkas.
Selain itu, sangat mungkin untuk mengonfigurasi server DNS ubuntu yang sama menjadi server primer, sekunder, dan caching. Peran berubah berdasarkan zona yang dilayani server. Misalnya, Anda dapat mengonfigurasi server Anda menjadi Start of Authority (SOA) untuk satu zona sambil tetap menawarkan layanan sekunder ke zona yang berbeda. Sementara itu, ia dapat menawarkan layanan caching untuk host yang ada di LAN lokal Anda.
Server Utama
Di bagian ini, kami akan menunjukkan cara membuat konfigurasi DNS Ubuntu untuk server nama utama. Server ini akan menangani kueri untuk FQDN “example.com “. Cukup ganti nama domain ini dengan URL Anda sendiri untuk menerapkan konfigurasi yang sama.
Pertama, kita perlu mengkonfigurasi file zona maju. Buka /etc/bind/named.conf.local file menggunakan editor teks Linux favorit Anda dan tambahkan cuplikan berikut.
$ sudo nano /etc/bind/named.conf.local
zone "example.com" { type master; file "/etc/bind/db.example.com"; };
Anda dapat mengonfigurasi server DNS BIND Anda untuk mendapatkan pembaruan otomatis setiap kali Anda mengubah file konfigurasi. Untuk melakukannya, gunakan file /var/lib/bind/db.example.com baik dalam cuplikan di atas maupun dalam perintah berikut.
$ sudo cp /etc/bind/db.local /etc/bind/db.example.com
Perintah di atas menyalin file zona yang sudah ada yang akan kita gunakan sebagai template untuk langkah selanjutnya. Sekarang, kita akan mengedit file zona kita (/etc/bind/db.example.com ) dan buat beberapa perubahan yang diperlukan.
$ sudo nano /etc/bind/db.example.com
Pertama-tama, kita ganti "localhost." ke FQDN server kami, yaitu “example.com.”. Jangan lupa untuk menambahkan trailing "." di FQDN. Sekarang, ubah "127.0.0.1" ke IP sebenarnya dari server nama Anda dan "root.localhost." ke alamat email yang aktif. Ingatlah untuk menggunakan "." alih-alih simbol "@" di alamat email Anda. Kami juga menyarankan untuk menambahkan komentar yang mendokumentasikan FQDN untuk file zona ini. File kita sekarang terlihat seperti berikut.
; ; BIND data file for example.com ; $TTL 604800 @ IN SOA example.com. root.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ------------------------------------------------------------------ ------------------------------------------------------------------
Kami hanya memodifikasi catatan SOA sampai sekarang. Saatnya untuk membuat perubahan pada catatan NS serta catatan A dari file zona kita. Ubah "localhost." bagian dari data NS agar sesuai dengan server nama Anda, yaitu “ns.example.com.” untuk demo FQDN kami. Ganti bagian “127.0.0.1” dari catatan A pertama dengan Ip server nama Anda. Kami telah menggunakan "192.168.1.10" . Terakhir, buat catatan A untuk server nama kami “ns.example.com” dengan menambahkan baris terakhir di cuplikan di bawah ini.
; ; BIND data file for example.com ; $TTL 604800 @ IN SOA example.com. root.example.com. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL @ IN NS ns.example.com. @ IN A 192.168.1.10 @ IN AAAA ::1 ns IN A 192.168.1.10
Beginilah tampilan konfigurasi akhir untuk zona penerusan server utama kami.
Ingatlah untuk menambah nomor seri jika tidak, BIND tidak akan melihat perubahan pada konfigurasinya. Saat Anda menambahkan beberapa peluang, Anda tidak perlu mengubah serial setiap kali. Jika Anda ingin menambahkan catatan DNS ubuntu tambahan, cukup tambahkan di bawah opsi di atas. Setelah semuanya dikonfigurasi, restart BIND dengan menggunakan perintah di bawah ini.
$ sudo systemctl restart bind9.service
Sekarang file zona maju kita dikonfigurasi dengan benar, mari kita ubah file zona terbalik. Ini memungkinkan server DNS Ubuntu untuk menyelesaikan IP ke FQDN. Cukup edit /etc/bind/named.conf.local file dan tambahkan cuplikan di bawah ini.
$ sudo nano /etc/bind/named.conf.local
zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192"; };
Anda harus mengganti "1.168.192" dengan tiga oktet pertama dari jaringan Anda sendiri. Selain itu, file zona harus diberi nama yang sesuai. Ganti “192” bagian dari file zona “/etc/bind/db.192” untuk mencocokkan oktet pertama jaringan Anda. Jadi misalnya, jika Anda berada di jaringan 10.1.1.1/24; file zona Anda akan menjadi “/etc/bind/db.10 ” dan entri “1.168.192.in-addr.arpa ” akan menjadi “10.1.1.in-addr.arpa “.
$ sudo cp /etc/bind/db.127 /etc/bind/db.192
Kami telah membuat /etc/bind/db.192 file dengan menyalin file template yang ada. Sekarang, mari edit file ini dan buat modifikasi yang sama pada /etc/bind/db.example.com berkas.
$ sudo nano /etc/bind/db.192
; ; BIND reverse data file for local 192.168.1.XXX net ; $TTL 604800 @ IN SOA ns.example.com. root.example.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns. 10 IN PTR ns.example.com.
Ingatlah untuk menambah nomor seri pada setiap perubahan berturut-turut ke file zona terbalik. Plus, untuk setiap catatan A yang dikonfigurasi di /etc/bind/db.example.com , Anda harus selalu menambahkan data PTR dalam file /etc/bind/db.192 .
Setelah semua ini selesai, cukup restart layanan BIND.
$ sudo systemctl restart bind9.service
Server Sekunder
Seperti yang telah kami katakan, membuat server sekunder adalah ide yang bagus karena beberapa alasan, salah satunya adalah peningkatan ketersediaan. Ini akan membuat server DNS Ubuntu Anda lebih tangguh dan membantu dalam melayani lebih banyak klien. Jadi, periksa bagian di bawah ini jika Anda ingin membuat server nama sekunder.
Pertama, Anda perlu mengizinkan transfer zona di server utama Anda. Cukup edit konfigurasi zona maju dan mundur dan tambahkan “izinkan-transfer ” opsi ke zona.
$ sudo nano /etc/bind/named.conf.local
zone "example.com" { type master; file "/etc/bind/db.example.com"; allow-transfer { 192.168.1.11; }; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192"; allow-transfer { 192.168.1.11; }; };
Sekarang cukup gantikan “192.168.1.11 ” dengan alamat IP server sekunder Anda.
Kemudian restart BIND di server utama Anda dengan mengeluarkan perintah berikut.
$ sudo systemctl restart bind9.service
Sekarang Anda perlu menginstal BIND di server sekunder. Kemudian lanjutkan untuk mengedit /etc/bind/named.conf.local file dan tambahkan berikut ini untuk zona maju dan mundur.
zone "example.com" { type slave; file "db.example.com"; masters { 192.168.1.10; }; }; zone "1.168.192.in-addr.arpa" { type slave; file "db.192"; masters { 192.168.1.10; }; };
Cukup ganti “192.168.1.10 ” dengan IP server nama utama Anda. Mulai ulang BIND sekali lagi, dan Anda siap melakukannya.
$ sudo systemctl restart bind9.service
Perhatikan bahwa zona DNS Ubuntu hanya dapat ditransfer ketika nomor seri di server utama lebih besar daripada di server sekunder. Namun, Anda dapat menghindarinya dengan menambahkan opsi “also-notify { ipaddress; }; ” ke /etc/bind/named.conf.local file di server utama Anda. Setelah ini, file akan terlihat seperti berikut.
$ sudo nano /etc/bind/named.conf.local
zone "example.com" { type master; file "/etc/bind/db.example.com"; allow-transfer { 192.168.1.11; }; also-notify { 192.168.1.11; }; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192"; allow-transfer { 192.168.1.11; }; also-notify { 192.168.1.11; }; };
Server Caching
Anda tidak perlu berbuat banyak untuk membuat server nama caching karena konfigurasi default sudah bertindak sebagai server caching. Cukup edit /etc/bind/named.conf.options file dan batalkan komentar di bagian forwarder. Masukkan IP server DNS ISP Anda, seperti yang ditunjukkan di bawah ini.
$ sudo nano /etc/bind/named.conf.options
forwarders { 1.2.3.4; 5.6.7.8; };
Jangan lupa untuk mengganti IP sesuai dengan nama server yang sebenarnya.
Sekarang buka emulator terminal Linux favorit Anda dan jalankan perintah di bawah ini untuk memulai ulang BIND.
$ sudo systemctl restart bind9.service
Menguji dan Memecahkan Masalah Konfigurasi DNS Ubuntu
Setelah Anda selesai mengatur server nama DNS Anda, Anda ingin memeriksa apakah mereka berfungsi sebagaimana dimaksud atau tidak. Langkah pertama untuk melakukannya adalah menambahkan IP server nama ke penyelesai mesin host. Cara termudah untuk melakukannya adalah mengedit file /etc/resolv.conf dan memastikan baris server nama mengarah ke 127.0.0.53 . Kemudian tambahkan parameter pencarian untuk FQDN Anda, seperti yang diilustrasikan di bawah ini.
$ sudo nano /etc/resolv.conf
nameserver 127.0.0.53 search example.com
Anda dapat dengan mudah mengetahui server DNS yang digunakan oleh resolver mesin lokal Anda dengan menggunakan perintah berikut.
$ systemd-resolve --status
Perhatikan bahwa Anda mungkin juga ingin menambahkan IP server sekunder ke konfigurasi klien Anda. Ini akan memberikan ketersediaan yang lebih baik dan memanfaatkan server nama sekunder yang baru saja Anda buat.
Cara lain yang berguna untuk memeriksa konfigurasi DNS adalah dengan menggunakan perintah Linx dig. Cukup gunakan dig pada antarmuka loopback dan lihat apakah itu mendengarkan pada port 53 atau tidak.
$ dig -x 127.0.0.1
Perintah di bawah ini menggunakan perintah grep Linux untuk menyaring informasi yang relevan.
$ dig -x 127.0.0.1 | grep -i "53"
Jika Anda telah mengonfigurasi BIND menjadi server caching, gunakan dig untuk memeriksa domain luar dan catat waktu kueri.
$ dig ubuntu.com
Jalankan perintah sekali lagi dan periksa apakah waktu kueri telah berkurang atau tidak. Ini akan berkurang secara signifikan jika caching berhasil.
Anda juga dapat menggunakan perintah ping Linux untuk melihat bagaimana klien menggunakan DNS ubuntu untuk menyelesaikan nama host ke IP.
$ ping example.com
Mengakhiri Pikiran
Pemahaman yang kuat tentang sistem DNS sangat penting jika Anda ingin mendapatkan pekerjaan CS bergaji tinggi sebagai administrator sistem atau jaringan. Tujuan dari panduan ini untuk membantu pemula menguasai prinsip-prinsip di balik DNS secepat mungkin. Selain itu, editor kami juga telah memberikan ilustrasi kerja dari berbagai konfigurasi DNS Ubuntu untuk membantu proses pembelajaran Anda. Pada akhir tutorial ini, Anda harus memperoleh pengetahuan yang kaku tentang konsep inti DNS serta pengalaman langsung. Mudah-mudahan, kami dapat memberikan Anda wawasan penting. Jangan lupa untuk meninggalkan kami komentar jika Anda memiliki pertanyaan atau saran lagi.