Setup Server DNS Master-Slave Menggunakan Alat "Bind" di RHEL/CentOS 6.5

Server Nama Domain (DNS) yang digunakan untuk penyelesaian nama ke host mana pun. Server DNS utama (Server Utama) adalah penangan data zona asli dan server DNS Slave (Server Sekunder) hanyalah server cadangan yang digunakan untuk menyalin informasi zona yang sama dari server master. Master Server akan menyelesaikan nama untuk setiap host yang kami definisikan di database zona dan gunakan Protokol UDP, karena protokol UDP tidak pernah menggunakan proses pengakuan saat tcp menggunakan pengakuan. Server DNS juga menggunakan protokol UDP untuk menyelesaikan permintaan kueri paling awal.

Setup Master Slave DNS di CentOS
Setup Master Slave DNS di RHEL/CentOS 6.5

Bagaimana DNS Bekerja?

Memahami DNS mungkin sedikit membingungkan bagi pemula. Berikut adalah penjelasan singkat tentang cara kerja DNS.

Katakanlah, jika kita perlu mengakses situs web apa pun, apa yang akan kita lakukan? Ketik saja www.google.com di browser dan tekan enter. Hmm hanya itu yang kami tahu, tetapi faktanya, betapa sakitnya DNS melewatinya, saat menanyakan kami. Saat kita mengetik www.google.com, sistem akan mencari www.google.com. Setiap kali kita mengetik beberapa nama domain, ada . (dot) di akhir www.google.com yang mengatakan untuk mencari server root namespace.

Secara global ada 13 server root tersedia untuk menyelesaikan kueri. Pada awalnya, saat kita menekan enter sebagai www.google.com, browser kita akan mengirimkan permintaan ke resolver lokal kita, yang memiliki entri tentang info server DNS master dan slave kita. Jika mereka tidak memiliki info tentang kueri yang diminta, mereka akan meneruskan permintaan ke domain Tingkat Atas (TLD), jika TLD mengatakan saya tidak tahu permintaannya, mungkin server otoritatif mengetahui permintaan Anda, itu akan diteruskan ke server otoritatif, di sini hanya www.google.com yang didefinisikan sebagai alamat 72.36.15.56.

Sementara itu server otoritatif akan memberikan jawaban ke TLD dan TLD akan diteruskan ke server root dan root akan memberikan info ke browser, maka browser akan men-cache permintaan DNS untuk digunakan di masa mendatang. Dengan demikian proses panjang ini hanya akan diselesaikan dalam milidetik. Jika mereka tidak mengetahui permintaan tersebut, mereka akan membalas sebagai NXDOMAIN. Artinya, tidak ada catatan apapun yang ditemukan di database Zone. Semoga ini membuat Anda memahami cara kerja DNS.

Baca Juga: Siapkan Server Cache DNS di Ubuntu

Lingkungan Pengujian Saya

Untuk artikel ini, saya menggunakan 3 mesin, 2 untuk pengaturan server (master dan slave) dan 1 untuk klien.

Server DNS Utama Alamat IP: 192.168.0.200. Nama host: masterdns.tecmintlocal.com. OS: Centos 6.5 Final. 
Server DNS Budak Alamat IP: 192.168.0.201. Nama host: slavedns.tecmintlocal.com. OS: Centos 6.5 Final. 
Mesin Klien untuk menggunakan DNS Alamat IP: 192.168.0.210. Nama host: node1.tecmintlocal.com. OS: Centos 6.5 Final. 
Paket Persyaratan
mengikat, mengikat-utils, mengikat-chroot. 
File Konfigurasi Digunakan
file konfigurasi: /etc/named.conf. file skrip: /etc/init.d/named. 
Port & Protokol yang Digunakan
53, UDP

Siapkan Server DNS Master

Pertama, verifikasi alamat IP, Hostname dan versi Distribusi Master DNS Server, sebelum melanjutkan untuk penyiapan.

$ sudo ifconfig | grep inet. $ nama host. $ cat /etc/redhat-release. 
Verifikasi Konfigurasi Master
Verifikasi Konfigurasi Master

