Tin tức và phân tích của tất cả các thiết bị di động

Làm cách nào để định cấu hình bộ nhớ đệm DNS với dnsmasq trên Ubuntu?

DNSmasq có thể được sử dụng để lưu trữ các yêu cầu DNS cho các bản phân phối Linux. tuy nhiên, nó có thể là một chút khó khăn.

Bộ đệm DNS hoạt động để tăng tốc quy trình tra cứu DNS, quy trình này sẽ chuyển đổi tên miền của trang web thành địa chỉ IP được liên kết. Khi một số người dùng trên mạng của bạn truy cập cùng một địa chỉ trang web, việc sử dụng máy chủ bộ đệm DNS cục bộ có thể giảm thời gian tải mạng.

Đầu tiên, hãy xem DNS caching là gì.

Bộ nhớ đệm DNS là gì?

DNS được Internet sử dụng để theo dõi tất cả các trang web có thể truy cập công khai và các địa chỉ IP được liên kết của chúng. Nó có thể được so sánh với một danh bạ điện thoại. Việc sử dụng DNS giúp chúng tôi không phải nhớ địa chỉ IP của từng trang web, địa chỉ này cần thiết để tương tác với cơ sở hạ tầng mạng với các trang web.

Mỗi khi bạn yêu cầu một công cụ tìm kiếm hiển thị một trang web, nó sẽ xảy ra ở hậu trường.

Mặc dù hệ thống của bạn có quyền truy cập vào một số lượng lớn máy chủ DNS bên ngoài, nhưng vấn đề là việc có một bản sao DNS trung tâm vẫn tăng tốc độ truyền tải và phân giải. Đây là lúc bộ nhớ đệm DNS phát huy tác dụng.

Trước khi gửi yêu cầu tới mạng, bộ đệm DNS xử lý độ phân giải danh tính cho các miền được sử dụng gần đây và thường xuyên để tăng tốc đáng kể quy trình.

Có thể truy cập vào máy chủ DNS bất cứ khi nào cần phân giải địa chỉ IP thành tên miền. Điều này có thể gây thêm tải cho máy chủ DNS, đặc biệt nếu trang web nhận được nhiều yêu cầu cùng một lúc.

Bộ đệm DNS được sử dụng để giảm thời gian phản hồi và yêu cầu DNS. Địa chỉ IP đã giải quyết cùng với chi tiết máy chủ được lưu cục bộ. Thay vì bắt đầu một truy vấn DNS mới, kết quả sẽ được tìm nạp từ bộ đệm DNS vào lần tiếp theo địa chỉ IP hoặc tên miền được giải quyết.

Cách bộ nhớ đệm DNS giúp khắc phục sự cố Dịch vụ DNS không liên tục khắc phục sự cố trong các trường hợp Amazon EC2?

Hầu hết các hệ thống Linux không sử dụng bộ đệm DNS cục bộ. Điều này có nghĩa là tất cả các yêu cầu DNS được gửi trực tiếp đến trình phân giải DNS có thẩm quyền được cung cấp bởi Amazoncó giới hạn về số lượng yêu cầu mà nó có thể xử lý cùng một lúc. Sự cố phân giải DNS xảy ra khi có nhiều yêu cầu.

Triển khai bộ đệm ẩn DNS cục bộ trên hệ thống của bạn sẽ giúp giảm mức sử dụng CPU và mạng đồng thời ngăn ngừa lỗi phân giải DNS. Bộ đệm DNS cục bộ phản hồi các truy vấn hướng đến các tài nguyên DNS bên ngoài, chẳng hạn như Amazon RDS và S3.

DHCP được sử dụng khi chạy các phiên bản Amazon EC2 được hợp nhất với Amazon VPC để yêu cầu địa chỉ máy chủ DNS.

khi bạn sử dụng Amazon VPC để xây dựng đám mây riêng ảo, Trình giải quyết DNS Route 53 sử dụng hiệu quả trình phân giải trên VPC để phản hồi các yêu cầu DNS cho các phiên bản EC2 chạy tại các địa chỉ Internet cục bộ Amazon VPC và các mục trong khu vực quản lý riêng. Trình phân giải thực hiện tìm kiếm đệ quy đối với các máy chủ DNS công cộng cho tất cả các địa chỉ Internet bổ sung.

Bộ đệm DNS đóng vai trò là bản ghi tạm thời các truy vấn DNS trước đó mà hệ thống của chúng tôi có thể nhanh chóng kiểm tra khi cố gắng truy cập một trang web. Giữ một bản ghi của mỗi phiên hiện có và tiếp theo. Bộ đệm DNS này giúp giải quyết các miền và ngăn ngừa lỗi với các phiên bản Amazon EC2Linux.

