Truy vấn DNS có thể làm lộ các trang web bạn truy cập. Tìm hiểu cơ chế rò rỉ DNS và cách bảo vệ quyền riêng tư bằng DNS over HTTPS.
Rò rỉ DNS xảy ra khi thiết bị của bạn gửi yêu cầu phân giải tên miền đến một trình phân giải nằm ngoài đường dẫn được bảo vệ mà bạn mong đợi — thường là trình phân giải của ISP thay vì của VPN — làm lộ mọi trang web bạn truy cập ngay cả khi phần còn lại của lưu lượng đã được mã hóa. Để ngăn chặn, hãy định tuyến DNS qua đường hầm VPN (hoặc qua một trình phân giải đã mã hóa bằng DNS over HTTPS hay DNS over TLS), tắt cơ chế quay về văn bản thuần, và đóng các kênh phụ IPv6 cùng WebRTC. Cách nhanh nhất để xác nhận bạn được bảo vệ là chạy kiểm tra rò rỉ DNS và xem các IP trình phân giải nào xuất hiện.
Phân giải DNS là gì và vì sao nó nhạy cảm với quyền riêng tư
Mỗi khi bạn mở một trang web, trình duyệt cần dịch một cái tên dễ đọc với con người như browserinsight.net thành địa chỉ IP dạng số. Việc dịch đó do Hệ thống tên miền (DNS) thực hiện. Thiết bị của bạn hỏi một trình phân giải DNS — thường do ISP của bạn vận hành trừ khi bạn đã thay đổi — và trình phân giải trả về địa chỉ để kết nối được thiết lập.
Vấn đề về quyền riêng tư rất đơn giản: bất kỳ ai vận hành trình phân giải đó đều thấy nhật ký mọi tên miền bạn tra cứu, kèm dấu thời gian. Ngay cả khi trang tải qua HTTPS và nội dung được mã hóa, tên của trang web bạn muốn vẫn bị lộ ở bước DNS. Theo mặc định, các truy vấn DNS cổ điển di chuyển dưới dạng văn bản thuần qua cổng UDP 53, nên bất kỳ ai trên đường dẫn mạng đều thấy được, không chỉ riêng bên vận hành trình phân giải.
Hãy hình dung DNS như cuốn danh bạ địa chỉ của Internet. Mã hóa lá thư bên trong phong bì (HTTPS) chẳng giúp ích bao nhiêu nếu mỗi lần gửi bạn lại hô to tên người nhận.
Rò rỉ DNS là gì
Rò rỉ DNS là khi các truy vấn DNS của bạn thoát khỏi kênh riêng tư hoặc đã mã hóa mà bạn tin rằng chúng đang dùng. Tình huống phổ biến nhất: bạn kết nối VPN với kỳ vọng toàn bộ lưu lượng đi qua đường hầm, nhưng hệ điều hành vẫn tiếp tục gửi yêu cầu tra cứu DNS thẳng đến trình phân giải của ISP. Các gói dữ liệu của bạn được mã hóa và định tuyến qua VPN, nhưng ISP vẫn nhận được danh sách đầy đủ, kèm dấu thời gian, các tên miền bạn truy cập. Điều đó làm mất đi phần lớn ý nghĩa của VPN.
Rò rỉ này "âm thầm" vì không có gì hỏng hóc rõ ràng — các trang vẫn tải bình thường. Bạn chỉ phát hiện ra bằng cách kiểm tra.
Những nguyên nhân thường gặp gây rò rỉ DNS
- Trình phân giải của hệ điều hành đi vòng qua đường hầm. Hệ điều hành đôi khi giữ lại các máy chủ DNS đã cấu hình trước đó, hoặc dùng chiến lược "ai phản hồi nhanh nhất", cho trình phân giải của VPN đua với của ISP và có thể chọn nhầm.
- Định tuyến tách (split tunneling). Nếu bạn chỉ định tuyến một số ứng dụng hoặc mạng con qua VPN, DNS cho lưu lượng bị loại trừ — và đôi khi cho toàn bộ lưu lượng — có thể đi thẳng ra ngoài.
- Rò rỉ qua IPv6. Nhiều cấu hình VPN chỉ tạo đường hầm cho IPv4. Nếu mạng của bạn có kết nối IPv6 mà VPN bỏ qua, các truy vấn DNS qua IPv6 lọt ra ngoài không được bảo vệ.
- Trình khách cấu hình sai hoặc đơn giản hóa. Một số ứng dụng VPN không bắt buộc dùng DNS riêng của chúng, hoặc không khôi phục lại sự bảo vệ sau khi thiết bị ngủ, đổi mạng hay kết nối lại.
- Chiếm quyền DNS trong suốt. Một số ISP chặn toàn bộ lưu lượng cổng 53 và tự trả lời bất kể bạn cấu hình trình phân giải nào, buộc phải rò rỉ trừ khi DNS của bạn được mã hóa.
Vì sao điều này quan trọng ngay cả khi đã dùng VPN
Mọi người thường cho rằng VPN khiến họ ẩn danh. VPN mã hóa lưu lượng và che IP của bạn khỏi các máy chủ đích, nhưng nó chỉ bảo vệ DNS nếu trình khách được cấu hình để bắt và đưa các truy vấn đó vào đường hầm. Khi DNS rò rỉ, ISP của bạn — và bất kỳ chính phủ hay nhà quảng cáo nào mà nó chia sẻ dữ liệu — có thể tái dựng lịch sử duyệt web của bạn theo tên miền dù không đọc được nội dung trang. Logic tương tự áp dụng cho WebRTC, vốn có thể làm lộ IP thật của bạn ngay từ bên trong trình duyệt, hoàn toàn tách biệt với DNS; xem hướng dẫn của chúng tôi về chặn rò rỉ IP qua WebRTC cho kênh phụ này.
Nếu muốn xác minh IP thật và trình phân giải của bạn trông như thế nào với thế giới bên ngoài, công cụ kiểm tra thông tin IP của BrowserInsight cho thấy địa chỉ mà các máy chủ thực sự nhìn thấy, còn công cụ phát hiện VPN/proxy đánh dấu liệu kết nối của bạn trông giống VPN, proxy, hay đường truyền ISP trần.
DNS đã mã hóa: DoH, DoT và DNSCrypt
Cách khắc phục tận gốc cho DNS văn bản thuần là mã hóa chính các truy vấn để cả đường dẫn mạng lẫn một ISP can thiệp đều không thể đọc hay chiếm quyền. Ba phương pháp chiếm ưu thế:
- DNS over HTTPS (DoH) gửi truy vấn DNS bên trong lưu lượng HTTPS thông thường trên cổng 443. Vì trông như lưu lượng web bình thường nên khó bị nhận diện hay chặn riêng, và nó được tích hợp trực tiếp vào các trình duyệt hiện đại (Chrome, Firefox, Edge) dưới tên "DNS bảo mật".
- DNS over TLS (DoT) bọc DNS trong một phiên TLS trên cổng riêng (853). Nó gọn gàng và dễ giám sát ở cấp độ mạng, nên phổ biến cho cấu hình toàn hệ điều hành và bộ định tuyến — nhưng cổng riêng lại dễ bị một mạng thù địch chặn hơn.
- DNSCrypt là một giao thức cũ hơn, xác thực và mã hóa truy vấn giữa bạn và các trình phân giải hỗ trợ. Ngày nay nó ít phổ biến hơn nhưng vẫn được một số công cụ bảo vệ quyền riêng tư sử dụng.
DNS thuần so với DoH, DoT và DNS qua đường hầm VPN
| Phương pháp | Truyền tải / Cổng | Mã hóa | Ẩn truy vấn khỏi ISP | Ghi chú |
|---|---|---|---|---|
| DNS thuần | UDP/TCP 53 | Không | Không | Mặc định; ISP và bên quan sát trên đường dẫn đều thấy |
| DNS over HTTPS (DoH) | HTTPS 443 | Có | Có | Hòa lẫn với lưu lượng web; theo ứng dụng hoặc trình duyệt |
| DNS over TLS (DoT) | TLS 853 | Có | Có | Dễ triển khai toàn hệ điều hành/bộ định tuyến; cổng có thể bị chặn |
| DNSCrypt | UDP/TCP, tùy chỉnh | Có | Có | Ít dùng; xác thực trình phân giải |
| DNS qua đường hầm VPN | Bên trong đường hầm VPN | Có (qua đường hầm) | Có (khỏi ISP) | ISP không thấy gì; bạn tin tưởng trình phân giải của VPN |
DNS đã mã hóa ẩn truy vấn của bạn khỏi mạng, nhưng trình phân giải bạn chọn vẫn thấy chúng. Hãy chọn trình phân giải mà bạn thực sự tin tưởng — chuyển từ "ISP của tôi thấy mọi thứ" sang "một bên thứ ba ghi nhật ký thấy mọi thứ" không phải là một bước tiến. Để hỗ trợ đánh giá các nhà cung cấp, xem bài so sánh các công cụ bảo vệ quyền riêng tư của chúng tôi.
Một VPN đáng tin cậy nên định tuyến DNS như thế nào
Một VPN được xây dựng tốt không chỉ mã hóa dữ liệu của bạn — nó kiểm soát DNS từ đầu đến cuối. Cụ thể, nó nên:
- Vận hành trình phân giải DNS riêng bên trong đường hầm, để các truy vấn không bao giờ chạm tới ISP của bạn.
- Bắt buộc toàn bộ DNS đi qua đường hầm, ghi đè các máy chủ đã cấu hình trong hệ điều hành, không có cuộc đua "ai phản hồi nhanh nhất" làm rò rỉ ra cổng 53.
- Xử lý hoặc tắt IPv6 để các truy vấn IPv6 không thể thoát ra khỏi một đường hầm chỉ dành cho IPv4.
- Bao gồm một công tắc ngắt (kill switch) chặn toàn bộ lưu lượng — kể cả DNS — nếu đường hầm bị rớt, thay vì để mặc quay về trình phân giải của ISP.
Nếu một trình khách VPN không cung cấp bất kỳ bảo đảm nào trong số này, hãy coi nó là dễ rò rỉ cho đến khi bạn tự kiểm tra.
Cách kiểm tra rò rỉ DNS
Kiểm tra chỉ mất một phút và là cách duy nhất để chắc chắn. Hãy kết nối VPN (hoặc bật DNS đã mã hóa), rồi xem các IP trình phân giải nào trả lời truy vấn của bạn. Nếu bạn thấy trình phân giải của ISP hoặc một địa chỉ được định vị về khu vực nhà bạn thay vì của VPN, bạn đang bị rò rỉ. Việc một IP trình phân giải thực sự xác định vị trí chính xác đến đâu lại là một câu hỏi riêng — xem định vị địa lý qua IP chính xác đến mức nào.
Trên dòng lệnh, bạn có thể kiểm tra việc phân giải một cách trực tiếp:
# Một lượt tra cứu đi đến và trả về từ trình phân giải nào?
nslookup browserinsight.net
# Linux (systemd-resolved): hiển thị các máy chủ DNS đang thực sự dùng trên từng liên kết
resolvectl status
# Linux/macOS: xem trình phân giải đã trả lời cho một truy vấn (nhìn dòng SERVER:)
dig browserinsight.net
Hãy nhìn dòng Server: / SERVER:: đó phải là trình phân giải của VPN hoặc nhà cung cấp DNS đã mã hóa mà bạn chọn, không bao giờ là máy của ISP. Để có bức tranh phía trình duyệt về cách thế giới bên ngoài nhìn thấy bạn, hãy chạy kiểm tra IP của BrowserInsight trước và sau khi kết nối — IP và mạng được phát hiện sẽ thay đổi. Kiểm tra VPN/proxy giúp xác nhận lưu lượng của bạn đang thoát ra đúng nơi bạn mong đợi.
Các bước phòng ngừa cụ thể
Hệ điều hành
- Đặt một trình phân giải đáng tin cậy cho toàn hệ thống. Trên Windows 11, vào Cài đặt → Mạng → Gán máy chủ DNS để bật DNS đã mã hóa (DoH). Trên macOS, cài đặt một hồ sơ DNS hoặc dùng một trình khách bắt buộc DoH/DoT. Trên Linux, cấu hình
systemd-resolvedvớiDNSOverTLS=yesvà một mụcDNS=rõ ràng. - Tắt IPv6 nếu VPN của bạn không tạo đường hầm cho nó, hoặc dùng một VPN xử lý IPv6 rõ ràng, để bạn không rò rỉ qua ngăn xếp v6.
- Bật công tắc ngắt của VPN để khi đường hầm rớt không thể quay về DNS thuần.
Trình duyệt
- Bật DNS bảo mật / DNS over HTTPS trong cài đặt trình duyệt (Chrome: Quyền riêng tư và bảo mật → Bảo mật → Sử dụng DNS bảo mật; Firefox: Cài đặt → Quyền riêng tư & Bảo mật → DNS over HTTPS).
- Tắt WebRTC hoặc dùng một tiện ích mở rộng ngăn WebRTC làm lộ IP nội bộ và công khai — một dạng rò rỉ tách biệt với DNS nhưng cũng lộ liễu không kém.
- Tránh các tiện ích mở rộng âm thầm thay đổi cài đặt DNS hoặc proxy của bạn.
Bộ định tuyến
- Cấu hình DNS đã mã hóa ở cấp bộ định tuyến bảo vệ cùng lúc mọi thiết bị trong mạng, kể cả những thiết bị không thể chạy trình khách riêng. Đây cũng là biện pháp phòng thủ đáng tin cậy nhất trước việc ISP chiếm quyền DNS trong suốt, vì các truy vấn rời khỏi mạng của bạn khi đã được mã hóa.
Câu hỏi thường gặp
Dùng VPN có tự động ngăn rò rỉ DNS không?
Không. VPN chỉ ngăn rò rỉ DNS nếu trình khách của nó bắt buộc DNS đi qua đường hầm và xử lý IPv6. Nhiều rò rỉ xảy ra trong khi VPN đang kết nối vì hệ điều hành âm thầm tiếp tục dùng trình phân giải của ISP. Hãy luôn kiểm tra thay vì cho rằng mặc nhiên an toàn.
DNS đã mã hóa (DoH/DoT) có giống VPN không?
Không. DNS đã mã hóa chỉ bảo vệ việc tra cứu tên miền; nó ẩn khỏi mạng những trang nào bạn truy vấn nhưng không mã hóa phần còn lại của lưu lượng và không che IP của bạn khỏi các trang bạn truy cập. VPN làm điều sau. Hai thứ bổ trợ cho nhau, không thể thay thế cho nhau.
ISP của tôi có còn thấy việc duyệt web nếu tôi dùng DoH không?
Một khi đã được mã hóa bằng DoH, ISP của bạn không còn đọc được các truy vấn DNS nữa, nên không thể ghi nhật ký tên miền theo cách đó. Tuy nhiên, nó vẫn có thể suy ra một số đích đến từ các địa chỉ IP bạn kết nối và từ tên máy chủ (SNI) gửi đi trong quá trình bắt tay TLS. DoH chỉ đóng riêng kênh DNS.
Làm sao tôi biết mình đang thực sự dùng trình phân giải nào?
Chạy nslookup hoặc dig và đọc dòng Server:, hoặc dùng resolvectl status trên Linux. Để có cái nhìn bên ngoài trong nháy mắt, kiểm tra IP của BrowserInsight cho thấy IP và mạng mà thế giới bên ngoài nhìn thấy, vốn nên khớp với VPN của bạn — chứ không phải ISP nhà bạn — khi bạn đang kết nối.
Rò rỉ DNS làm lộ chính các truy vấn của bạn cho sai trình phân giải, nhưng việc phân giải DNS cũng có thể bị lật ngược lại để chống lại bạn: chủ website có thể gắn bí danh một subdomain trỏ tới máy chủ của bên theo dõi bằng một bản ghi CNAME, khiến phản hồi của bên theo dõi trông như bên thứ nhất. Xem CNAME Cloaking: Trình Theo Dõi Đội Lốt Bên Thứ Nhất để biết cơ chế này hoạt động ra sao và trình duyệt nào hiện đã nhận diện được nó.

