Domain Name System (DNS) adalah sistem penamaan terdistribusi hierarkis untuk komputer, layanan, atau sumber daya apa pun yang terhubung ke internet atau jaringan pribadi. Ini mengaitkan berbagai informasi dengan nama domain yang ditetapkan untuk masing-masing entitas yang berpartisipasi.
Yang terpenting, ini menerjemahkan nama domain yang berarti bagi manusia ke dalam pengenal numerik yang terkait dengan peralatan jaringan untuk tujuan menemukan dan menangani perangkat ini di seluruh dunia.
Panduan ini akan membantu Anda mengatur server DNS di CentOS 8 / RHEL 8.
Asumsi
Nama Inang: ns1.itzgeek.local
Alamat IP: 192.168.0.10
Instal Server DNS
 BIND adalah singkatan dari Berkeley Internet Name Domain, sebuah perangkat lunak yang menyediakan kemampuan untuk melakukan konversi nama ke ip.
yum -y install bind bind-utils
Konfigurasi Server DNS
 File konfigurasi utama BIND adalah /etc/named.conf. Kami akan menggunakan file ini untuk mengkonfigurasi server DNS dan menentukan zona DNS.
Secara default, BIND mendengarkan di localhost. Jadi, kami akan mengonfigurasi server DNS untuk mendengarkan semua antarmuka jaringan atau antarmuka tertentu.
Edit file /etc/named.conf.
vi /etc/named.conf
Komentari baris berikut. Ini akan memungkinkan BIND untuk mendengarkan antarmuka jaringan sistem selain dari localhost.
Dengarkan semua alamat IP:
//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; }; Dengarkan alamat IP tertentu:
listen-on port 53 { 127.0.0.1; 192.168.0.10; }; Tambahkan jaringan Anda di baris berikut. Saya telah menambahkan 192.168.0.0/24 untuk mengizinkan klien dari jaringan 192.168.0.0/24 untuk menanyakan server DNS untuk terjemahan nama ke ip.
allow-query     { localhost;192.168.0.0/24; }; Buat Zona
Edit file /etc/named.conf.
vi /etc/named.conf
Zona Maju
Berikut ini adalah entri zona maju dalam file bernama.conf, yang ditulis untuk domain itzgeek.local.
zone "itzgeek.local" IN { // Domain Name
           
           type master;  // Master DNS Server
           file "itzgeek.local.db";  // Zone File (/var/named/)
           allow-update { none; };  // Since master DNS, it is none
}; itzgeek.local –  Nama domain 
master –  DNS Utama 
itzgeek.local.db –  Teruskan file pencarian 
izinkan pembaruan –  Karena ini adalah DNS master, seharusnya tidak ada 
Zona Terbalik
Berikut ini adalah entri zona terbalik di file bernama.conf.
zone "0.168.192.in-addr.arpa" IN { // Reverse Zone Name, should match with network in reverse order
             
             type master;  // Master DNS Server
             
             file "192.168.0.db";  // Zone File (/var/named/) 
             
             allow-update { none; }; // Since master DNS, it is none
 
}; 0.168.192.in-addr.arpa –  Nama pencarian terbalik 
master –  DNS Utama 
192.168.0.db –  Berkas pencarian terbalik 
izinkan pembaruan –  Karena ini adalah DNS master, seharusnya tidak ada 
Buat file zona
Sekarang, saatnya membuat file pencarian untuk zona yang dibuat. Secara default, file pencarian zona ditempatkan di bawah direktori /var/named. Buat file zona bernama itzgeek.local.db untuk pencarian ke depan di bawah direktori /var/named.
Semua nama domain harus diakhiri dengan titik (.).
Zona Maju
Ada beberapa kata kunci khusus untuk File Zona
Buat file.
vi /var/named/itzgeek.local.db
A –  Catatan 
NS –  Server Nama 
MX –  Email untuk Pertukaran 
CNAME –  Nama Kanonik 
$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                              3           ;Serial
                                              3600        ;Refresh
                                              1800        ;Retry
                                              604800      ;Expire
                                              86400       ;Minimum TTL
)
;Name Server Information
@       IN  NS      ns1.itzgeek.local.
;IP address of Name Server
ns1       IN  A       192.168.0.10
;Mail exchanger
itzgeek.local. IN  MX 10   mail.itzgeek.local.
;A - Record HostName To Ip Address
www     IN  A       192.168.0.100
mail    IN  A       192.168.0.150
;CNAME record
ftp     IN CNAME        www.itgeek.local. Setiap kali Anda memperbarui file zona untuk pembaruan catatan DNS, jangan lupa untuk menambah serial.
Zona Terbalik
Buat file zona bernama 192.168.0.db untuk zona terbalik di bawah direktori /var/named, buat penunjuk balik ke entri zona maju di atas.
vi /var/named/192.168.0.db
PTR –  Penunjuk 
SOA –  Awal Otoritas 
$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                       3           ;Serial
                                       3600        ;Refresh
                                       1800        ;Retry
                                       604800      ;Expire
                                       86400       ;Minimum TTL
)
;Name Server Information
@         IN      NS         ns1.itzgeek.local.
;Reverse lookup for Name Server
10        IN  PTR     ns1.itzgeek.local.
;PTR Record IP address to HostName
100      IN  PTR     www.itzgeek.local.
150      IN  PTR     mail.itzgeek.local. Setiap kali Anda memperbarui file zona untuk pembaruan catatan DNS, jangan lupa untuk menambah serial.
Validasi Konfigurasi Server DNS
Gunakan perintah bernama-checkconf untuk memvalidasi file konfigurasi.
named-checkconf /etc/named.conf
Jika Anda tidak melihat kesalahan apa pun, maka Anda siap melakukannya.
Validasi file zona maju yang telah Anda buat dengan perintah di bawah ini.
named-checkzone itzgeek.local /var/named/itzgeek.local.db
itzgeek.local – Nama Domain
/var/named/itzgeek.local.db – Jalur ke file zona
Keluaran:
zone itzgeek.local/IN: loaded serial 3 OKNomor seri yang disebutkan dalam output harus sesuai dengan nomor seri di file zona.
Lakukan hal yang sama untuk zona terbalik juga.
named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.db
Keluaran:
zone 0.168.192.in-addr.arpa/IN: loaded serial 3 OK
Mulai Layanan DNS
Setelah Anda memvalidasi konfigurasi DNS, mulai ulang layanan bind.
systemctl restart named
Aktifkan saat startup sistem.
systemctl enable named
Pembaruan Data DNS
Setiap kali Anda mengubah catatan DNS, jangan lupa untuk mengubah nomor seri di file zona dan memuat ulang zona tersebut.
Ubah itzgeek.local &0.168.192.in-addr.arpa dengan nama zona Anda.
### Forward Zone ### rndc reload itzgeek.local ### Reverse Zone ### rndc reload 0.168.192.in-addr.arpa
Firewall
Tambahkan aturan firewall untuk mengizinkan kueri DNS dari mesin klien.
firewall-cmd --permanent --add-port=53/udp firewall-cmd --reload
Verifikasi Server DNS
Kunjungi mesin klien mana pun dan tambahkan alamat ip server DNS di /etc/resolv.conf jika Manajer Jaringan tidak mengelola jaringan.
nameserver 192.168.0.10
Jika Network Manager mengelola jaringan, maka tempatkan entri berikut di file /etc/sysconfig/network-scripts/ifcfg-eXX.
DNS1=192.168.0.10
Mulai ulang layanan jaringan.
service network restart OR systemctl restart NetworkManager
Gunakan perintah berikut untuk memverifikasi pencarian ke depan, di mana server DNS memberikan 192.168.0.100 sebagai ip untuk www.itzgeek.local .
dig www.itzgeek.local
Keluaran:
; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> www.itzgeek.local ;; 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: 42679 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 99d94df91828bc8e957709ec5e13f9cd0c242970a9488a91 (good) ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 86400 IN A 192.168.0.100 ;; AUTHORITY SECTION: itzgeek.local. 86400 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 86400 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.10#53(192.168.0.10) ;; WHEN: Tue Jan 07 08:53:56 IST 2020 ;; MSG SIZE rcvd: 124Instal paket bind-utils untuk mendapatkan perintah nslookup atau Dig.
Konfirmasi pencarian terbalik, di mana server DNS memberikan www.itzgeek.local sebagai nama untuk 192.168.0.100 . Sekarang dikonfirmasi bahwa pencarian maju dan mundur berfungsi dengan baik.
dig -x 192.168.0.100
Keluaran:
; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> -x 192.168.0.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43305 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: d36aa24edb88f8951b3fbf8c5e13fa2cbf0e3ed754a00eee (good) ;; QUESTION SECTION: ;100.0.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 100.0.168.192.in-addr.arpa. 86400 IN PTR www.itzgeek.local. ;; AUTHORITY SECTION: 0.168.192.in-addr.arpa. 86400 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 86400 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.10#53(192.168.0.10) ;; WHEN: Tue Jan 07 08:55:30 IST 2020 ;; MSG SIZE rcvd: 148
Kesimpulan
Itu saja. Anda telah berhasil menginstal BIND pada CentOS 8 / RHEL 8 sebagai server master. Pada artikel berikutnya, kita akan melihat cara mengkonfigurasi server DNS budak di CentOS 8 / RHEL 8.