Nhiều người dùng thường sử dụng dịch vụ Amazon Lộ trình 53 cho DNS khi truy cập AWS. Nó thực sự dễ sử dụng và gần như miễn phí. Tuy nhiên, có nhiều lý do có thể ảnh hưởng đến quyết định sử dụng máy chủ DNS cục bộ của người dùng.

Mặc dù bind9 vẫn là một tùy chọn tuyệt vời để thiết lập máy chủ bộ đệm DNS cục bộ, nhưng dnsmasq lại đơn giản hơn nhiều để cài đặt và định cấu hình trên cả phiên bản EC2 và máy cục bộ của bạn.

dnsmasq là gì?

DNSmasq là một tiện ích liên quan đến Linux hỗ trợ bộ nhớ đệm DNS, DHCP, TFTP và DNS. Nó nhỏ gọn và nhẹ, khiến nó trở nên lý tưởng cho các mạng và tường lửa với ít hạn chế về tài nguyên hơn.

Cài đặt và cấu hình cực kỳ đơn giản. Để định cấu hình DNS và DHCP cho mạng con, dnsmasq là một giải pháp linh hoạt và thiết thực.

Bạn có thể định cấu hình các ID được gán DHCP này và các hướng dẫn liên quan cho từng máy chủ hoặc bộ điều khiển cơ sở. Các tùy chọn DHCP động và tĩnh được hỗ trợ bởi dnsmasq. Nó có thể mang theo được và có khả năng quản lý DNS và DHCP cho ít nhất 1000 máy khách.

Khi nhận được một truy vấn DNS, dnsmasq sẽ phản hồi từ bộ nhớ cache cục bộ của nó hoặc chuyển tiếp nó đến một máy chủ DNS có thẩm quyền. Ngoài việc đáp ứng các yêu cầu DNS cho các địa chỉ được cấu hình DHCP, nó còn kiểm tra nội dung của tệp /etc/hosts để xác định các tên máy chủ cục bộ không được liệt kê trong DNS công cộng.

Sử dụng tiện ích dnsmasq thay vì bộ đệm DNS tích hợp của trình duyệt giúp cải thiện đáng kể hiệu suất duyệt Internet. Đó là lý tưởng cho một môi trường tích hợp với nguồn tài nguyên hạn chế vì nó rất đơn giản để thiết lập và yêu cầu rất ít dung lượng đĩa.

hàm dnsmasq

  • Bạn có thể dễ dàng tích hợp các máy chủ DNS nội bộ với dnsmasq bằng cách định cấu hình nó để chuyển tiếp các truy vấn phân giải tên miền cụ thể tới các máy chủ có thẩm quyền cụ thể.
  • Bằng cách định cấu hình máy chủ DNS cục bộ, tải của máy chủ sẽ giảm và độ tin cậy được tăng lên.
  • Cấu hình DNS cho các điểm cuối hỗ trợ tường lửa khá dễ dàng và không phụ thuộc vào DNS mà ISP của bạn sử dụng.
  • Nếu cổng kết nối Internet không khả dụng khi tra cứu DNS trên máy tính, thao tác tra cứu sẽ bị tạm dừng ngay lập tức.
  • Với các truy vấn PPP (Giao thức điểm-điểm) hoặc DHCP, dnsmasq thực sự có thể được định cấu hình để thu thập dữ liệu định kỳ trực tiếp từ máy chủ phân giải miền bên dưới.

Cài đặt

Phải tắt dịch vụ do systemd giải quyết trước khi cài đặt và định cấu hình dnsmasq.

systemctl stop systemd-resolved

Bạn cũng có thể ẩn nó bằng thuộc tính mặt nạ để nó không tự khởi động khi khởi động lại.

 systemctl mask systemd-resolved

Cài đặt dnsmasq là việc đầu tiên cần làm sau khi tắt giải pháp systemd. DNSmasq được cài đặt sẵn trên hầu hết các bản phân phối Linux. Nếu không, bạn có thể cài đặt thủ công. Khởi chạy một thiết bị đầu cuối lệnh và sau đó nhập lệnh sau để làm như vậy.

sudo apt-get install dnsmasq

Sử dụng lệnh sau nếu bạn là người dùng yum:

sudo yum install -y dnsmasq

Lệnh này sẽ tự động cài đặt công cụ và chạy dnsmasq ở chế độ nền.

Sau khi cài đặt thành công, bạn có thể kiểm tra trạng thái dnsmasq bằng lệnh bên dưới.

systemctl status dnsmasq

Nếu nó hiển thị trạng thái là “đang hoạt động (đang chạy)”, thì quá trình cài đặt đã hoàn tất và được định cấu hình trên cổng 53. Nếu nó hiển thị trạng thái là “không hoạt động (đã chết)”, bạn cần khởi động lại Ubuntu và dnsmasq. Điều này sẽ sửa lỗi.

Cấu hình