Sekali, Anda mengkonfirmasi bahwa pengaturan di atas sudah benar, saatnya untuk bergerak maju untuk menginstal paket yang diperlukan.

$ sudo yum install bind* -y. 
Instal Paket Bind
Instal Paket Bind

Memasang dan Mengonfigurasi Bind

Setelah menginstal paket yang diperlukan, sekarang tentukan file zona dalam konfigurasi master 'bernama.conf' berkas.

$ sudo vim /etc/named.conf. 

Diberikan di bawah ini adalah milik saya bernama.conf entri file, ubah file konfigurasi sesuai kebutuhan Anda.

// // bernama.conf. // // Disediakan oleh paket bind Red Hat untuk mengkonfigurasi ISC BIND bernama (8) DNS. // server sebagai server nama caching saja (sebagai resolver DNS localhost saja). // // Lihat /usr/share/doc/bind*/sample/ sebagai contoh file konfigurasi bernama. // options { mendengarkan pada port 53 {127.0.0.1; 192.168.0.200; }; # Di sini kita perlu menambahkan IP Master DNS Server kita. mendengarkan-di-v6 port 53 { ::1; }; direktori "/var/bernama"; dump-file "/var/named/data/cache_dump.db"; statistik-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; 192.168.0.0/24; }; # rentang subnet tempat host saya diizinkan untuk menanyakan DNS kami. izinkan-transfer { localhost; 192.168.0.201; }; # Di sini kita perlu IP server DNS Slave kita. rekursi tidak; dnssec-aktifkan ya; validasi dnssec ya; dnssec-lookaside otomatis; /* Path ke ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dinamis"; }; logging { saluran default_debug { file "data/named.run"; dinamis keparahan; }; }; zona "." IN { ketik petunjuk; file "bernama.ca"; }; ## Tentukan file Zona maju & mundur kami di sini untuk tecmintlocal.com. daerah"tecmintlocal.com" DI DALAM { ketik tuan; berkas "tecmintlocal.fwd.zone"; izinkan-perbarui { tidak ada; }; }; daerah"0.168.192.in-addr.arpa" DI DALAM { ketik tuan; berkas "tecmintlocal.rev.zone"; izinkan-perbarui { tidak ada; }; }; ##### sertakan "/etc/named.rfc1912.zones"; sertakan "/etc/named.root.key";
Buat File Zona di DNS
Buat File Zona di DNS

Berikut adalah penjelasan dari masing-masing konfigurasi yang kami gunakan pada file di atas.

  1. port dengar 53 – Ini digunakan untuk DNS untuk mendengarkan di antarmuka yang tersedia.
  2. Master DNS – Tentukan, alamat IP DNS Master Anda untuk mendengarkan kueri.
  3. DNS budak – Tentukan DNS Slave Anda, yang digunakan untuk menyinkronkan informasi zona kami untuk menyelesaikan host dari Master.
  4. rekursi tidak – Jika disetel ke ya, kueri rekursif akan membuat server menjadi serangan DDOS.
  5. Nama Zona – Tentukan nama Zona Anda di sini didefinisikan sebagai tecminlocal.com.
  6. ketik master – Karena sistem ini dikonfigurasi untuk server master, untuk server budak yang akan datang ini akan menjadi budak.
  7. tecmintlocal.fwd.zone – File ini memiliki informasi host untuk zona ini.
  8. izinkan-perbarui tidak ada – Jika tidak ada yang akan disetel. itu tidak akan menggunakan DNS Dinamis (DDNS).

Membuat File Zona Master

Pada awalnya mari kita definisikan entri zona pencarian ke depan. Di sini kita perlu membuat file zona dengan nama yang telah kita definisikan di bernama.conf berkas seperti di bawah ini.

tecmintlocal.fwd.zone. tecmintlocal.rev.zone. 

Kami menggunakan file konfigurasi sampel untuk membuat file zona maju, untuk ini kami harus menyalin file konfigurasi sampel.

$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone. $ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone. 
Salin File Zona
Salin File Zona

