Setup Server DNS Caching-Only menggunakan BIND9 di Ubuntu 20.04

Dalam tutorial ini, kita akan membahas cara menginstal dan mengatur server DNS caching-only menggunakan BIND9 di Ubuntu 20.04. Berkeley Internet Name Domain (BIND 9) adalah software server nama serbaguna, klasik dan lengkap yang mengimplementasikan server Internet nama domain. Ini adalah perangkat lunak server nama yang paling banyak digunakan di Internet. DNS di tangan mengacu pada sistem penamaan terdistribusi yang memetakan nama host ke alamat IP masing-masing. Hal ini memungkinkan user akhir untuk merujuk ke sistem dengan nama host mereka daripada IP yang dapat berubah dari waktu ke waktu tergantung pada apakah IP statis atau dinamis.

Setup Server DNS Caching-Only menggunakan BIND9 di Ubuntu 20.04

Ada peran yang berbeda di mana setiap server DNS dapat dikonfigurasi ke server. Dalam panduan ini, kita akan melihat cara mengatur server DNS caching saja menggunakan Bind9 di Ubuntu 20.04. Sebanyak semua server DNS dapat men-cache kueri DNS, peran utama dan satu-satunya dari server DNS caching adalah untuk men-cache kueri DNS. Ini tidak memiliki informasi data zona dan dengan demikian tidak melayani keluar zona.

Pengaturan server DNS caching-only menggunakan BIND tidak memerlukan pengalaman tingkat ahli, bahkan seorang pemula dapat menanganinya, :).

Jalankan Pembaruan Sistem

Untuk memulai, pastikan repo paket sistem Anda mutakhir.

apt update

Instal BIND9 di Ubuntu 20.04

Selanjutnya, instal Bind9 dan utilitas BIND/DNS lainnya di Ubuntu 20.04;

apt install bind9 bind9utils -y

Alat ini menginstal daemon server nama, named, alat administrasi Bind, rndcdan utilitas debugging, dig.

Setup Server DNS Caching-Only menggunakan BIND9 di Ubuntu 20.04

Setelah paket Bind9 dan utilitas DNS lainnya diinstal, lanjutkan ke pengaturan server DNS caching-only. /etc/bind/named.confadalah file konfigurasi utama untuk server DNS BIND bernama. Secara default, seperti inilah tampilan file konfigurasi ini, setidaknya pada Ubuntu 20.04;

less /etc/bind/named.conf
// This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones";

Dari file di atas;

  • baris komentar dimulai dengan garis miring ganda, //. #juga diterima untuk komentar.
  • pernyataan include digunakan untuk menyertakan file konfigurasi bernama lainnya.
  • Semua pernyataan harus diakhiri dengan titik koma, ;.

Mendefinisikan opsi konfigurasi global Bind

The  options pernyataan digunakan untuk menentukan pilihan konfigurasi global bernama, default set untuk laporan lainnya, tentukan lokasi  named direktori kerja, jenis query diperbolehkan dll

Sesuai konfigurasi ini, di Ubuntu 20.04, semua opsi Bind disimpan di bawah /etc/bind/named.conf.optionsfile konfigurasi.

Buat cadangan file konfigurasi opsi default.

cp /etc/bind/named.conf.options{,.bak}

Selanjutnya, buka file konfigurasi opsi untuk diedit;

vim /etc/bind/named.conf.options
Konfigurasikan Daftar Kontrol Akses

Untuk memulainya, konfigurasikan daftar kontrol akses server DNS. Ini dapat dilakukan dengan menggunakan aclpernyataan.

// DNS Server ACL acl "allowed" { 192.168.57.0/24; };

Itu acl pernyataan mendefinisikan kelompok host yang dapat diizinkan atau ditolak akses ke server nama. Pada kasus ini,allowedadalah nama daftar kontrol akses tentu saja 192.168.57.0/24adalah jaringan yang akan diizinkan untuk menggunakan server DNS kami.

Tentukan opsi konfigurasi server global

Opsi konfigurasi global server DNS BIND ditentukan di bawah optionspernyataan.

... options { directory "/var/cache/bind"; recursion yes; allow-recursion { localhost; allowed; }; listen-on port 53 { localhost; 192.168.57.6; }; allow-query { localhost; allowed; }; allow-transfer { none; }; dnssec-validation auto; listen-on-v6 { any; }; };

Di mana:

  • recursion – Menentukan apakah akan bertindak sebagai server rekursif.
  • allow-recursion – Mendefinisikan host untuk mengizinkan kueri rekursif.
  • listen-on – Menentukan  IPv4 interface jaringan untuk mendengarkan kueri.
  • allow-query – Menentukan host mana yang diizinkan untuk menanyakan server nama untuk catatan sumber daya otoritatif.
  • allow-transfer – Menentukan server sekunder mana yang diizinkan untuk meminta transfer informasi zona. 
  • dnssec-validation – Menentukan apakah akan membuktikan bahwa catatan sumber daya adalah otentik melalui DNSSEC. Opsi default adalah  yes.
  • listen-on-v6 – Menentukan  IPv6 interface jaringan untuk mendengarkan kueri.