Dnsmasq hiện đã sẵn sàng để được định cấu hình trên máy tính của bạn dưới dạng máy chủ bộ nhớ đệm DNS cục bộ. Tệp cấu hình mặc định nằm trong /etc/dnsmasq.conf. Tệp cấu hình này phải được sửa đổi để định cấu hình dnsmasq trên hệ thống.

Sử dụng lệnh này để mở và chỉnh sửa tệp cấu hình.

nano /etc/dnsmasq.conf

Tệp cấu hình chỉ có thể được chỉnh sửa với quyền quản trị viên. Chỉ cần xóa mọi thứ trong tệp, bao gồm cả nhận xét và chỉ cần sao chép, dán và lưu cài đặt cấu hình này.

port=53
domain-needed
bogus-priv
listen-address=127.0.0.1
expand-hosts
domain=geek-demo.com
cache-size=1000

Tôi sẽ mô tả ngắn gọn ý nghĩa của từng tham số.

  • Cổng – để chỉ định hoặc liên kết cổng mà Dnsmasq sẽ sử dụng để nhận các yêu cầu DNS.
  • tên miền bắt buộc – Chỉ gửi tên miền đến máy chủ DNS chính.
  • bogus-priv – ngăn chuyển tiếp tên miền và cổng
  • địa chỉ nghe – Để xác định địa chỉ của máy chủ định danh. Thông thường, localhost được sử dụng theo mặc định để định cấu hình máy chủ DNS cục bộ.
  • tên miền – để định cấu hình tên miền mà dnsmasq gắn vào ID ngắn.
  • kích thước bộ đệm – Kích thước bộ đệm DNS tối đa được phép trong bộ lưu trữ.

Sau khi thực hiện tất cả các thay đổi cần thiết, hãy lưu và đóng tệp cấu hình. Bước tiếp theo là chỉnh sửa tệp /etc/resolv.conf để thêm địa chỉ phân giải localhost. Sử dụng lệnh bên dưới để mở bằng trình chỉnh sửa nano.

nano /etc/resolv.conf

Tại đây bạn có thể tìm thấy tất cả các máy chủ định danh được hệ thống của bạn sử dụng để phân giải địa chỉ. Trong danh sách này, cũng thêm địa chỉ loopback. Thêm “máy chủ định danh 127.0.0.1và giữ nó trên dòng đầu tiên.

Lưu và thoát tệp cấu hình. Khởi động lại dnsmasq để cài đặt cập nhật có hiệu lực.

systemctl restart dnsmasq

Kiểm tra máy chủ lưu trữ DNS cục bộ

Kiểm tra máy chủ DNS cục bộ của bạn thật dễ dàng. Mở dấu nhắc lệnh và sử dụng lệnh dig để kiểm tra bộ nhớ đệm DNS. Khi bạn chạy lệnh đào lần đầu tiên, kết quả sẽ khá phổ biến.

┌──(root💀kali)-[/home/writer]
└─# dig newsblog.pl.com                                                                                     1 ⚙

; <<>> DiG 9.18.0-2-Debian <<>> newsblog.pl.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 623
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;newsblog.pl.com.                 IN      A

;; ANSWER SECTION:
newsblog.pl.com.          227     IN      A       172.66.43.163
newsblog.pl.com.          227     IN      A       172.66.40.93

;; Query time: 31 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Sat Oct 15 07:52:49 EDT 2022
;; MSG SIZE  rcvd: 74

Lưu ý ở đây rằng thời gian truy vấn là khoảng 31 mili giây để nhận thông tin chi tiết từ máy chủ định danh gốc. Thực hiện lại lệnh dig tương tự và bạn sẽ nhận thấy thời gian truy vấn giảm đáng kể.

┌──(root💀kali)-[/home/writer]
└─# dig newsblog.pl.com                                                                                     1 ⚙

; <<>> DiG 9.18.0-2-Debian <<>> newsblog.pl.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21942
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
newsblog.pl.com.          281     IN      A       172.66.40.93
newsblog.pl.com.          281     IN      A       172.66.43.163

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP)
;; WHEN: Sat Oct 15 07:58:10 EDT 2022
;; MSG SIZE  rcvd: 74

Ở đây thời gian truy vấn là 0 bệnh đa xơ cứng. Điều này là do sau lần tra cứu ban đầu, dnsmasq đã lưu trữ dữ liệu và tất cả các lần tra cứu tiếp theo đều diễn ra ngay lập tức bằng cách sử dụng bộ đệm được lưu trữ. Khởi động lại dnsmasq là cần thiết nếu bạn muốn xóa bộ đệm ẩn DNS đã lưu trữ.

gói

Trong bài viết này, chúng ta đã biết cách thiết lập và định cấu hình dnsmasq để hoạt động như một máy chủ DNS cục bộ. Bạn cũng có thể muốn tìm hiểu cách thay đổi máy chủ DNS để duyệt web nhanh hơn trên các hệ điều hành khác nhau.

Mục lục