Setelah Anda menyalin file konfigurasi, sekarang edit file zona ini menggunakan vim editor.

$ sudo vim /var/named/tecmintlocal.fwd.zone. 

Sebelum menentukan informasi host kami di file zona maju, lihat dulu file zona sampel.

File Zona Sampel
File Zona Sampel

Ini adalah konfigurasi zona maju saya, tambahkan entri di bawah ini dan buat perubahan sesuai kebutuhan Anda.

$TTL 86400. @ DI SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090401; seri 3600; menyegarkan 1800; coba lagi 604800; kedaluwarsa 86400); minimum; Nama server @ IN NS masterdns.tecmintlocal.com. @ DI NS slavedns.tecmintlocal.com.; Beri nama hostname server ke resolusi IP. @ DALAM 192.168.0.200. @ DALAM 192.168.0.201; Host di Domain ini @ IN A 192.168.0.210. @ DALAM 192.168.0.220. masterdns DI A 192.168.0.200. slavedns DI A 192.168.0.201. node1 DI A 192.168.0.210. rhel1 DALAM A 192.168.0.220. 

Simpan dan keluar dari file menggunakan wq!. Setelah di edit tampilan forward look up nya seperti di bawah ini, Use TAB untuk mendapatkan format yang layak dalam file zona.

Konfigurasikan Zona Maju
Konfigurasikan Zona Maju

Sekarang, buat file pencarian terbalik, kami telah membuat salinan file loop-back atas nama tecmintlocal.rev.zone. Jadi, kami menggunakan file ini untuk mengonfigurasi pencarian terbalik kami.

$ sudo vim /var/named/tecmintlocal.rev.zone. 

Sebelum menentukan informasi host kami di file zona terbalik, lihat sekilas contoh file pencarian terbalik seperti yang ditunjukkan di bawah ini.

Contoh Zona Pencarian Terbalik
Contoh Zona Pencarian Terbalik

Ini adalah konfigurasi zona terbalik saya, tambahkan entri di bawah ini dan buat perubahan sesuai kebutuhan Anda.

$TTL 86400. @ DI SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090402; seri 3600; menyegarkan 1800; coba lagi 604800; kedaluwarsa 86400); minimum; Nama server @ IN NS masterdns.tecmintlocal.com. @ DI NS slavedns.tecmintlocal.com. @ DI PTR tecmintlocal.com.; Beri nama hostname server ke resolusi IP. masterdns DI A 192.168.0.200. slavedns DI A 192.168.0.201 ;Host di Domain node1 DI A 192.168.0.210. rhel DALAM A 192.168.0.220. 200 DI PTR masterdns.tecmintlocal.com. 201 DI PTR slavedns.tecmintlocal.com. 210 DI PTR node1.tecmintlocal.com. 220 DI PTR rhel1.tecmintlocal.com. 

Simpan dan keluar dari file menggunakan wq!. Setelah mengedit reverse look-up, tampilannya seperti di bawah ini, Gunakan TAB untuk mendapatkan format yang layak dalam file zona.

Konfigurasikan Zona Pencarian Terbalik
Konfigurasikan Zona Pencarian Terbalik

Periksa kepemilikan grup file pencarian maju & pencarian balik, sebelum memeriksa kesalahan dalam konfigurasi.

$ sudo ls -l /var/named/

Di sini kita dapat melihat kedua file berada di akar kepemilikan pengguna, karena file yang kami salin dari file sampel tersedia di bawah /var/named/. Ubah grup menjadi bernama pada kedua file menggunakan perintah berikut.

$ sudo chgrp bernama /var/named/tecmintlocal.fwd.zone. $ sudo chgrp bernama /var/named/tecmintlocal.rev.zone. 

Setelah mengatur kepemilikan yang benar pada file, verifikasi lagi.

$ sudo ls -l /var/named/
Verifikasi File Zona
Verifikasi File Zona

Sekarang, periksa kesalahan dalam file zona, sebelum memulai layanan DNS. Cek dulu bernama.conf file, lalu periksa file zona lainnya.

