GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur Resolver DNS Tidak Terikat di Ubuntu 20.04

Tidak terikat adalah server caching DNS gratis, sumber terbuka, rekursif, dan memvalidasi. Ini menggunakan DNS-over-TLS dan DNS-over-HTTPS untuk mengenkripsi koneksi antar klien. Dibandingkan dengan Bind9, Unbound lebih ringan dan sangat cepat. Server caching akan membantu Anda mengurangi waktu pemuatan situs web dengan menyimpan basis data cache di server Tidak Terikat. Hal ini juga mampu validasi DNSSEC dan dapat berfungsi sebagai jangkar kepercayaan.

Dalam posting ini, kami akan menunjukkan cara mengatur Resolver DNS Tidak Terikat di Ubuntu 20.04.

Prasyarat

  • Server Ubuntu 20.04 baru di Atlantic.Net Cloud Platform
  • Kata sandi root yang dikonfigurasi di server Anda

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 20.04 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Ubuntu 20.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

apt-get update -y

Langkah 2 – Instal Dependensi yang Diperlukan

Sebelum memulai, Anda perlu menginstal beberapa alat DNS dasar di sistem Anda. Anda dapat menginstal semuanya menggunakan perintah berikut:

apt-get install bind9-utils dnsutils net-tools -y

Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 3 – Instal dan Konfigurasi DNS Tidak Terikat

apt-get install unbound -y

Setelah menginstal DNS Tidak Terikat, Anda harus mengonfigurasinya. Secara default, file konfigurasi utama Unbound terletak di /etc/unbound/unbound.conf. Namun, disarankan untuk membuat file konfigurasi terpisah:

nano /etc/unbound/unbound.conf.d/myunbound.conf

Tambahkan baris berikut:

server:
port: 53
verbosity: 0
num-threads: 2
outgoing-range: 512
num-queries-per-thread: 1024
msg-cache-size: 32m
interface: 0.0.0.0
rrset-cache-size: 64m
cache-max-ttl: 86400
infra-host-ttl: 60
infra-lame-ttl: 120
access-control: 127.0.0.0/8 allow
access-control: 0.0.0.0/0 allow
username: unbound
directory: "/etc/unbound"
logfile: "/var/log/unbound.log"
use-syslog: no
hide-version: yes
so-rcvbuf: 4m
so-sndbuf: 4m
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
remote-control:
control-enable: yes
control-port: 953
control-interface: 0.0.0.0

Simpan dan tutup file, kemudian validasi file konfigurasi dengan perintah berikut:

unbound-checkconf /etc/unbound/unbound.conf.d/myunbound.conf

Anda akan mendapatkan output berikut:

unbound-checkconf: no errors in /etc/unbound/unbound.conf.d/myunbound.conf

Selanjutnya, buat file log untuk Tidak Terikat dan atur izin yang tepat:

touch /var/log/unbound.log
chown unbound:unbound /var/log/unbound.log

Langkah 4 – Mulai Layanan DNS Tidak Terikat

Pada titik ini, DNS Tidak Terikat diinstal dan dikonfigurasi. Sekarang, mulai ulang layanan Tidak Terikat dan aktifkan untuk memulai saat reboot sistem:

systemctl restart unbound
systemctl enable unbound

Anda juga dapat memverifikasi status Tidak Terikat dengan perintah berikut:

systemctl status unbound

Contoh keluaran:

