Hướng dẫn DNSMasq trên Ubuntu

Tóm tắt nội dung

DNSMasq là một máy chủ DHCP nhẹ và DNS forwarder có khả năng xử lý một vài yêu cầu DHCP và DNS cho một số khách hàng trên mạng của bạn. Ngoài ra, nó còn hỗ trợ BOOTP, TFTP, IPv6 và PXE để khởi động mạng. DNSMasq hoạt động tốt cho các môi trường mạng nhỏ và sẽ hoạt động hoàn hảo trong việc xử lý các yêu cầu DNS và giúp bạn giải phóng gánh nặng của việc cấu hình máy chủ DNS của mình. Hướng dẫn này sẽ bao gồm cách cài đặt, cấu hình và sử dụng DNSMasq trên Ubuntu.

Cách cài đặt và cấu hình DNSMasq trên Ubuntu

Trước khi cài đặt DNSMasq, hãy hiểu về các hệ thống con khác nhau mà nó cung cấp.

  1. Hệ thống con DNS – hệ thống con này xử lý bộ nhớ cache các loại bản ghi khác nhau, chẳng hạn như PTR, CNAME và AAAA.

  2. Hệ thống con DHCP – cung cấp hỗ trợ cho PXE, BOTP, DHCPv6 và v4.

  3. Hệ thống con quảng cáo có trách nhiệm cho việc tự động cấu hình các máy chủ IPv6.

Mặc định, Ubuntu có systemd-resolved được kích hoạt sẵn, nhưng bạn cần tắt nó trước khi cài đặt DNSMasq để tránh xung đột với nhau.

Tắt systemd-resolved trên ubuntu 

Đầu tiên, hãy cập nhật kho lưu trữ của bạn bằng lệnh sau đây:

$ sudo apt update

DNSMasq Ubuntu Tutorial

Sau đó, vô hiệu hóa systemd-resolved bằng các lệnh dưới đây:

$ sudo systemctl disable systemd-resolved

$ sudo systemctl stop systemd-resolved

DNSMasq Ubuntu Tutorial

Bạn cũng phải xóa tệp cấu hình cho systemd-resolved và bạn có thể sử dụng các lệnh dưới đây.

$ sudo unlink /etc/resolv.conf

hoặc

$ sudo rm -rf /etc/resolv.conf

DNSMasq Ubuntu Tutorial

Sau khi xóa cấu hình, bạn cần tạo một tệp mới và thêm DNS của Google.

$ echo “nameserver 8.8.8.8” | sudo tee /etc/resolv.conf

DNSMasq Ubuntu Tutorial

Khi bạn có tệp cấu hình mới, đến lúc cài đặt DNSMasq bằng các lệnh dưới đây. Bắt đầu bằng cách cập nhật hệ thống.

Cài đặt DNSMasq

$ sudo apt update

DNSMasq Ubuntu Tutorial

$ sudo apt install dnsmasq

CấuDNSMasq Ubuntu Tutorial

Cấu hình DNSMasq

Bạn cần sửa đổi tệp cấu hình DNSMasq. Ở đây, bạn cần mở nó bằng một trình chỉnh sửa như vim hoặc vi, như được hiển thị bên dưới.

$ sudo vim /etc/dnsmasq.conf

DNSMasq Ubuntu Tutorial

Sau khi mở tệp, hãy tiến hành sửa đổi cấu hình.

Hầu hết các dòng đều được chú thích với giải thích về mỗi dòng làm gì. Trong trường hợp của bạn, bạn cần bỏ chú thích một số dòng này.

Đây là một sơ đồ nhỏ về những gì cần bỏ chú thích.

port = 53

domain-needed

bogus-priv

strict-order

expand-hosts

domain = linuxexample.com

listen-address = 127.0.0.1, địa chỉ-máy-chủ

cache-size = 1000

Ngoài ra, bạn hãy đặt tên miền của mình để sử dụng bởi dnsmasq, địa chỉ lắng nghe và đặt kích thước bộ nhớ cache như đã chỉ định ở trên trong khi thay thế tên và IP để phù hợp với của bạn.