$ sudo bernama-checkconf /etc/named.conf. $ sudo bernama-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.fwd.zone. $ sudo bernama-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.rev.zone. 
Periksa File Zona Kesalahan
Periksa File Zona Kesalahan

Secara default iptables berjalan dan server DNS kami dibatasi untuk localhost, jika klien ingin menyelesaikan nama dari Server DNS kita, maka kita harus mengizinkan permintaan masuk, untuk itu kita perlu menambahkan aturan masuk iptables untuk port 53.

$ sudo iptables -I INPUT -p udp --dport 53 -m state --state BARU -j ACCEPT. 

Sekarang, verifikasi bahwa aturan telah ditambahkan dengan benar di MEMASUKKAN rantai.

$ sudo iptables -L INPUT. 

Selanjutnya, simpan aturan dan mulai ulang firewall.

$ sudo layanan iptables simpan. $ sudo service iptables restart. 
Buka Port DNS di Firewall
Buka Port DNS di Firewall

Mulai layanan bernama dan buat itu persisten.

$ Sudo layanan bernama start. $ sudo chkconfig bernama on. $ sudo chkconfig --daftar bernama. 
Mulai Server DNS
Mulai Server DNS

Terakhir, uji file zona DNS Master yang dikonfigurasi (maju dan mundur), menggunakan menggali & mencari peralatan.

$ dig masterdns.tecmintlocal.com [Zona Maju]
Uji Teruskan Zona DNS
Uji Teruskan Zona DNS
$ gali -x 192.168.0.200. 
Uji Zona DNS Terbalik
Uji Zona DNS Terbalik
$nslookup tecmintlocal.com. $nslookup masterdns.tecmintlocal.com. $nslookup slavedns.tecmintlocal.com. 
Uji Zona DNS
Uji Zona DNS

Keren! kami telah mengonfigurasi Master DNS, sekarang kita perlu mengatur DNS budak Server. Mari kita maju untuk menyiapkan server budak, Ini tidak akan memakan banyak waktu sebagai pengaturan master.

Siapkan Server DNS Budak

Di mesin Slave, kita juga perlu menginstal paket bind yang sama seperti yang ditunjukkan pada Master, jadi mari kita instal menggunakan perintah berikut.

$ sudo yum install bind* -y. 
Instal DNS Bind di CentOS
Instal DNS Bind

Buka dan edit ‘bernama.conf' file untuk database zona dan port listening kami.

$ sudo vim /etc/named.conf. 

Buat perubahan seperti yang ditunjukkan, sesuai kebutuhan Anda.

// // bernama.conf. // // Disediakan oleh paket bind Red Hat untuk mengkonfigurasi ISC BIND bernama (8) DNS. // server sebagai server nama caching saja (sebagai resolver DNS localhost saja). // // Lihat /usr/share/doc/bind*/sample/ sebagai contoh file konfigurasi bernama. // options { mendengarkan pada port 53 {127.0.0.1; 192.168.0.201}; # Server Slave DNS IP kami mendengarkan port v6 53 { ::1; }; direktori "/var/bernama"; dump-file "/var/named/data/cache_dump.db"; statistik-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; izinkan-permintaan { localhost; 192.168.0.0/24; }; rekursi tidak; dnssec-aktifkan ya; validasi dnssec ya; dnssec-lookaside otomatis; /* Path ke ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dinamis"; }; logging { saluran default_debug { file "data/named.run"; dinamis keparahan; }; }; zona "." IN { ketik petunjuk; file "bernama.ca"; }; ## Tentukan zona maju dan mundur budak kami, file Zona direplikasi dari master. daerah"tecmintlocal.com" DI DALAM { jenis budak; berkas "slaves/tecmintlocal.fwd.zone"; tuan { 192.168.0.200; }; }; daerah"0.168.192.in-addr.arpa" DI DALAM { jenis budak; berkas "budak/tecmintlocal.rev.zone"; tuan { 192.168.0.200; }; }; ##### sertakan "/etc/named.rfc1912.zones"; sertakan "/etc/named.root.key";
Konfigurasi DNS Budak
Konfigurasi DNS Budak