Untuk server DNS dasar caching saja, berikut /etc/bind/named.conf.optionstampilannya;

acl "allowed" { 192.168.57.0/24; }; options { directory "/var/cache/bind"; recursion yes; allow-recursion { localhost; allowed; }; listen-on port 53 { localhost; 192.168.57.6; }; allow-query { localhost; allowed; }; allow-transfer { none; }; dnssec-validation auto; listen-on-v6 { none; }; };

Memeriksa Sintaks Konfigurasi Bind

named-checkconf adalah utilitas yang dapat digunakan untuk memeriksa error sintaks konfigurasi Bind/named.

Anda cukup menjalankan named-checkconf. Namun, Anda juga dapat meneruskan jalur ke file konfigurasi sebagai argumen perintah.

named-checkconf

atau sederhana;

named-checkconf /etc/bind/named.conf

Jika ada error sintaks dalam file konfigurasi, perintah akan menampilkan baris yang terpengaruh dan error spesifik. Di bawah ini adalah contoh;

/etc/bind/named.conf.options:10: missing ';' before 'allow-query'

Buka Port DNS di Firewall

Jika UFW sedang berjalan, jalankan perintah di bawah ini untuk mengizinkan permintaan DNS dari jaringan LAN spesifik Anda, 192.168.57.0/24 dalam kasus kami.

ufw allow from 192.168.57.0/24 to 192.168.57.6 port 53 proto udp
ufw status numbered
[ 2] 192.168.57.6 53/udp ALLOW IN 192.168.57.0/24

Mengontrol Layanan Bind

Anda dapat memulai, menghentikan, memulai kembali, mereload service bernama Bind DNS menggunakan namedfile unit systemd -nya. Misalnya, untuk memulai dan mengaktifkannya untuk berjalan pada boot sistem,

systemctl enable --now named

Untuk memeriksa statusnya;

systemctl status named
● named.service - BIND Domain Name Server Loaded: loaded (/lib/systemd/system/named.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-10-05 20:11:40 UTC; 43s ago Docs: man:named(8) Main PID: 17452 (named) Tasks: 8 (limit: 2282) Memory: 17.8M CGroup: /system.slice/named.service └─17452 /usr/sbin/named -f -u bind Oct 05 20:11:40 ubuntu20 named[17452]:...

Anda juga dapat memeriksa port DNS;

netstat -alunp | grep 53

Menguji Resolusi DNS BIND

Pada sistem client, konfigurasikan IP server DNS ke IP server DNS caching saja. Dalam contoh pengaturan ini, kami menggunakan CentOS 8 sebagai client DNS kami;

Jadi, temukan nama koneksi yang aktif;

nmcli -t --fields NAME con show --active
Wired connection 1

Berdasarkan koneksi yang aktif saat ini, temukan set alamat IP server DNS;

nmcli --fields ip4.dns con show 'Wired connection 1'

Kemudian Anda dapat mengatur atau mengubah alamat IP server DNS;

nmcli con mod 'Wired connection 1' ipv4.dns 192.168.57.6

Atau Anda dapat menambahkan IP server DNS sebagai gantinya;

nmcli con mod 'Wired connection 1' +ipv4.dns 192.168.57.6

Reload interface;

nmcli con down 'Wired connection 1'
nmcli con up 'Wired connection 1'

Sekarang periksa IP server DNS;

nmcli --fields ip4.dns con show 'Wired connection 1'
IP4.DNS[1]: 192.168.57.6

Periksa juga apakah file /etc/resolv.conf diperbarui dengan IP yang sama.

Verifikasi resolusi DNS (Dengan asumsi Anda sudah menginstal paket bind-utils);

dig google.com
; <<>> DiG 9.11.13-RedHat-9.11.13-6.el8_2.1 <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54634 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 064887612bf0e630010000005f7b8519e3b270a5437d1619 (good) ;; QUESTION SECTION: ;google.com.			IN	A ;; ANSWER SECTION: google.com.		90	IN	A	216.58.223.110 ;; Query time: 1 msec ;; SERVER: 192.168.57.6#53(192.168.57.6) ;; WHEN: Mon Oct 05 23:41:59 EAT 2020 ;; MSG SIZE rcvd: 83
nslookup google.com
Server:		192.168.57.6 Address:	192.168.57.6#53 Non-authoritative answer: Name:	google.com Address: 216.58.223.110 Name:	google.com Address: 2a00:1450:401a:805::200e

Dan itu cukup merangkum panduan kami tentang cara menginstal dan mengatur server DNS caching-only menggunakan BIND9 di Ubuntu 20.04. Menikmati.

Tutorial Terkait Lainnya

Konfigurasikan BIND sebagai Server DNS di Ubuntu 18.04

Cara Mengatur Server DNS Master-Slave menggunakan BIND di CentOS 7

Konfigurasikan BIND DNS Server menggunakan Webmin di CentOS 8

Setup Bind DNS Menggunakan Webmin di Debian 10