Skip to content

DNS Benchmark

BigDargon edited this page Oct 15, 2024 · 6 revisions

Bài viết hướng dẫn cách kiểm tra hiệu năng phân giải của máy chủ DNS. Nếu thấy bài viết hữu ích, hãy ủng hộ dự án bằng cách <ở đây>. Cám ơn!

Với trình độ tiếng Anh ít ỏi và kiến thức hạn hẹp nên bài viết sẽ không thể tránh khỏi nhiều thiếu sót. Nếu có vấn đề gì sai sót trong quá trình viết bài, vui lòng cho mình biết để chỉnh sửa.

  • Việc ping đến máy chủ không đánh giá hoàn toàn hiệu năng phân giải của máy chủ DNS.
  • Máy chủ DNS phân giải tên miền nhanh hay chậm phụ thuộc vào:
    • Số lượng thiết bị kết nối đến máy chủ DNS.
    • Sức mạnh của hạ tầng máy chủ DNS.
    • Độ ổn định của hạ tầng mạng máy chủ DNS đó sử dụng.
    • Và quan trọng nhất là số lượng cache tạo ra khi máy chủ DNS đệ quy hoạt động.

Hiểu rõ máy chủ DNS đệ quy hoạt động Các bước trong tra cứu DNS

DNS Benchmark

Trang chủ: https://www.grc.com/dns/benchmark.htm

Tải về: https://www.grc.com/files/DNSBench.exe

  • Ưu điểm:

    • Giao diện trực quan.
    • Kiểm tra cùng lúc nhiều máy chủ.
    • Cho phép bật/tắt kiểm tra DNSSEC (mặc định tắt kiểm tra DNSSEC).
    • Có sao lưu danh sách máy chủ DNS.
  • Nhược điểm:

    • Chỉ hoạt động trên Windows.
    • Chỉ truy vấn DNS ở cổng 53 (Do53).
  • Hướng dẫn sử dụng:

    • Chọn tab Nameservers > Chọn Add/Remove để thêm/xóa/sao lưu các máy chủ DNS kiểm tra > Chọn Run Benchmark để bắt đầu kiểm tra.
    • Để kiểm tra DNSSEC > nhấn chuột phải ở bảng danh sách máy chủ DNS > Chọn Test DNSSEC Authentication.

Xem thêm về DNSSEC tại DNS Security

  • Danh sách máy chủ DNS sử dụng:
8.8.8.8             dns.google
9.9.9.11            dns11.quad9.net
1.1.1.1             one.one.one.one
45.90.28.0          dns1.nextdns.io
76.76.2.0           p0.freedns.controld.com
94.140.14.140       dns-unfiltered.adguard.com
208.67.222.222      resolver1.opendns.com
117.122.125.106
  • Kết quả:

Tab Nameservers:

Tab Tabular Data:

 Final benchmark results, sorted by nameserver performance:
 (average cached name retrieval speed, fastest to slowest)

  117.122.125.106 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  - Cached Name   | 0,007 | 0,012 | 0,051 | 0,007 | 100,0 |
  - Uncached Name | 0,034 | 0,097 | 0,453 | 0,095 |  97,8 |
  - DotCom Lookup | 0,085 | 0,216 | 0,575 | 0,093 |  93,2 |
  ---<-------->---+-------+-------+-------+-------+-------+
          ··· no official Internet DNS name ···