Mulai layanan DNS menggunakan.

$ Sudo layanan bernama start. 

Setelah memulai ulang layanan bind, kita tidak perlu mendefinisikan informasi zona satu per satu, karena izinkan-transfer akan mereplikasi informasi zona dari server master seperti yang ditunjukkan pada gambar di bawah.

$ sudo ls -l /var/named/slaves. 

Verifikasi, informasi zona menggunakan perintah cat.

$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone. $ sudo cat /var/named/slaves/tecmintlocal.rev.zone. 
Verifikasi File Zona Budak
Verifikasi File Zona Budak

Selanjutnya, buka port DNS 53 pada iptables untuk memungkinkan koneksi masuk.

$ sudo iptables -I INPUT -p udp --dport 53 -m state --state BARU -j ACCEPT. 

Simpan aturan iptables dan mulai ulang layanan iptables.

$ sudo layanan iptables simpan. $ sudo service iptables restart. 

Jadikan layanan persisten pada boot sistem.

$ sudo chkconfig iptables aktif
Periksa apakah persisten disetel untuk run-level .
$ sudo chkconfig --list iptables. 
Buka Pelabuhan DNS
Buka Pelabuhan DNS

Itu dia!. Sekarang saatnya untuk mengkonfigurasi mesin klien kami dan memeriksa nama host.

Konfigurasikan Mesin Klien

Di sisi klien kita perlu menetapkan Primer (192.168.0.200) dan DNS Sekunder (192.168.0.201) entri dalam pengaturan jaringan untuk mendapatkan menetapkan nama host. Untuk melakukannya, jalankan perintah setup untuk menentukan semua entri ini seperti yang ditunjukkan pada gambar.

$ pengaturan. 
Tambahkan Entri DNS
Tambahkan Entri DNS

Jika tidak, edit '/etc/reslov.conf' dan tambahkan entri berikut.

$ vim /etc/resolv.conf. 
cari di tecmintlocal.com. server nama 192.168.0.200. server nama 192.168.0.201. 

Sekarang, verifikasi pencarian ip, nama host dan server nama.

$ ifconfig | grep inet. $ nama host. $nslookup tecmintlocal.com. 
Verifikasi Entri DNS
Verifikasi Entri DNS

Sekarang, periksa pencarian DNS maju & mundur menggunakan.

$ menggali masterdns.tecmintlocal.com. $ gali -x 192.168.0.200. 
Periksa Info DNS
Periksa Info DNS

Memahami Output penggalian:

  1. tajuk – Ini mengatakan semua yang kami minta dan bagaimana hasilnya.
  2. Status – Statusnya NO ERROR, artinya permintaan query yang kami kirimkan berhasil tanpa ERROR.
  3. Pertanyaan – Query yang kami buat, disini query saya adalah masterdns.tecmintlocal.com.
  4. Menjawab – Permintaan Query diselesaikan jika ada informasi yang tersedia.
  5. Otoritas – Respons server nama untuk domain dan zona.
  6. Tambahan – Info tambahan tentang server nama seperti nama host dan alamat IP.
  7. Waktu kueri – Berapa lama waktu yang dibutuhkan untuk menyelesaikan nama-nama dari server di atas.

Akhirnya periksa node kami dan buat ping.

$ gali node1.tecmintlocal.com. 
Periksa Info DNS Klien
Periksa Info DNS Klien
$ ping masterdns.tecmintlocal.com -c 2. $ ping slavedns.tecmintlocal.com -c 2. $ping 192.168.0.200 -c 2. $ping 192.168.0.201 -c 2. 
Ping DNS Server
Ping DNS Server

Akhirnya, pengaturan selesai, di sini kami telah mengonfigurasi server DNS Primer (Master) dan Slave (Seconday) berhasil, harap semua orang telah menyiapkan tanpa masalah apa pun, jangan ragu untuk memberikan komentar jika Anda menghadapi masalah apa pun saat pengaturan.

Teachs.ru