GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Penyelesai DNS Lokal menggunakan Dnsmasq di Ubuntu 20.04

Dnsmasq adalah singkatan dari "kependekan dari DNS masquerade" adalah forwarder DNS sederhana, ringan dan mudah digunakan yang digunakan untuk jaringan kecil. Itu dapat dikonfigurasi sebagai cache DNS dan server DHCP dan mendukung protokol IPv4 dan IPv6. Saat menerima permintaan DNS apa pun, itu akan menjawabnya dari cache atau meneruskan ke server DNS yang berbeda.

Dnsmasq dibuat dari tiga subsistem:

  • Subsistem DNS : Ini digunakan untuk menyimpan berbagai jenis catatan termasuk, A, AAAA, CNAME, dan PTR.
  • Subsistem DHCP : Mendukung DHCPv4, DHCPv6, BOOTP dan PXE
  • Subsistem Iklan Router : Ini menyediakan konfigurasi otomatis dasar untuk host IPv6. Ini dapat digunakan sendiri atau bersama dengan DHCPv6.

Dalam tutorial ini, kami akan menunjukkan cara menyiapkan server DNS lokal dengan Dnsmasq di server Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Sandi root dikonfigurasi untuk server.

Memulai

Pertama, disarankan untuk memperbarui paket sistem Anda ke versi terbaru. Anda dapat memperbarui semua paket dengan menjalankan perintah berikut:

apt-get update -y

Setelah memperbarui semua paket, Anda harus menonaktifkan layanan yang diselesaikan Systemd di sistem Anda. Layanan yang diselesaikan dengan sistem digunakan untuk resolusi nama jaringan ke aplikasi lokal.

Anda dapat menonaktifkannya dengan menjalankan perintah berikut:

systemctl disable --now systemd-resolved

Setelah layanan dinonaktifkan, Anda harus menghapus file resolv.conf default dan membuat yang baru dengan detail server DNS kustom Anda.

Anda dapat menghapus file resolv.conf default dengan perintah berikut:

rm -rf /etc/resolv.conf

Selanjutnya, tambahkan server DNS Google ke file resolv.conf dengan perintah berikut:

echo "nameserver 8.8.8.8" > /etc/resolv.conf

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal Dnsmasq

Secara default, Dnsmasq tersedia di repositori default Ubuntu 20.04. Anda dapat menginstalnya hanya dengan menjalankan perintah berikut:

apt-get install dnsmasq dnsutils ldnsutils -y

Setelah instalasi selesai, layanan Dnsmasq akan dimulai secara otomatis. Anda dapat memeriksa status Dnsmasq dengan perintah berikut:

systemctl status dnsmasq

Anda akan mendapatkan output berikut:

dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
     Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-11-02 11:02:01 UTC; 15s ago
   Main PID: 17726 (dnsmasq)
      Tasks: 1 (limit: 2282)
     Memory: 868.0K
     CGroup: /system.slice/dnsmasq.service
             ??17726 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service --trust-anchor=.,20326,8,2,e>

Nov 02 11:02:12 ubuntu2004 systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server...
Nov 02 11:02:12 ubuntu2004 dnsmasq[17705]: dnsmasq: syntax check OK.
Nov 02 11:02:12 ubuntu2004 dnsmasq[17726]: started, version 2.80 cachesize 150
Nov 02 11:02:12 ubuntu2004 dnsmasq[17726]: DNS service limited to local subnets
Nov 02 11:02:12 ubuntu2004 dnsmasq[17726]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfi>
Nov 02 11:02:12 ubuntu2004 dnsmasq[17726]: reading /etc/resolv.conf
Nov 02 11:02:12 ubuntu2004 dnsmasq[17726]: using nameserver 8.8.8.8#53
Nov 02 11:02:12 ubuntu2004 dnsmasq[17726]: read /etc/hosts - 7 addresses
Nov 02 11:02:12 ubuntu2004 systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server.

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Dnsmasq

Selanjutnya, Anda perlu mengkonfigurasi Dnsmasq sebagai server DNS lokal. Anda dapat melakukannya dengan mengedit file konfigurasi utama Dnsmasq:

nano /etc/dnsmasq.conf

Ubah baris berikut:

port=53
domain-needed
bogus-priv
listen-address=127.0.0.1,your-server-ip
expand-hosts
domain=dns-example.com
cache-size=1000

Simpan dan tutup file setelah Anda selesai.

Selanjutnya, Anda perlu menambahkan alamat ip server Anda sebagai server nama utama di file resolv.conf Anda. Anda dapat menambahkannya dengan perintah berikut:

nano /etc/resolv.conf

Tambahkan baris berikut di atas baris "nameserver 8.8.8.8":

nameserver your-server-ip

Simpan dan tutup file setelah Anda selesai. Selanjutnya, verifikasi server untuk kesalahan konfigurasi dengan perintah berikut:

dnsmasq --test