Cuối cùng, lưu và đóng tệp với mọi thứ được kiểm tra.

Tiếp theo bạn hãy khởi động lại DNSMasq.

$ sudo systemctl restart dnsmasq

Trong cùng tệp cấu hình mà chúng tôi đã thêm DNS Google, chúng tôi cần thêm địa chỉ IP của DNSMasq. Địa chỉ IP sẽ phụ thuộc vào mạng của bạn, và trong trường hợp của chúng tôi, chúng tôi đang sử dụng địa chỉ IP 192.168.0.2.

Mở trình soạn thảo nano và thêm dòng sau.

sudo nano /etc/resolv.conf

nameserver 192.168.0.2

Bạn cũng phải thêm các bản ghi DNS cục bộ vào máy chủ DNSMasq bằng cách tạo các mục của chúng trong tệp /etc/hosts.

$ sudo nano /etc/hosts

DNSMasq Ubuntu Tutorial

Các bản ghi DNS mà bạn thêm sẽ chịu trách nhiệm trả lời các truy vấn của khách hàng. Trong hình ảnh dưới đây, chúng tôi đã thêm hai bản ghi.

Khởi động lại dịch vụ DNSMasq để cập nhật các bản ghi.

$ sudo systemctl restart dnsmasq

DNSMasq Ubuntu Tutorial

Xác minh cấu hình bằng cách chạy lệnh kiểm tra sau.

$ dnsmasq --test

Nó nên trả về trạng thái Ok xác nhận mọi thứ đều hoạt động tốt.

Kiểm tra DNSMasq 

DNS Các bản ghi DNS được cấu hình có thể được kiểm tra bằng cách sử dụng lệnh dig, nó sẽ trả về thông tin DNS nếu nó tồn tại. Ví dụ, hãy thử server1.com. Lệnh sẽ là:

$ dig A server1.com

DNSMasq Ubuntu Tutorial

Thay thế server1.com bằng bản ghi DNS mà bạn đã tạo.

Trong hình ảnh bên dưới, nó trả về một câu trả lời có nghĩa là mọi thứ đều ổn.

Bạn cũng có thể xác minh việc giải quyết DNS cục bộ để đảm bảo rằng bản ghi DNS đang nhận được phản hồi.

$ dig your-dns.com +short

Nó nên trả về địa chỉ IP của máy chủ.

Xác minh Bộ nhớ cache máy chủ DNS 

Bạn cần sử dụng lệnh drill Linux để kiểm tra và xác minh việc lưu trữ cache. Nếu lưu trữ cache hoạt động, bạn sẽ thấy một sự giảm thời gian khi truy vấn DNS.

Truy vấn lần đầu tiên.

$ drill cloudviet.com.vn | grep "Query time"

DNSMasq Ubuntu Tutorial

Lần thứ hai sẽ trả về một thời gian truy vấn ngắn hơn làm chứng rằng bộ nhớ cache đang hoạt động.

$ drill cloudviet.com.vn | grep "Query time"

Kết Luận

Có nhiều cách để sử dụng DNSMasq trên Ubuntu. Những gì chúng tôi đã đề cập ở đây chỉ là cơ bản để giúp bạn bắt đầu. Chúng tôi đã hướng dẫn bạn cài đặt DNSMasq trên Ubuntu, cấu hình nó và kiểm tra hoạt động của nó. Bạn có thể triển khai kiến thức này trên mạng nhỏ của bạn và đạt được các chức năng tuyệt vời.

 
Logo Cloud Việt

Thông Tin Và Hoạt Động Của Chúng Tôi

Cloud Việt là đơn vị cung cấp dịch vụ TTDL uy tín tại Việt Nam. Với tiêu chí là đặt quyền lợi và trải nghiệm của khách hàng lên hàng đầu để  đem đến dịch vụ tốt nhất.

Trụ sở chính

110/20/41 đường số 30, phường 6, quận Gò Vấp, TPHCM

Ngày làm việc

Thứ 2 - Thứ 6, Hàng tuần

Giờ làm việc

08 : 00 AM - 18 : 00 PM

Email

Support@cloudviet.com.vn

Hotline

0972 710 812