VNNIC-AS-VN Vietnam Internet Network Information Center,


    1.  1.  1.  1 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  - Cached Name   | 0,031 | 0,033 | 0,037 | 0,001 | 100,0 |
  - Uncached Name | 0,034 | 0,095 | 0,297 | 0,078 | 100,0 |
  - DotCom Lookup | 0,034 | 0,073 | 0,231 | 0,069 | 100,0 |
  ---<-------->---+-------+-------+-------+-------+-------+
                     one.one.one.one
                    CLOUDFLARENET, US


    9.  9.  9. 11 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  + Cached Name   | 0,032 | 0,035 | 0,053 | 0,004 | 100,0 |
  + Uncached Name | 0,034 | 0,123 | 0,682 | 0,163 | 100,0 |
  + DotCom Lookup | 0,035 | 0,153 | 0,704 | 0,248 | 100,0 |
  ---<-------->---+-------+-------+-------+-------+-------+
                     dns11.quad9.net
                     QUAD9-AS-1, CH


    8.  8.  8.  8 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  + Cached Name   | 0,033 | 0,046 | 0,136 | 0,017 | 100,0 |
  + Uncached Name | 0,035 | 0,083 | 0,225 | 0,052 | 100,0 |
  + DotCom Lookup | 0,071 | 0,112 | 0,197 | 0,047 | 100,0 |
  ---<-------->---+-------+-------+-------+-------+-------+
                       dns.google
                       GOOGLE, US


   45. 90. 28.  0 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  - Cached Name   | 0,039 | 0,049 | 0,103 | 0,014 | 100,0 |
  - Uncached Name | 0,042 | 0,128 | 0,417 | 0,109 |  97,8 |
  - DotCom Lookup | 0,043 | 0,053 | 0,079 | 0,008 |  97,7 |
  ---<-------->---+-------+-------+-------+-------+-------+
                     dns1.nextdns.io
                       NEXTDNS, US


  208. 67.222.222 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  - Cached Name   | 0,049 | 0,052 | 0,074 | 0,005 | 100,0 |
  - Uncached Name | 0,050 | 0,091 | 0,253 | 0,045 | 100,0 |
  - DotCom Lookup | 0,092 | 0,147 | 0,200 | 0,049 | 100,0 |
  ---<-------->---+-------+-------+-------+-------+-------+
                  resolver1.opendns.com
                       OPENDNS, US


   94.140. 14.140 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  - Cached Name   | 0,056 | 0,058 | 0,064 | 0,001 | 100,0 |
  - Uncached Name | 0,057 | 0,122 | 0,325 | 0,083 | 100,0 |
  - DotCom Lookup | 0,057 | 0,059 | 0,067 | 0,002 | 100,0 |
  ---<-------->---+-------+-------+-------+-------+-------+
               dns-unfiltered.adguard.com
                       ADGUARD, CY


   76. 76.  2.  0 |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
  ----------------+-------+-------+-------+-------+-------+
  - Cached Name   | 0,079 | 0,081 | 0,089 | 0,001 | 100,0 |
  - Uncached Name | 0,080 | 0,137 | 0,311 | 0,061 | 100,0 |
  - DotCom Lookup | 0,081 | 0,085 | 0,104 | 0,004 | 100,0 |
  ---<-------->---+-------+-------+-------+-------+-------+
                 p0.freedns.controld.com
                      CONTROLD, CA


  UTC: 2023-09-12, from 08:23:07 to 08:23:54, for 00:46,565
  • Cached Name là truy vấn các tên miền lặp lại giống nhau. VD: truy vấn tên miền google.com thì công cụ sẽ truy vấn lại tên miền google.com để kiểm tra thời gian trả lời từ bộ nhớ cache của máy chủ (bao gồm thời gian thiết bị kết nối đến máy chủ).
  • Uncached Name là truy vấn các tên miền ngẫu nhiên với các tên miền đã phân giải trước đó. VD: truy vấn tên miền là google.com thì công cụ sẽ truy vấn tiếp tên miền abc.google.com để xem tổng thời gian đệ quy là bao lâu.
  • DotCom Lookup là truy vấn các tên miền .com ngẫu nhiên k lặp lại. VD: truy vấn ngẫu nhiên các tên miền acb.com, def.com, xyz.com để kiểm tra tổng thời gian đệ quy các tên miền thông dụng nhất với TLD .com là bao lâu.
  • Reliability là tỷ lệ gửi truy vấn và nhận trả lời bị mất (do kết nối mạng hoặc máy chủ không phản hồi).

Như kết quả ở trên, lấy DNS VNNIC làm ví dụ thì:

  • Cột màu đỏ tương ứng với Cached Name: VNNIC mất trung bình 12ms để trả lời, tỷ lệ gửi truy vấn và nhận trả lời đầy đủ 100%.
  • Cột màu xanh lá tương ứng Uncached Name: VNNIC mất 97ms để trả lời, tỷ lệ gửi truy vấn và nhận trả lời chỉ có 97,8%.
  • Cột màu xanh dương tương ứng DotCom Lookup: VNNIC mất 216ms để trả lời, tỷ lệ gửi truy vấn và nhận trả lời chỉ có 93,2%.