Jika semuanya baik-baik saja, Anda akan mendapatkan output berikut:

dnsmasq: syntax check OK.

Terakhir, restart layanan Dnsmasq untuk menerapkan perubahan:

systemctl restart dnsmasq

Pada titik ini, Dnsmasq dimulai dan mendengarkan pada port 53. Anda dapat memverifikasinya dengan perintah berikut:

ss -alnp | grep -i :53

Anda akan mendapatkan output berikut:

udp     UNCONN   0        0                                             0.0.0.0:53                                                0.0.0.0:*                      users:(("dnsmasq",pid=41051,fd=4))                                             
udp     UNCONN   0        0                                                [::]:53                                                   [::]:*                      users:(("dnsmasq",pid=41051,fd=6))                                             
tcp     LISTEN   0        32                                            0.0.0.0:53                                                0.0.0.0:*                      users:(("dnsmasq",pid=41051,fd=5))                                             
tcp     LISTEN   0        32                                               [::]:53                                                   [::]:*                      users:(("dnsmasq",pid=41051,fd=7))                                             

Tambahkan Data DNS ke Server Dnsmasq

Selanjutnya, Anda perlu mengedit file /etc/hosts Anda dan menambahkan entri server DNS lokal.

nano /etc/hosts

Tambahkan baris berikut:

your-server-ip host1.dns-example.com

Simpan dan tutup file setelah Anda selesai.

Verifikasi Resolusi Server Dnsmasq

Pada titik ini, Dnsmasq diinstal dan dikonfigurasi. Tidak, saatnya memverifikasi resolusi DNS.

Anda dapat menggunakan perintah dig untuk memeriksa resolusi DNS seperti yang ditunjukkan di bawah ini:

dig host1.dns-example.com +short

Jika semuanya baik-baik saja, Anda akan melihat ip server Anda di output berikut:

your-server-ip

Anda juga dapat memverifikasi resolusi DNS eksternal dengan perintah berikut:

dig howtoforge.com +short

Anda akan mendapatkan output berikut:

172.67.68.93
104.26.3.165
104.26.2.165

Konfigurasikan Klien Jarak Jauh untuk Menggunakan Server DNS Dnsmasq

Selanjutnya, Anda perlu mengonfigurasi klien jarak jauh untuk menggunakan server DNS DNS Anda sebagai server DNS default.

Pertama, instal alat DNS dengan perintah berikut:

apt-get install dnsutils ldnsutils -y

Setelah terinstal, Anda perlu mengedit file /etc/resolv.conf dan entri server DNS Dnsmasq Anda.

nano /etc/resolv.conf

Tambahkan baris berikut di awal file:

nameserver your-server-ip

Simpan dan tutup file setelah Anda selesai.

Selanjutnya, verifikasi resolusi DNS lokal dengan perintah berikut:

dig host1.dns-example.com

Anda akan melihat output berikut:

; DiG 9.9.5-3ubuntu0.4-Ubuntu host1.dns-example.com
;; global options: +cmd
;; Got answer:
;; HEADER opcode: QUERY, status: NOERROR, id: 26401
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;host1.dns-example.com.		IN	A

;; ANSWER SECTION:
host1.dns-example.com.	0	IN	A	45.58.32.165

;; Query time: 301 msec
;; SERVER: 45.58.32.165#53(45.58.32.165)
;; WHEN: Mon Nov 02 16:49:37 IST 2020
;; MSG SIZE  rcvd: 66

Selanjutnya, Anda perlu memverifikasi server DNS Anda untuk caching. Anda dapat memeriksanya menggunakan utilitas bor.

Pertama, jalankan perintah berikut:

drill google.com | grep "Query time"

Anda akan melihat output berikut:

;; Query time: 290 msec

Selanjutnya, jalankan kembali perintah untuk memeriksa apakah caching berfungsi atau tidak:

drill google.com | grep "Query time"

Anda akan melihat bahwa waktu kueri sekarang berkurang menjadi 4 mdtk:

;; Query time: 4 msec

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi Dnsmasq sebagai server DNS lokal dan Ubuntu 20.04. Saya harap Anda sekarang dapat dengan mudah menerapkannya di jaringan lokal Anda untuk resolusi nama.


Ubuntu
  1. 4 Langkah untuk Mengatur Repositori Lokal di Ubuntu menggunakan APT-mirror

  2. Cara Mengatur HAProxy di Ubuntu 16.04

  3. Cara Mengatur Firewall UFW di Ubuntu 18.04

  1. Cara menginstal resolver DNS Tidak Terikat di Ubuntu 22.04

  2. Cara Mengatur Resolver DNS Tidak Terikat di Ubuntu 20.04

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

  1. Cara Mengatur Server Nama DNS di Ubuntu 18.04

  2. Cara Mengatur Server Repositori APT Lokal di Ubuntu 20.04

  3. Cara Menginstal Maven di Ubuntu 18.04