Server DNS dapat dikonfigurasi untuk bertindak sebagai master atau budak untuk melayani permintaan DNS. Saat DNS dikonfigurasi sebagai budak, ia mendapatkan salinan data zona dari master dengan menggunakan metode transfer zona dan menyimpannya dalam cache selama periode tertentu untuk melayani kueri DNS.
Lingkungan
itzgeek.local | ||
---|---|---|
ns1.itzgeek.local | 192.168.0.10 | Server DNS Utama |
ns2.itzgeek.local | 192.168.0.20 | Server DNS Budak. Menangani permintaan DNS saat server master mati |
ns1.itzgeek.local sudah dikonfigurasi sebagai master untuk domain itzgeek.local.
BACA :Konfigurasi Server DNS Di Ubuntu 18.04 / Ubuntu 16.04
BACA :Konfigurasi Server DNS Di Debian 10 / Debian 9
Sekarang kita akan mengkonfigurasi ns2.itzgeek.local sebagai server DNS budak untuk domain itzgeek.local.
Konfigurasi Server Master
Kami perlu mengonfigurasi BIND di server master (ns1.itzgeek.local) untuk mengaktifkan transfer zona ke server sekunder kami (ns2.itzgeek.local).
Edit file /etc/named.conf.local di ns1.itzgeek.local.
sudo nano /etc/bind/named.conf.local
Anda perlu memperbarui zona yang ada yang kami buat untuk itzgeek.local dengan parameter allow-transfer dan also-notify.
Allow-transfer akan memungkinkan Anda mentransfer zona dari master ke server slave dan juga-notify membantu kami untuk memberi tahu server slave bila ada perubahan zona di server master.
Zona Maju
zone "itzgeek.local" IN { // Domain name type master; // Primary DNS file "/etc/bind/forward.itzgeek.local.db"; // Forward lookup file allow-transfer { 192.168.0.20; }; //Allow Transfer of zone from the master server also-notify { 192.168.0.20; }; //Notify slave for zone changes };
Zona Terbalik
zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order type master; // Primary DNS file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file allow-transfer { 192.168.0.20; }; //Allow Transfer of zone from the master server also-notify { 192.168.0.20; }; //Notify slave for zone changes };
Mulai ulang layanan DNS di ns1.itzgeek.local.
sudo systemctl restart bind9
Konfigurasi Server Budak
Pastikan Anda menginstal paket-paket berikut di server slave.
sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils
Ini adalah waktu untuk menambahkan deklarasi zona budak pada server budak (ns2.itzgeek.local). Edit file /etc/bind/named.conf.local.
sudo nano /etc/bind/named.conf.local
Zona Maju
Tambahkan zona budak seperti di bawah ini.
zone "itzgeek.local" IN { //Domain name type slave; //Secondary Slave DNS file "/var/cache/bind/forward.itzgeek.local.db"; //Forward Zone Cache file masters { 192.168.0.10; }; //Master Server IP };
Zona Terbalik
Tambahkan zona budak seperti di bawah ini.
zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name. Should match your network in reverse order type slave; // Secondary/Slave DNS file "/var/cache/bind/reverse.itzgeek.local.db"; //Reverse Zone Cache file masters { 192.168.0.10; }; //Master Server IP };
Mulai ulang layanan DNS di ns2.itzgeek.local
sudo systemctl restart bind9
Tunggu beberapa menit, dan Anda akan mulai melihat sesuatu seperti di bawah ini di file /var/log/syslog.
Jan 4 23:18:49 ns2 named[2637]: zone itzgeek.local/IN: Transfer started. Jan 4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: connected using 192.168.0.20#54333 Jan 4 23:18:49 ns2 named[2637]: zone itzgeek.local/IN: transferred serial 3 Jan 4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: Transfer status: success Jan 4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: Transfer completed: 1 messages, 8 records, 228 bytes, 0.004 secs (57000 bytes/sec) Jan 4 23:18:49 ns2 named[2637]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted Jan 4 23:18:49 ns2 named[2637]: resolver priming query complete Jan 4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: Transfer started. Jan 4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: connected using 192.168.0.20#55105 Jan 4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: transferred serial 3 Jan 4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: Transfer status: success Jan 4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: Transfer completed: 1 messages, 6 records, 210 bytes, 0.007 secs (30000 bytes/sec) Jan 4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 3)
Pembaruan Data DNS
Saat memodifikasi catatan zona mana pun di server master, pastikan Anda memperbarui nomor seri ke beberapa nomor acak, lebih tinggi dari saat ini. Juga, jalankan perintah berikut di server master untuk memuat ulang zona sehingga zona budak mendapatkan catatan yang diperbarui.Ubah itzgeek.local &0.168.192.in-addr.arpa dengan nama zona Anda.
### Forward Zone ### sudo rndc reload itzgeek.local ### Reverse Zone ### sudo rndc reload 0.168.192.in-addr.arpa
Verifikasi Server DNS Budak
Pada mesin klien, tambahkan Alamat IP server DNS budak di file /etc/resolv.conf.
sudo nano /etc/resolv.conf
Tambahkan entri DNS tambahan seperti di bawah ini bersama dengan entri yang ada.
nameserver 192.168.0.20
ATAU
Baca tutorial di bawah ini untuk mengatur IP server DNS di Linux.
BACA: Cara Mengatur alamat IP DNS di CentOS / Fedora
BACA: Cara Mengatur alamat IP DNS di Ubuntu / Debian – ifupdown
BACA: Cara Mengatur Alamat IP DNS di Ubuntu 18.04 – Netplan
Anda dapat menggunakan perintah nslookup atau dig untuk memverifikasi server DNS.
Gunakan perintah dig untuk memverifikasi pencarian ke depan bersama dengan @Verifikasi pencarian untuk www.itzgeek.local menggunakan ns2.itzgeek.local (192.168.0.20)
dig www.itzgeek.local @192.168.0.20
Keluaran:
; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> www.itzgeek.local @192.168.0.20 ;; global options: +cmd ;; Got answer: ;; WARNING: .local is reserved for Multicast DNS ;; You are currently testing what happens when an mDNS query is leaked to DNS ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29076 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 0ff4fbeabbfe6d45cf28f0e85e11725b14943fb073203e78 (good) ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 604800 IN A 192.168.0.100 ;; AUTHORITY SECTION: itzgeek.local. 604800 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 604800 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.20#53(192.168.0.20) ;; WHEN: Sun Jan 05 10:51:26 IST 2020 ;; MSG SIZE rcvd: 124
Sekarang, Anda dapat melihat bahwa server budak menjawab pertanyaan DNS.
Kesimpulan
Itu saja. Anda telah berhasil mengonfigurasi Server DNS Slave Di Ubuntu 18.04 / Ubuntu 16.04 &Debian 10 / Debian 9. Silakan bagikan tanggapan Anda di bagian komentar.