dnscheck.tools

Trang chủ: https://dnscheck.tools

  • Ưu điểm:

    • Sử dụng giao diện web.
    • Tương thích với mọi hệ điều hành.
    • Kiểm tra được DNS mã hóa (DoH) và không mã hóa (Do53).
  • Nhược điểm:

    • Thay đổi máy chủ DNS phức tạp (đối với Do53).
    • Chỉ truy vấn 1 máy chủ DNS (đối với DoH).
    • Thỉnh thoảng lỗi hiển thị leak DNS sang bên thứ 3.
  • Hướng dẫn sử dụng: Chỉ cần truy cập địa chỉ, công cụ sẽ tự động làm việc.

Thỉnh thoảng, công cụ sẽ gặp lỗi hiện nhiều máy chủ DNS khác nhau trong quá trình kiểm tra. Chỉ cần tải lại trang để thực hiện lại.

  • Kết quả:

  • Your public IP addresses are hiển thị địa chỉ IP, hostname, vị trí (tương đối, có thể không chính xác) của bạn.
  • Your DNS resolvers are hiện thị địa chỉ IP, hostname, vị trí (tương đối, có thể không chính xác) của máy chủ DNS bạn đang sử dụng. Tại đây nếu xuất hiện máy chủ bên thứ 3 khác, có nghĩa là truy vấn DNS của bạn đang bị leak qua máy chủ DNS khác.
  • Great! Your DNS responses are authenticated with DNSSEC cho biết máy chủ DNS bạn đang chọn được bảo vệ bởi DNSSEC. Tất cả phải hiện đánh dấu ✓, tuyệt đối không sử dụng máy chủ DNS nào có đánh dấu ❌ trong bài kiểm tra bất kỳ hàng và cột nào ở bên dưới.
  • 37ms là thời gian phân giải đệ quy trung bình (hiệu năng) của máy chủ DNS bạn chọn. Công cụ thực hiện truy vấn tên miền ngẫu nhiên, tên miền lặp lại để đánh giá thời gian đệ quy của máy chủ. Mức này <=150ms có màu xanh (tốt), >150ms có màu cam (trung bình) và >300 có màu đỏ (tệ).
  • EDNS có màu xanh nếu kiểm tra được kích thước gói tin được truyền/nhận.
  • DNSSEC có màu xanh nếu kiểm tra DNSSEC ở trên có tất cả dấu ✓.
  • ECS có màu xanh nếu kiểm tra được trong bản ghi DNS có gửi địa chỉ IP của bạn đến máy chủ DNS quản lý tên miền.
  • IPv6 có màu xanh nếu máy chủ DNS có sử dụng IPv6.

Xem thêm về EDNS, DNSSEC, ECS tại DNS Security

dnsspeedtest.online

Trang chủ: https://dnsspeedtest.online/

Github: https://github.com/BrainicHQ/DoHSpeedTest

  • Ưu điểm:
    • Đo lường thời gian truy vấn DNS mã hóa của các máy chủ DNS.
    • Sắp xếp bảng xếp hạng theo ý muốn sau khi chạy kiểm tra (nhấn icon cạnh bên Min/Med/Max).
    • Lập biểu đồ trên trình duyệt máy tính.
    • Thêm/xóa các tên miền muốn kiểm tra (icon Cài đặt góc phải phía trên).
    • Thêm/xóa các máy chủ DNS mã hóa khác (Nâng cao).
  • Nhược điểm:
    • Chỉ kiểm tra các truy vấn DNS mã hóa.

Để tùy chỉnh thêm/xóa máy chủ DNS, tải/clone repo, chỉnh sửa tập tin script.js và mở index.html

Khả năng chặn mã độc giữa các máy chủ DNS công cộng

nexxwave.eu (2024)

Trang nexxwave.eu tiếp tục với bài kiểm tra mới và có thêm một số máy chủ DNS công cộng có chặn mã độc

