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.