● unbound.service - Unbound DNS server
     Loaded: loaded (/lib/systemd/system/unbound.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-08-15 06:30:33 UTC; 7s ago
       Docs: man:unbound(8)
    Process: 2788 ExecStartPre=/usr/lib/unbound/package-helper chroot_setup (code=exited, status=0/SUCCESS)
    Process: 2791 ExecStartPre=/usr/lib/unbound/package-helper root_trust_anchor_update (code=exited, status=0/SUCCESS)
   Main PID: 2804 (unbound)
      Tasks: 2 (limit: 2353)
     Memory: 4.8M
     CGroup: /system.slice/unbound.service
             └─2804 /usr/sbin/unbound -d

Aug 15 06:30:32 ubuntu2004 systemd[1]: Starting Unbound DNS server...
Aug 15 06:30:33 ubuntu2004 package-helper[2796]: /var/lib/unbound/root.key has content
Aug 15 06:30:33 ubuntu2004 package-helper[2796]: success: the anchor is ok
Aug 15 06:30:33 ubuntu2004 systemd[1]: Started Unbound DNS server.

Pada titik ini, layanan Tidak Terikat dimulai dan mendengarkan pada port 53. Anda dapat memeriksanya menggunakan perintah berikut:

ss -antpl | grep 53

Contoh keluaran:

LISTEN    0         256                0.0.0.0:53               0.0.0.0:*        users:(("unbound",pid=3407,fd=6))                                              
LISTEN    0         256                0.0.0.0:53               0.0.0.0:*        users:(("unbound",pid=3407,fd=4))                                              
LISTEN    0         4096         127.0.0.53%lo:53               0.0.0.0:*        users:(("systemd-resolve",pid=356,fd=13))                                      
LISTEN    0         256                0.0.0.0:953              0.0.0.0:*        users:(("unbound",pid=3407,fd=7))                                              

Langkah 5 – Uji DNS Tidak Terikat

Sekarang, Anda perlu menggunakan perintah dig dan melakukan beberapa kueri DNS untuk menguji server DNS Tidak Terikat.

Kami akan menggunakan ubuntu.com untuk pengujian.

dig ubuntu.com @localhost

Contoh keluaran:

; <<>> DiG 9.16.1-Ubuntu <<>> ubuntu.com @localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6037
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ubuntu.com.			IN	A

;; ANSWER SECTION:
ubuntu.com.		60	IN	A	91.189.88.181
ubuntu.com.		60	IN	A	91.189.88.180

;; Query time: 307 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Aug 15 06:32:18 UTC 2021
;; MSG SIZE  rcvd: 71

Seperti yang Anda lihat, waktu kueri adalah 307 msec di kueri pertama. Kueri Anda sekarang di-cache.

Selanjutnya, mari kita jalankan kueri yang sama lagi:

dig ubuntu.com @localhost

Contoh keluaran:

; <<>> DiG 9.16.1-Ubuntu <<>> ubuntu.com @localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37832
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ubuntu.com.			IN	A

;; ANSWER SECTION:
ubuntu.com.		49	IN	A	91.189.88.180
ubuntu.com.		49	IN	A	91.189.88.181

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Aug 15 06:33:36 UTC 2021
;; MSG SIZE  rcvd: 71

Seperti yang Anda lihat, waktu kueri adalah 0 mdtk.

Anda juga dapat menguji server DNS Tidak Terikat dari mesin klien. Dalam hal ini, Anda perlu menentukan IP server DNS Tidak Terikat Anda dengan kueri:

dig ubuntu.com @69.87.221.220

Contoh keluaran:

; <<>> DiG 9.9.5-3ubuntu0.4-Ubuntu <<>> ubuntu.com @69.87.221.220
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 28051
;; flags: qr rd ad; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; Query time: 365 msec
;; SERVER: 69.87.221.220#53(69.87.221.220)
;; WHEN: Sun Aug 15 12:04:37 IST 2021
;; MSG SIZE  rcvd: 12

Langkah 6 – Pemecahan Masalah Tidak Terikat

Jika Anda ingin memeriksa status DNS Tidak Terikat, jalankan perintah berikut:

unbound-control status

Contoh keluaran:

version: 1.9.4
verbosity: 0
threads: 2
modules: 3 [ subnet validator iterator ]
uptime: 65 seconds
options: reuseport control(ssl)
unbound (pid 3407) is running...

Jika Anda ingin mencadangkan Cache DNS ke file teks, jalankan perintah berikut:

unbound-control dump_cache > cache.txt

Anda dapat memverifikasi file cache.txt dengan perintah berikut:

cat cache.txt

Contoh keluaran:

START_RRSET_CACHE
END_RRSET_CACHE
START_MSG_CACHE
END_MSG_CACHE
EOF

Dalam beberapa kasus, server DNS Anda tidak dapat membalas permintaan Anda. Dalam hal ini, Anda dapat membersihkan cache DNS menggunakan perintah berikut:

unbound-control flush ubuntu.com

Kesimpulan

Dalam panduan di atas, kami menjelaskan cara menginstal dan menggunakan server caching DNS Tidak Terikat di Ubuntu 20.04. Kami juga melakukan beberapa pengujian menggunakan perintah dig untuk menanyakan DNS Tidak Terikat dan mendapatkan respons. Cobalah di VPS Anda dari Atlantic.Net hari ini!


Linux
  1. Cara Mengatur Penyelesai DNS Lokal menggunakan Dnsmasq di Ubuntu 20.04

  2. Bagaimana cara mengatur DNS resolver di Fedora menggunakan network-manager?

  3. Bagaimana cara mengatur $LD_LIBRARY_PATH di Ubuntu?

  1. Ubuntu – Bagaimana Cara Mengatur Ip Statis Di Ubuntu?

  2. Cara menginstal resolver DNS Tidak Terikat di Ubuntu 22.04

  3. Cara Mengatur Kunci SSH di Ubuntu 18.04

  1. Cara Menginstal Redis di Ubuntu 20.04 / 18.04

  2. Cara mengatur DNS Nameserver di Ubuntu 20.04

  3. Cara Mengatur Raspberry Pi Sebagai Server DNS