Bài viết: https://techblog.nexxwave.eu/public-dns-malware-filters-tested-in-2024/

Lưu trữ: http://web.archive.org/web/20240122075016/https://techblog.nexxwave.eu/public-dns-malware-filters-tested-in-2024/

Các máy chủ DNS công cộng được thử nghiệm: Google Public DNS, ControlD Malware (Mới), Norton ConnectSafe (Mới), UltraDNS Threat Protection (Mới), Quad9, Cloudflare for Families, dns0.eu, dns0.eu ZERO, CleanBrowsing Security Filter, Comodo Secure DNS.

Script: https://gist.github.com/KrisLowet/675ba34e682c6d2afbc53fc317b41e85

Biểu đồ kết quả

nexxwave.eu (2023)

Trang nexxwave.eu đã có bài kiểm tra thử nghiệm khả năng chặn các tên miền của các máy chủ DNS công cộng. Nội dung bài kiểm tra cũng như công cụ để kiểm trang được ghi chi tiết trong bài viết. Bất kỳ ai cũng có thể thực hiện lại bài kiểm tra nếu chưa tin tưởng kết quả, hoặc muốn thay đổi máy chủ DNS khác để kiểm tra.

Bài viết: https://techblog.nexxwave.eu/public-dns-malware-filters-tested/

Lưu trữ: http://web.archive.org/web/20230909184508/https://techblog.nexxwave.eu/public-dns-malware-filters-tested/

Các máy chủ DNS công cộng được thử nghiệm: Google Public DNS, Telenet, Proximus, OpenDNS, Quad9, Cloudflare for Families, dns0.eu, dns0.eu ZERO, CleanBrowsing Security Filter, Comodo Secure DNS.

Script: https://gist.github.com/KrisLowet/675ba34e682c6d2afbc53fc317b41e85

Bảng kết quả

Biểu đồ kết quả

lawrencesystems.com (2020)

Bài viết: https://forums.lawrencesystems.com/t/dns-malware-filtering-compared-quad9-vs-cloudflare-vs-dns-filter-vs-opendns-cisco-umbrella/5072

Lưu trữ: http://web.archive.org/web/20200610080023/https://forums.lawrencesystems.com/t/dns-malware-filtering-compared-quad9-vs-cloudflare-vs-dns-filter-vs-opendns-cisco-umbrella/5072

Các máy chủ DNS công cộng được thử nghiệm: Cloudflare DNS, Quad9, Cloudflare Malware, DNS Filter, OpenDNS.

Script:

#!/bin/bash
# Bulk DNS Lookup
# Generates a CSV of DNS lookups from a list of domains.
#
# File name/path of domain list:
domain_list='domains.txt' # One FQDN per line in file.
#
# IP address of the nameserver used for lookups:
ns1_ip='1.1.1.1' # Cloudflare
ns2_ip='9.9.9.9' # Quad9
ns3_ip='1.1.1.2' # Cloudflare Malware
ns4_ip='103.247.36.36' # DNS Filter
ns5_ip='208.67.222.222' # OpenDNS / Cisco Umbrella
#
# Seconds to wait between lookups:
loop_wait='1' # Is set to 1 second.

echo "Domain name, $ns1_ip,$ns2_ip,$ns3_ip,$ns4_ip,$ns5_ip "; # Start CSV
for domain in `cat $domain_list` # Start looping through domains
do
    ip1=`dig @$ns1_ip +short $domain |tail -n1`; # IP address lookup DNS Server1
    ip2=`dig @$ns2_ip +short $domain |tail -n1`; # IP address lookup DNS server2
    ip3=`dig @$ns3_ip +short $domain |tail -n1`; # IP address lookup DNS server3
    ip4=`dig @$ns4_ip +short $domain |tail -n1`; # IP address lookup DNS server4
    ip5=`dig @$ns5_ip +short $domain |tail -n1`; # IP address lookup DNS server5
            echo -en "$domain,$ip1,$ip2,$ip3,$ip4,$ip5\n";
#    sleep $loop_wait # Pause before the next lookup to avoid flooding NS
done;

Kết quả: https://www.youtube.com/watch?v=imlFubYv8YY

Clone this wiki locally